Package com.salesforce.ide.schemabrowser.ui.tableviewer

Source Code of com.salesforce.ide.schemabrowser.ui.tableviewer.CellLabelProvider

/*******************************************************************************
* Copyright (c) 2014 Salesforce.com, inc..
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/epl-v10.html
*
* Contributors:
*     Salesforce.com, inc. - initial API and implementation
******************************************************************************/
package com.salesforce.ide.schemabrowser.ui.tableviewer;

import javax.xml.namespace.QName;

import org.eclipse.jface.viewers.ITableLabelProvider;
import org.eclipse.jface.viewers.LabelProvider;
import org.eclipse.swt.graphics.Image;

import com.salesforce.ide.core.internal.utils.XmlConstants;
import com.sforce.ws.bind.XmlObject;

/**
*
* @author dcarroll
*/
public class CellLabelProvider extends LabelProvider implements ITableLabelProvider {

    /**
     * Element should be an sobject or XmlObject. We want the index of the field in the XmlObject
     *
     * @see org.eclipse.jface.viewers.ITableLabelProvider#getColumnText(java.lang.Object, int)
     */
    public String getColumnText(Object element, int columnIndex) {
        String result = "";
        if (((DataRow) element).getRecord() != null) {
            XmlObject field = (((DataRow) element).getRecord()).get(columnIndex);
            if (field.getXmlType() != null) {
                // This is an sobject or a queryResult
                QName xmlType = field.getXmlType();
                if ("sObject".equals(xmlType.getLocalPart())) {
                    result = "Parent " + (String) field.getChildren(XmlConstants.ELEM_TYPE).next().getValue();
                } else if (xmlType.getLocalPart().equals(XmlConstants.XMLTYPE_QUERY_RESULT)) {
                    result = "Child " + field.getName().getLocalPart() + " (" + field.getChild("size").getValue() + ")";
                }
            } else {
                result = (String) field.getValue();
            }
        } else {
            DataRow task = (DataRow) element;

            switch (columnIndex) {
            case 0: // COMPLETED_COLUMN
                break;
            case 1:
                result = task.getDescription();
                break;
            case 2:
                result = task.getOwner();
                break;
            case 3:
                result = task.getPercentComplete() + "";
                break;
            default:
                break;
            }
        }
        return result;
    }

    /**
     * @see org.eclipse.jface.viewers.ITableLabelProvider#getColumnImage(java.lang.Object, int)
     */
    public Image getColumnImage(Object element, int columnIndex) {
        return null;
    }
}
TOP

Related Classes of com.salesforce.ide.schemabrowser.ui.tableviewer.CellLabelProvider

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.