Example usage for org.eclipse.jface.viewers ITableLabelProvider getColumnText

List of usage examples for org.eclipse.jface.viewers ITableLabelProvider getColumnText

Introduction

In this page you can find the example usage for org.eclipse.jface.viewers ITableLabelProvider getColumnText.

Prototype

public String getColumnText(Object element, int columnIndex);

Source Link

Document

Returns the label text for the given column of the given element.

Usage

From source file:com.aptana.git.ui.internal.history.CommitGraphTable.java

License:Open Source License

private void doPaint(final Event event) {
    if (event.index == 0) {
        renderer.paint(event);//from  w  w w  .j a v a2  s.  co  m
        return;
    }

    final GitCommit c = (GitCommit) ((TableItem) event.item).getData();
    final ITableLabelProvider lbl = (ITableLabelProvider) getLabelProvider();
    final String txt = lbl.getColumnText(c, event.index);

    final Point textsz = event.gc.textExtent(txt);
    final int texty = (event.height - textsz.y) / 2;
    event.gc.drawString(txt, event.x, event.y + texty, true);
}

From source file:com.archimatetool.hammer.view.ValidatorViewer.java

License:Open Source License

private void sort(final int columnIndex) {
    setComparator(new ViewerComparator(Collator.getInstance()) {
        @Override/*w w  w. j  ava2 s  . c  o m*/
        public int compare(Viewer viewer, Object e1, Object e2) {
            if (e1 instanceof IIssueCategory && e2 instanceof IIssueCategory) {
                return 0;
            }

            ITableLabelProvider provider = (ITableLabelProvider) getLabelProvider();
            String s1 = provider.getColumnText(e1, columnIndex);
            String s2 = provider.getColumnText(e2, columnIndex);

            if (s1 == null) {
                s1 = ""; //$NON-NLS-1$
            }
            if (s2 == null) {
                s2 = ""; //$NON-NLS-1$
            }

            return columnSort[columnIndex] == ASCENDING ? getComparator().compare(s1, s2)
                    : getComparator().compare(s2, s1);
        }
    });
}

From source file:com.codeandme.tools.ui.TableExporter.java

License:Open Source License

/**
 * Retrieve all string representations for a table row.
 * //from ww w  . ja v  a  2 s.  co  m
 * @param element
 *            table element
 * @return data strings
 */
protected String[] getTextData(Object element) {
    String[] output = new String[fViewer.getTable().getColumnCount()];

    IBaseLabelProvider labelProvider = fViewer.getLabelProvider();
    ITableLabelProvider globalLabelProvider = null;
    if (labelProvider instanceof ITableLabelProvider)
        globalLabelProvider = (ITableLabelProvider) labelProvider;

    int[] order = fViewer.getTable().getColumnOrder();
    for (int columnIndex = 0; columnIndex < fViewer.getTable().getColumnCount(); columnIndex++) {
        String text = null;
        if (globalLabelProvider != null)
            text = globalLabelProvider.getColumnText(element, order[columnIndex]);

        else if (fViewer.getLabelProvider(columnIndex) instanceof ILabelProvider)
            text = ((ILabelProvider) fViewer.getLabelProvider(order[columnIndex])).getText(element);

        output[columnIndex] = text;
    }

    return output;
}

From source file:com.hangum.tadpole.engine.sql.util.tables.DefaultViewerSorter.java

License:Open Source License

@Override
public int compare(Viewer viewer, Object e1, Object e2) {
    TableViewer tableViewer = (TableViewer) viewer;
    ITableLabelProvider tlprov = (ITableLabelProvider) tableViewer.getLabelProvider();

    String name1 = tlprov.getColumnText(e1, propertyIndex);
    String name2 = tlprov.getColumnText(e2, propertyIndex);

    int prefix = getPrefix(viewer);

    if (isEmpty(name1)) {
        if (isEmpty(name2)) {
            return 0;
        } else {//from   ww  w. ja v  a  2  s  .  c  o m
            return prefix;
        }
    } else {
        if (isEmpty(name2)) {
            return prefix * -1;
        } else {
            COLUMN_TYPE type = getColumnType(propertyIndex);
            switch (type) {
            case Date:
                try {
                    Date date1 = dateToStr(name1);
                    Date date2 = dateToStr(name2);

                    Long long1 = date1.getTime();
                    Long long2 = date2.getTime();

                    return prefix * long1.compareTo(long2);
                } catch (Exception e) {
                    logger.error("Date column sort", e);
                }

            case String:
                return prefix * name1.compareTo(name2);
            case Long:
                try {
                    Long long1 = Long.parseLong(name1);
                    Long long2 = Long.parseLong(name2);

                    return prefix * long1.compareTo(long2);
                } catch (NumberFormatException nfe) {
                    logger.error("", nfe);
                }

                break;
            case Double:
                try {
                    Double double1 = Double.parseDouble(name1);
                    Double double2 = Double.parseDouble(name2);

                    return prefix * double1.compareTo(double2);
                } catch (NumberFormatException nfe) {
                    logger.error("", nfe);
                }

                break;
            case IP:
                if ("".equals(name1) || "".equals(name2)) {
                    System.out.println();
                }
                StringTokenizer st1 = new StringTokenizer(name1, ".");
                StringTokenizer st2 = new StringTokenizer(name2, ".");

                String s1, s2;
                while (st1.hasMoreTokens() && st2.hasMoreTokens()) {
                    int a = -1;
                    int b = -1;

                    s1 = st1.nextToken();
                    s2 = st2.nextToken();
                    try {
                        a = Integer.parseInt(s1);
                    } catch (Exception e) {
                    }
                    ;
                    try {
                        b = Integer.parseInt(s2);
                    } catch (Exception e) {
                    }
                    ;

                    if (a != -1 && b != -1) { //integer both
                        if (a == b)
                            continue;
                        return prefix * (a - b);
                    } else if (a == -1 && b == -1) { //not-integer both
                        int comp = s1.compareTo(s2);
                        if (comp == 0)
                            continue;

                        if ("*".equals(s1)) {
                            return prefix * 1;
                        } else if ("*".equals(s2)) {
                            return prefix * (-1);
                        } else {
                            return prefix * comp;
                        }
                    } else {
                        return prefix * (-1) * a;
                    }
                }

                return 0;
            }
        }
    }

    return prefix;
}

From source file:com.hangum.tadpole.rdb.core.viewers.object.comparator.DefaultComparator.java

License:Open Source License

@Override
public int compare(Viewer viewer, Object e1, Object e2) {

    TableViewer tableViewer = (TableViewer) viewer;
    ITableLabelProvider tlprov = (ITableLabelProvider) tableViewer.getLabelProvider();

    String e1Val = tlprov.getColumnText(e1, propertyIndex) == null ? ""
            : tlprov.getColumnText(e1, propertyIndex);
    String e2Val = tlprov.getColumnText(e2, propertyIndex) == null ? ""
            : tlprov.getColumnText(e2, propertyIndex);

    int rc = NullSafeComparator.compare(e1Val, e2Val);
    if (direction == DESCENDING) {
        rc = -rc;/*from  w w  w .j  av a  2 s  .c o  m*/
    }
    return rc;
}

From source file:com.mentor.nucleus.bp.model.compare.ModelMergeProcessor.java

License:Open Source License

public static boolean merge(TreeDifferencer differencer, TreeDifference difference, boolean rightToLeft,
        ITreeDifferencerProvider contentProvider, ITableLabelProvider labelProvider,
        Ooaofooa destinationModelRoot) throws IOException {
    // this is a removal
    if (difference.getElement() instanceof EmptyElement
            && difference.getMatchingDifference().getElement() instanceof NonRootModelElementComparable) {
        NonRootModelElementComparable localComparable = (NonRootModelElementComparable) difference
                .getMatchingDifference().getElement();
        disposeElement(localComparable);
        return true;
    }//from   w  w w  .j ava2 s.  c  om
    Object diffElement = difference.getElement();
    // if the difference is name based
    if (difference.getType() == TreeDifference.NAME_DIFFERENCE) {
        // find the child's difference that actually effects the
        // element name
        String text = labelProvider.getColumnText(diffElement, 0);
        difference = getDifferenceForNameChange(contentProvider, diffElement, text, rightToLeft, differencer);
        if (difference == null) {
            return false;
        }
        diffElement = difference.getElement();
    }
    if (diffElement instanceof NonRootModelElementComparable && difference.getElement() != null
            && difference.getMatchingDifference().getElement() != null
            && difference.getLocation() != difference.getMatchingDifference().getLocation()
            && !(difference.getMatchingDifference().getElement() instanceof EmptyElement)) {
        // this is a positional change
        return handlePositionChange(difference, contentProvider);
    }
    if (diffElement instanceof NonRootModelElementComparable) {
        // do not allow the merge if there is no parent
        // this is a case where the left element is null and
        // merging would result in the creation of a new element
        // This new element could however result in a case where
        // a duplicate element is created (rename) which the tool
        // currently does not behave well with
        if (difference.getElement() == null && difference.getMatchingDifference().getParent() == null) {
            return false;
        }
        return handleNewElement(difference, contentProvider, diffElement, destinationModelRoot, differencer,
                rightToLeft);
    } else if (difference.getElement() instanceof ObjectElementComparable) {
        // just copy the value over, but create deltas so that they
        // can be applied to the real local copy
        ObjectElementComparable comparable = (ObjectElementComparable) difference.getElement();
        ObjectElementComparable localComparable = (ObjectElementComparable) difference.getMatchingDifference()
                .getElement();
        ObjectElement element = (ObjectElement) comparable.getRealElement();
        ObjectElement localElement = (ObjectElement) localComparable.getRealElement();
        if (element.getType() == ObjectElement.ATTRIBUTE_ELEMENT) {
            return handleAttributeChange(localElement, element);
        } else if (element.getType() == ObjectElement.REFERENTIAL_ATTRIBUTE_ELEMENT) {
            handleReferential(element, localElement, contentProvider, destinationModelRoot, differencer,
                    rightToLeft, difference);
            return true;
        }
    }
    return false;
}

From source file:com.mentor.nucleus.bp.ui.sem.pages.SEMEditorPage.java

License:Open Source License

private void createColumnForEvent(StateMachineEvent_c event) {
    TableViewerColumn column = new TableViewerColumn(fTableViewer, SWT.CENTER);
    column.setLabelProvider(new CellLabelProvider() {

        @Override//from  w ww  .ja  v a  2 s. c om
        public void update(ViewerCell cell) {
            ITableLabelProvider provider = (ITableLabelProvider) fTableViewer.getLabelProvider();
            cell.setText(provider.getColumnText(cell.getElement(), cell.getColumnIndex()));
            cell.setImage(provider.getColumnImage(cell.getElement(), cell.getColumnIndex()));
        }

    });
    column.setEditingSupport(new SEMEditingSupport(fTableViewer, column.getColumn()));
    column.getColumn().setData(event);
    column.getColumn().setText(event.Get_name());
    column.getColumn().pack();
}

From source file:com.microsoft.tfs.client.common.ui.framework.helper.TableViewerSorter.java

License:Open Source License

/**
 * Performs a default column-wise comparison of two elements. This method is
 * called after checking for any {@link Comparator} set through
 * {@link #setComparator(int, Comparator)}. Subclasses may override. The
 * base class implementation uses this sorter's {@link Collator} to compare
 * the column text for each element provided by the viewer's label provider.
 *
 * @param columnIndex//from  ww w.  j  av a 2 s .  c  om
 *        the index of the column being sorted by
 * @param viewer
 *        the {@link Viewer} we are sorting for
 * @param e1
 *        the first element
 * @param e2
 *        the second element
 * @return a comparison value
 */
protected int defaultColumnCompare(final int columnIndex, final Viewer viewer, final Object e1,
        final Object e2) {
    final ITableLabelProvider labelProvider = (ITableLabelProvider) ((StructuredViewer) viewer)
            .getLabelProvider();

    String s1 = labelProvider.getColumnText(e1, columnIndex);
    String s2 = labelProvider.getColumnText(e2, columnIndex);

    if (s1 == null) {
        s1 = ""; //$NON-NLS-1$
    }
    if (s2 == null) {
        s2 = ""; //$NON-NLS-1$
    }

    return getCollator().compare(s1, s2);
}

From source file:com.netxforge.netxstudio.screens.LabelTextTableColumnFilter.java

License:Open Source License

private boolean filterObjectOnText(Viewer viewer, Object element) {
    if (searchString == null || searchString.length() == 0) {
        return true;
    }// www .j  a  va  2 s .c  o m
    boolean result = true;
    // Get the n'th column matching the provided column.
    if (viewer instanceof TableViewer) {
        Table table = ((TableViewer) viewer).getTable();
        int targetColumnIndex = table.indexOf(column);

        // Blindly cast to ITableLabelProvider, we could also use
        // EditingSupport instead to get the edited
        // value.
        ITableLabelProvider labelProvider = (ITableLabelProvider) ((TableViewer) viewer).getLabelProvider();
        String match = labelProvider.getColumnText(element, targetColumnIndex);

        try {
            result = match.matches(searchString);
            if (result) {
                System.out.println("Searchsstring: match for: " + searchString + " on: " + match);
            }
        } catch (PatternSyntaxException pse) {
            pse.printStackTrace();
        }
    }
    return result;
}

From source file:com.nokia.trace.eventview.TraceEventView.java

License:Open Source License

/**
 * Creates sort listener/*  w  w w  .j av  a 2  s .c  o m*/
 * 
 * @param tableWidget
 *            table widget
 * @param column
 *            column to create sort listener for
 * @param index
 *            column index
 */
private void createColumnSorter(final Table tableWidget, final TableColumn column, final int index) {

    TableColumnSorter cSorter = new TableColumnSorter(table, column) {

        @Override
        protected int doCompare(Viewer v, Object o1, Object o2) {
            ITableLabelProvider lp = ((ITableLabelProvider) table.getLabelProvider());
            String t1 = lp.getColumnText(o1, index);
            String t2 = lp.getColumnText(o2, index);
            return t1.compareTo(t2);
        }
    };

    // Set no sorter as initial state
    cSorter.setSorter(cSorter, TableColumnSorter.NONE);
}