Example usage for org.eclipse.jface.viewers TableViewer getLabelProvider

List of usage examples for org.eclipse.jface.viewers TableViewer getLabelProvider

Introduction

In this page you can find the example usage for org.eclipse.jface.viewers TableViewer getLabelProvider.

Prototype

@Override
public IBaseLabelProvider getLabelProvider() 

Source Link

Document

The table viewer implementation of this Viewer framework method returns the label provider, which in the case of table viewers will be an instance of either ITableLabelProvider or ILabelProvider.

Usage

From source file:org.eclipse.tcf.te.tcf.ui.controls.PeerAttributesTablePart.java

License:Open Source License

@Override
protected void configureTableViewer(final TableViewer viewer) {
    super.configureTableViewer(viewer);

    if (viewer != null && viewer.getTable() != null && !viewer.getTable().isDisposed()) {
        Table table = viewer.getTable();

        // Create the table columns
        new TableColumn(table, SWT.NONE).setText(Messages.PeerAttributesTablePart_column_name);
        new TableColumn(table, SWT.NONE).setText(Messages.PeerAttributesTablePart_column_value);

        // Create and configure the table layout
        TableLayout tableLayout = new TableLayout();
        tableLayout.addColumnData(new ColumnWeightData(40, true));
        tableLayout.addColumnData(new ColumnWeightData(60, true));
        table.setLayout(tableLayout);// www.  ja v  a2  s  .  c  o  m

        table.setHeaderVisible(true);
        table.setLinesVisible(true);

        // Setup the cell editors
        viewer.setColumnProperties(new String[] { Messages.PeerAttributesTablePart_column_name,
                Messages.PeerAttributesTablePart_column_value });

        CellEditor[] cellEditors = new CellEditor[viewer.getColumnProperties().length];
        cellEditors[0] = new TextCellEditor(table);
        ((Text) cellEditors[0].getControl()).setTextLimit(250);
        cellEditors[1] = new TextCellEditor(table);
        ((Text) cellEditors[1].getControl()).setTextLimit(250);

        viewer.setCellEditors(cellEditors);
        viewer.setCellModifier(new ICellModifier() {
            @Override
            public boolean canModify(Object element, String property) {
                return element instanceof TableNode && !isReadOnly();
            }

            @Override
            public Object getValue(Object element, String property) {
                String value = null;
                if (element instanceof TableNode) {
                    if (Messages.PeerAttributesTablePart_column_name.equals(property)) {
                        value = ((TableNode) element).name;
                    } else if (Messages.PeerAttributesTablePart_column_value.equals(property)) {
                        value = ((TableNode) element).value;
                    }
                }
                return value;
            }

            @Override
            public void modify(Object element, String property, Object value) {
                if (element instanceof TableItem)
                    element = ((TableItem) element).getData();
                if (element instanceof TableNode) {
                    if (Messages.PeerAttributesTablePart_column_name.equals(property)) {
                        ((TableNode) element).name = value != null ? value.toString() : ""; //$NON-NLS-1$
                    } else if (Messages.PeerAttributesTablePart_column_value.equals(property)) {
                        ((TableNode) element).value = value != null ? value.toString() : ""; //$NON-NLS-1$
                    }
                    viewer.setInput(nodes);
                    onTableModified();
                }
            }
        });

        // Create and set content and label provider
        viewer.setContentProvider(new ArrayContentProvider());
        viewer.setLabelProvider(new TableLabelProvider());

        // Configure the comparator
        viewer.setComparator(
                new TableViewerComparator(viewer, (ITableLabelProvider) viewer.getLabelProvider()));

        // Attach listeners
        viewer.addSelectionChangedListener(new ISelectionChangedListener() {
            @Override
            public void selectionChanged(SelectionChangedEvent event) {
                updateButtons();
            }
        });
    }
}

From source file:org.eclipse.tm.te.tcf.ui.internal.editor.pages.NodePropertiesEditorPage.java

License:Open Source License

/**
 * Creates and returns a new node properties table control.
 *
 * @return The new node properties table control.
 *//*  w w  w .j a  va  2s.  c o m*/
protected NodePropertiesTableControl doCreateNodePropertiesTableControl() {
    return new NodePropertiesTableControl(this) {
        /* (non-Javadoc)
         * @see org.eclipse.tm.te.tcf.vtl.ui.datasource.controls.tables.NodePropertiesTableControl#doCreateTableViewerContentProvider(org.eclipse.jface.viewers.TableViewer)
         */
        @Override
        protected IStructuredContentProvider doCreateTableViewerContentProvider(TableViewer viewer) {
            return new NodePropertiesContentProvider(true);
        }

        /* (non-Javadoc)
         * @see org.eclipse.tm.te.tcf.vtl.ui.datasource.controls.tables.properties.NodePropertiesTableControl#doCreateTableViewerLabelProvider(org.eclipse.jface.viewers.TableViewer)
         */
        @Override
        protected ITableLabelProvider doCreateTableViewerLabelProvider(TableViewer viewer) {
            return new NodePropertiesLabelProvider(viewer);
        }

        /* (non-Javadoc)
         * @see org.eclipse.tm.te.tcf.vtl.ui.datasource.controls.tables.NodePropertiesTableControl#doCreateTableViewerComparator(org.eclipse.jface.viewers.TableViewer)
         */
        @Override
        protected ViewerComparator doCreateTableViewerComparator(TableViewer viewer) {
            return new NodePropertiesViewerComparator(viewer, (ITableLabelProvider) viewer.getLabelProvider());
        }
    };
}

From source file:org.eclipse.ui.internal.about.AboutPluginsPage.java

License:Open Source License

public int compare(Viewer viewer, Object e1, Object e2) {
    if (sortColumn == 0 && e1 instanceof AboutBundleData && e2 instanceof AboutBundleData) {
        AboutBundleData d1 = (AboutBundleData) e1;
        AboutBundleData d2 = (AboutBundleData) e2;
        int diff = getSignedSortValue(d1) - getSignedSortValue(d2);
        // If values are different, or there is no secondary column defined,
        // we are done
        if (diff != 0 || lastSortColumn == 0)
            return ascending ? diff : -diff;
        // try a secondary sort
        if (viewer instanceof TableViewer) {
            TableViewer tableViewer = (TableViewer) viewer;
            IBaseLabelProvider baseLabel = tableViewer.getLabelProvider();
            if (baseLabel instanceof ITableLabelProvider) {
                ITableLabelProvider tableProvider = (ITableLabelProvider) baseLabel;
                String e1p = tableProvider.getColumnText(e1, lastSortColumn);
                String e2p = tableProvider.getColumnText(e2, lastSortColumn);
                int result = getComparator().compare(e1p, e2p);
                return lastAscending ? result : (-1) * result;
            }/*from w ww .j ava 2  s  .c o  m*/
        }
        // we couldn't determine a secondary sort, call it equal
        return 0;
    }
    if (viewer instanceof TableViewer) {
        TableViewer tableViewer = (TableViewer) viewer;
        IBaseLabelProvider baseLabel = tableViewer.getLabelProvider();
        if (baseLabel instanceof ITableLabelProvider) {
            ITableLabelProvider tableProvider = (ITableLabelProvider) baseLabel;
            String e1p = tableProvider.getColumnText(e1, sortColumn);
            String e2p = tableProvider.getColumnText(e2, sortColumn);
            int result = getComparator().compare(e1p, e2p);
            // Secondary column sort
            if (result == 0) {
                if (lastSortColumn != 0) {
                    e1p = tableProvider.getColumnText(e1, lastSortColumn);
                    e2p = tableProvider.getColumnText(e2, lastSortColumn);
                    result = getComparator().compare(e1p, e2p);
                    return lastAscending ? result : (-1) * result;
                } // secondary sort is by column 0
                if (e1 instanceof AboutBundleData && e2 instanceof AboutBundleData) {
                    AboutBundleData d1 = (AboutBundleData) e1;
                    AboutBundleData d2 = (AboutBundleData) e2;
                    int diff = getSignedSortValue(d1) - getSignedSortValue(d2);
                    return lastAscending ? diff : -diff;
                }
            }
            // primary column sort
            return ascending ? result : (-1) * result;
        }
    }

    return super.compare(viewer, e1, e2);
}

From source file:org.eclipse.ui.internal.dialogs.AboutPluginsDialog.java

License:Open Source License

public int compare(Viewer viewer, Object e1, Object e2) {
    if (sortColumn == 0 && e1 instanceof AboutBundleData && e2 instanceof AboutBundleData) {
        AboutBundleData d1 = (AboutBundleData) e1;
        AboutBundleData d2 = (AboutBundleData) e2;
        int diff = getSignedSortValue(d1) - getSignedSortValue(d2);
        return ascending ? diff : -diff;
    }//w  w w .jav a  2s.c  o  m
    if (viewer instanceof TableViewer) {
        TableViewer tableViewer = (TableViewer) viewer;
        IBaseLabelProvider baseLabel = tableViewer.getLabelProvider();
        if (baseLabel instanceof ITableLabelProvider) {
            ITableLabelProvider tableProvider = (ITableLabelProvider) baseLabel;
            String e1p = tableProvider.getColumnText(e1, sortColumn);
            String e2p = tableProvider.getColumnText(e2, sortColumn);
            int result = getComparator().compare(e1p, e2p);
            return ascending ? result : (-1) * result;
        }
    }

    return super.compare(viewer, e1, e2);
}

From source file:org.jcryptool.crypto.xml.ui.tests.verify.SignatureViewTest.java

License:Open Source License

public void testView() {
    TableViewer viewer = testView.getSignaturesViewer();
    assertNotNull(viewer);/*from w w  w  .j av  a2s.c o m*/

    ArrayContentProvider contentProvider = (ArrayContentProvider) viewer.getContentProvider();
    assertNotNull(contentProvider);

    SignatureLabelProvider labelProvider = (SignatureLabelProvider) viewer.getLabelProvider();
    assertNotNull(labelProvider);

    assertEquals(4, viewer.getTable().getColumnCount());

    assertEquals("0 Signatures: 0 valid, 0 invalid, 0 unknown", testView.getContentDescription());
}

From source file:org.key_project.util.eclipse.swt.SWTUtil.java

License:Open Source License

/**
 * <p>//from   w ww  .j a v  a  2s  .  c  om
 * Makes the columns in the given {@link TableViewer} sortable.
 * </p>
 * <p>
 * <b>Attention:</b> It is required to call this method once after
 * the {@link TableViewer} is filled with the available columns.
 * </p>
 * @param viewer The {@link TableViewer} to make his columns sortable.
 */
public static void makeTableColumnsSortable(final TableViewer viewer) {
    if (viewer != null && !viewer.getTable().isDisposed()) {
        final Table table = viewer.getTable();
        Listener sortListener = new Listener() {
            public void handleEvent(Event e) {
                // determine new sort column and direction
                TableColumn sortColumn = table.getSortColumn();
                TableColumn currentColumn = (TableColumn) e.widget;
                int dir = table.getSortDirection();
                if (sortColumn == currentColumn) {
                    if (dir == SWT.UP) {
                        dir = SWT.DOWN;
                    } else if (dir == SWT.DOWN) {
                        dir = SWT.NONE;
                    } else {
                        dir = SWT.UP;
                    }
                } else {
                    table.setSortColumn(currentColumn);
                    dir = SWT.UP;
                }
                table.setSortDirection(dir);
                final int columnIndex = table.indexOf(currentColumn);
                final int sortDirection = dir;
                // sort the data based on column and direction
                viewer.setComparator(new ViewerComparator() {
                    @Override
                    public int compare(Viewer viewerComp, Object e1, Object e2) {
                        if (sortDirection == SWT.UP || sortDirection == SWT.DOWN) {
                            Assert.isTrue(viewer.getLabelProvider() instanceof ITableLabelProvider);
                            ITableLabelProvider provider = (ITableLabelProvider) viewer.getLabelProvider();
                            String e1value = provider.getColumnText(e1, columnIndex);
                            String e2value = provider.getColumnText(e2, columnIndex);
                            int comparison = e1value.compareTo(e2value);
                            if (sortDirection == SWT.UP) {
                                return comparison;
                            } else {
                                return comparison * -1;
                            }
                        } else {
                            return 0; // Original order.
                        }
                    }
                });
            }
        };
        TableColumn[] columns = table.getColumns();
        for (TableColumn column : columns) {
            column.addListener(SWT.Selection, sortListener);
        }
    }
}

From source file:org.multicore_association.shim.edit.gui.swt.viewer.ShimObjectTableFilter.java

License:MIT License

/**
 * @see org.eclipse.jface.viewers.ViewerFilter#select(org.eclipse.jface.viewers.Viewer,
 *      java.lang.Object, java.lang.Object)
 *//*from w  w w. j  a  v  a  2  s  .com*/
@Override
public boolean select(Viewer viewer, Object parentElement, Object element) {
    if (searchString == null || searchString.isEmpty()) {
        return true;
    }

    List<Integer> searchIndexes = new ArrayList<Integer>();

    TableViewer tableViewer = (TableViewer) viewer;
    TableColumn[] columns = tableViewer.getTable().getColumns();
    for (int i = 0; i < columns.length; i++) {
        if (searchFiled != null && !searchFiled.equals(columns[i].getText())) {
            continue;
        }
        searchIndexes.add(i);
    }

    ITableLabelProvider labelProvider = (ITableLabelProvider) tableViewer.getLabelProvider();

    ShimObject obj = (ShimObject) element;
    for (Integer searchIndex : searchIndexes) {
        String columnText = labelProvider.getColumnText(obj, searchIndex);
        if (isMatch(columnText)) {
            return true;
        }
    }

    return false;
}

From source file:org.seasar.uruma.renderer.impl.TableColumnRenderer.java

License:Apache License

private void setupColumnMap(final TableColumnComponent uiComponent, final TableColumn widget) {
    int columnNo = uiComponent.columnNo;
    String id = uiComponent.getId();
    String parentId = uiComponent.getParent().getId();

    PartContext context = getContext();// w w  w  .j  av a 2s  .co  m
    WidgetHandle parentHandle = context.getWidgetHandle(parentId);
    if (parentHandle != null && parentHandle.instanceOf(TableViewer.class)) {
        TableViewer viewer = parentHandle.<TableViewer>getCastWidget();
        IBaseLabelProvider baseLabelProvider = viewer.getLabelProvider();

        if (baseLabelProvider instanceof GenericTableLabelProvider) {
            GenericTableLabelProvider provider = (GenericTableLabelProvider) baseLabelProvider;
            provider.addColumnMap(columnNo, id);
        }
    }
}

From source file:org.thanlwinsoft.languagetest.eclipse.editors.TestItemSorter.java

License:Open Source License

public int compare(Viewer viewer, Object e1, Object e2) {
    TestItemType i1 = null;//from  w  ww.jav  a2  s. c  om
    TestItemType i2 = null;
    if (e1 instanceof TestItemType && e2 instanceof TestItemType) {
        i1 = (TestItemType) e1;
        i2 = (TestItemType) e2;
    }
    if (e1 instanceof TestItemMatch && e2 instanceof TestItemMatch) {
        i1 = ((TestItemMatch) e1).getTestItem();
        i2 = ((TestItemMatch) e2).getTestItem();
    }
    if (i1 != null && i2 != null) {
        if (column.equals(TestItemEditor.CREATION_DATE)) {
            if (i1.getCreationTime() < i2.getCreationTime())
                return -sortFactor;
            else if (i1.getCreationTime() == i2.getCreationTime())
                return 0;
            return sortFactor;
        }
        if (viewer instanceof TableViewer && columnIndex > -1) {
            TableViewer tv = (TableViewer) viewer;
            ITableLabelProvider tlp = (ITableLabelProvider) tv.getLabelProvider();
            String s1 = tlp.getColumnText(e1, columnIndex);
            String s2 = tlp.getColumnText(e2, columnIndex);
            if (s1 == null)
                s1 = "";
            if (s2 == null)
                s2 = "";
            if (icuCollator != null) {
                return sortFactor * icuCollator.compare(s1, s2);
            }
            return sortFactor * super.compare(null, e1, e2);
        }
    }
    return sortFactor * super.compare(viewer, e1, e2);
}

From source file:SEURAT.search.SearchResultPage_IconTableSorter.java

License:Open Source License

/**
 * @param pSortColumn the id of the table column to sort on
 * @param pViewer the table viewer which will be sorted
 *///from  w  ww.jav  a2  s  .com
public SearchResultPage_IconTableSorter(int pSortColumn, TableViewer pViewer) {
    super();
    m_SortColumn = pSortColumn;
    m_TableViewer = pViewer;
    m_TableLabelProvider = ((ITableLabelProvider) pViewer.getLabelProvider());

    // Initialize To True, Then When Activated For The First Time Direction
    // Will Not Be Reversed
    m_ReverseDirection = true;
}