Example usage for org.eclipse.jface.viewers ColumnLabelProvider getText

List of usage examples for org.eclipse.jface.viewers ColumnLabelProvider getText

Introduction

In this page you can find the example usage for org.eclipse.jface.viewers ColumnLabelProvider getText.

Prototype

@Override
    public String getText(Object element) 

Source Link

Usage

From source file:com.arm.cmsis.pack.installer.ui.views.BoardsView.java

License:Open Source License

@Override
public void createPartControl(Composite parent) {

    PatternFilter filter = new PatternFilter() {
        @Override/*w w  w.j  ava  2  s.c  om*/
        protected boolean isLeafMatch(final Viewer viewer, final Object element) {
            TreeViewer treeViewer = (TreeViewer) viewer;
            boolean isMatch = false;
            ColumnLabelProvider labelProvider = (ColumnLabelProvider) treeViewer.getLabelProvider(0);
            String labelText = labelProvider.getText(element);
            isMatch |= wordMatches(labelText);
            return isMatch;
        }
    };
    filter.setIncludeLeadingWildcard(true);
    fTree = new FilteredTree(parent, SWT.FULL_SELECTION | SWT.BORDER | SWT.H_SCROLL | SWT.V_SCROLL, filter,
            true);
    fTree.setInitialText(Messages.BoardsView_SearchBoard);
    fViewer = fTree.getViewer();
    fViewer.getTree().setLinesVisible(true);
    fViewer.getTree().setHeaderVisible(true);

    TreeViewerColumn column0 = new TreeViewerColumn(fViewer, SWT.LEFT);
    column0.getColumn().setText(CmsisConstants.BOARD_TITLE);
    column0.getColumn().setWidth(200);
    column0.setLabelProvider(new BoardsViewLabelProvider());

    TreeViewerColumn column1 = new TreeViewerColumn(fViewer, SWT.LEFT);
    column1.getColumn().setText(CmsisConstants.SUMMARY_TITLE);
    column1.getColumn().setWidth(300);
    fColumnAdvisor = new BoardsViewColumnAdvisor(fViewer);
    column1.setLabelProvider(new AdvisedCellLabelProvider(fColumnAdvisor, COLURL));

    fViewer.setContentProvider(new BoardViewContentProvider());
    fViewer.setComparator(new BoardTreeColumnComparator(fViewer, fColumnAdvisor));
    fViewer.setAutoExpandLevel(2);
    refresh();

    ColumnViewerToolTipSupport.enableFor(fViewer);

    // Create the help context id for the viewer's control
    PlatformUI.getWorkbench().getHelpSystem().setHelp(fViewer.getControl(), IHelpContextIds.BOARDS_VIEW);

    getSite().setSelectionProvider(fViewer);

    makeActions();
    hookContextMenu();
    hookDoubleClickAction();
    contributeToActionBars();

    CpInstallerPlugInUI.registerViewPart(this);

    CpPlugIn.addRteListener(this);
}

From source file:com.arm.cmsis.pack.installer.ui.views.DevicesView.java

License:Open Source License

@Override
public void createPartControl(Composite parent) {

    PatternFilter filter = new PatternFilter() {
        @Override//w  w w .j a va2 s.com
        protected boolean isLeafMatch(final Viewer viewer, final Object element) {
            TreeViewer treeViewer = (TreeViewer) viewer;
            boolean isMatch = false;
            ColumnLabelProvider labelProvider = (ColumnLabelProvider) treeViewer.getLabelProvider(0);
            String labelText = labelProvider.getText(element);
            isMatch |= wordMatches(labelText);
            return isMatch;
        }
    };
    filter.setIncludeLeadingWildcard(true);
    fTree = new FilteredTree(parent, SWT.FULL_SELECTION | SWT.BORDER | SWT.H_SCROLL | SWT.V_SCROLL, filter,
            true);
    fTree.setInitialText(Messages.DevicesView_SearchDevice);
    fViewer = fTree.getViewer();
    fViewer.getTree().setLinesVisible(true);
    fViewer.getTree().setHeaderVisible(true);

    TreeViewerColumn column0 = new TreeViewerColumn(fViewer, SWT.LEFT);
    column0.getColumn().setText(CmsisConstants.DEVICE_TITLE);
    column0.getColumn().setWidth(200);
    column0.setLabelProvider(new DevicesViewLabelProvider());

    TreeViewerColumn column1 = new TreeViewerColumn(fViewer, SWT.LEFT);
    column1.getColumn().setText(CmsisConstants.SUMMARY_TITLE);
    column1.getColumn().setWidth(300);
    fColumnAdvisor = new DevicesViewColumnAdvisor(fViewer);
    column1.setLabelProvider(new AdvisedCellLabelProvider(fColumnAdvisor, COLURL));

    fViewer.setContentProvider(new DeviceViewContentProvider());
    fViewer.setComparator(new DeviceTreeColumnComparator(fViewer, fColumnAdvisor));
    fViewer.setAutoExpandLevel(2);
    refresh();

    ColumnViewerToolTipSupport.enableFor(fViewer);

    // Create the help context id for the viewer's control
    PlatformUI.getWorkbench().getHelpSystem().setHelp(fViewer.getControl(), IHelpContextIds.DEVICES_VIEW);

    getSite().setSelectionProvider(fViewer);

    makeActions();
    hookContextMenu();
    hookDoubleClickAction();
    contributeToActionBars();

    CpInstallerPlugInUI.registerViewPart(this);

    CpPlugIn.addRteListener(this);
}

From source file:com.arm.cmsis.pack.installer.ui.views.ExamplesView.java

License:Open Source License

@Override
public void createPartControl(Composite parent) {
    fPacksExamplesViewFilter = PacksExamplesViewFilter.getInstance();
    PatternFilter patternFilter = new PatternFilter() {
        @Override/*  w w w  . ja  v a2 s . co m*/
        protected boolean isLeafMatch(final Viewer viewer, final Object element) {
            TreeViewer treeViewer = (TreeViewer) viewer;
            boolean isMatch = false;
            ColumnLabelProvider labelProvider = (ColumnLabelProvider) treeViewer.getLabelProvider(0);
            String labelText = labelProvider.getText(element);
            isMatch |= wordMatches(labelText);
            return isMatch;
        }
    };
    patternFilter.setIncludeLeadingWildcard(true);
    fExamplesViewFilters = new ViewerFilter[] { patternFilter, fPacksExamplesViewFilter };

    fTree = new FilteredTree(parent, SWT.FULL_SELECTION | SWT.BORDER | SWT.H_SCROLL | SWT.V_SCROLL,
            patternFilter, true);
    fTree.setInitialText(Messages.ExamplesView_SearchExample);
    fViewer = fTree.getViewer();
    Tree tree = fViewer.getTree();
    tree.setHeaderVisible(true);
    tree.setLinesVisible(true);

    // ------ Start Setting ALL Columns for the Examples View
    // ------ First Column
    TreeViewerColumn column0 = new TreeViewerColumn(fViewer, SWT.LEFT);
    tree.setLinesVisible(true);
    column0.getColumn().setText(CmsisConstants.EXAMPLE_TITLE);
    column0.getColumn().setWidth(300);
    column0.setLabelProvider(new ColumnLabelProvider() {

        @Override
        public String getText(Object element) {
            ICpExample e = ((IRteExampleItem) element).getExample();

            return e.getId();
        }

        @Override
        public String getToolTipText(Object element) {
            ICpExample e = ((IRteExampleItem) element).getExample();

            return constructExampleTooltipText(e);
        }
    });

    // ------ Second Column
    TreeViewerColumn column1 = new TreeViewerColumn(fViewer, SWT.LEFT);
    column1.getColumn().setText(CmsisConstants.ACTION_TITLE);
    column1.getColumn().setWidth(90);
    fColumnAdvisor = new ExamplesViewColumnAdvisor(fViewer);
    column1.setLabelProvider(new AdvisedCellLabelProvider(fColumnAdvisor, COLBUTTON));

    // ------ Third Column
    TreeViewerColumn column2 = new TreeViewerColumn(fViewer, SWT.LEFT);
    column2.getColumn().setText(CmsisConstants.DESCRIPTION_TITLE);
    column2.getColumn().setWidth(400);
    column2.setLabelProvider(new ColumnLabelProvider() {

        @Override
        public String getText(Object obj) {
            IRteExampleItem example = getRteExampleItem(obj);
            if (example != null) {
                return example.getExample().getDescription();
            }
            return null;
        }
    });
    // ------ End Setting ALL Columns for the Examples View

    fViewer.setContentProvider(new TreeObjectContentProvider());
    fViewer.setComparator(new ExampleTreeColumnComparator(fViewer, fColumnAdvisor));
    refresh();

    ColumnViewerToolTipSupport.enableFor(fViewer);

    // Create the help context id for the viewer's control
    PlatformUI.getWorkbench().getHelpSystem().setHelp(fViewer.getControl(), IHelpContextIds.EXAMPLES_VIEW);

    getSite().setSelectionProvider(fViewer);

    hookViewSelection();

    makeActions();
    contributeToActionBars();

    CpInstallerPlugInUI.registerViewPart(this);

    fViewer.setFilters(fExamplesViewFilters);

    CpPlugIn.addRteListener(this);
}

From source file:com.arm.cmsis.pack.installer.ui.views.PacksView.java

License:Open Source License

@Override
public void createPartControl(Composite parent) {
    fPacksExamplesViewFilter = PacksExamplesViewFilter.getInstance();
    PatternFilter patternFilter = new PatternFilter() {
        @Override/*from   w w  w  . j ava2 s .  c  om*/
        protected boolean isLeafMatch(final Viewer viewer, final Object element) {
            TreeViewer treeViewer = (TreeViewer) viewer;
            boolean isMatch = false;
            ColumnLabelProvider labelProvider = (ColumnLabelProvider) treeViewer.getLabelProvider(0);
            String labelText = labelProvider.getText(element);
            isMatch |= wordMatches(labelText);
            return isMatch;
        }
    };
    patternFilter.setIncludeLeadingWildcard(true);
    fPacksViewFilters = new ViewerFilter[] { patternFilter, fPacksExamplesViewFilter };

    fTree = new FilteredTree(parent, SWT.FULL_SELECTION | SWT.BORDER | SWT.H_SCROLL | SWT.V_SCROLL,
            patternFilter, true);
    fTree.setInitialText(Messages.PacksView_SearchPack);
    fViewer = fTree.getViewer();
    Tree tree = fViewer.getTree();
    tree.setHeaderVisible(true);
    tree.setLinesVisible(true);

    //------ Start Setting ALL Columns for the Packs View
    //------ First Column
    TreeViewerColumn column0 = new TreeViewerColumn(fViewer, SWT.LEFT);
    column0.getColumn().setText(CmsisConstants.PACK_TITLE);
    column0.getColumn().setWidth(250);
    column0.setLabelProvider(fColumnLabelProviderWithImage);

    //------ Second Column
    TreeViewerColumn column1 = new TreeViewerColumn(fViewer, SWT.LEFT);
    column1.getColumn().setText(CmsisConstants.ACTION_TITLE);
    column1.getColumn().setWidth(90);
    fColumnAdvisor = new PacksViewColumnAdvisor(fViewer);
    column1.setLabelProvider(new AdvisedCellLabelProvider(fColumnAdvisor, COLBUTTON));

    //------ Third Column
    TreeViewerColumn column2 = new TreeViewerColumn(fViewer, SWT.LEFT);
    column2.getColumn().setText(CmsisConstants.DESCRIPTION_TITLE);
    column2.getColumn().setWidth(400);
    column2.setLabelProvider(new ColumnLabelProvider() {
        @Override
        public String getText(Object obj) {
            ICpItem item = getCpItem(obj);
            if (item == null) {
                return null;
            }
            // Add selection string on the first line
            if (item instanceof ICpPackCollection) {
                if (CmsisConstants.DEVICE_SPECIFIC.equals(item.getTag())) {
                    String filterString = fPacksExamplesViewFilter.getFilterString();
                    return filterString == null ? null : filterString + Messages.PacksView_Selected;
                } else if (CmsisConstants.GENERIC.equals(item.getTag())) {
                    return Messages.PacksView_GenericPacksDescription;
                }
            }

            if (item instanceof ICpPackFamily) {
                ICpPackFamily packFamily = (ICpPackFamily) item;
                if (CmsisConstants.ERRORS.equals(packFamily.getTag())) {
                    return Messages.PacksView_CannotLoadPdscFiles;
                }
                return formatDescription(item.getDescription());
            }

            if (CmsisConstants.RELEASE_TAG.equals(item.getTag())) {
                return formatDescription(item.getText());
            } else if (CmsisConstants.PREVIOUS.equals(item.getTag())) {
                return item.getPackFamilyId() + Messages.PacksView_PreviousPackVersions;
            }

            ICpPack pack = item.getPack();
            if (pack.getPackState() != PackState.ERROR) {
                for (ICpItem cpItem : pack.getGrandChildren(CmsisConstants.RELEASES_TAG)) {
                    if (cpItem.getAttribute(CmsisConstants.VERSION).equals(pack.getVersion())) {
                        return formatDescription(cpItem.getText());
                    }
                }
            } else {
                return Messages.PacksView_Location + pack.getFileName();
            }
            return null;
        }

        // Due to the multi-line table cell in Linux, we
        // only use the first line when OS is Linux
        private String formatDescription(String description) {
            boolean isWinOS = System.getProperty("os.name").startsWith("Windows"); //$NON-NLS-1$ //$NON-NLS-2$
            return isWinOS ? description : description.split("\\r?\\n")[0]; //$NON-NLS-1$
        }
    });
    //------ End Setting ALL Columns for the Packs View

    fViewer.setContentProvider(new PacksViewContentProvider());
    fViewer.setComparator(new PackTreeColumnComparator(fViewer, fColumnAdvisor));
    fViewer.setAutoExpandLevel(2);
    refresh();

    ColumnViewerToolTipSupport.enableFor(fViewer);

    // Create the help context id for the viewer's control
    PlatformUI.getWorkbench().getHelpSystem().setHelp(fViewer.getControl(), IHelpContextIds.PACKS_VIEW);

    getSite().setSelectionProvider(fViewer);

    makeActions();
    hookViewSelection();
    hookContextMenu();
    hookDoubleClickAction();
    contributeToActionBars();

    CpInstallerPlugInUI.registerViewPart(this);

    fViewer.setFilters(fPacksViewFilters);

    CpPlugIn.addRteListener(this);
}

From source file:com.arm.cmsis.pack.installer.ui.views.TreeColumnComparator.java

License:Open Source License

@Override
public int compare(Viewer viewer, Object e1, Object e2) {
    ICmsisItem cp1 = (ICmsisItem) e1;// ww w  .ja  va2 s.c o  m
    ICmsisItem cp2 = (ICmsisItem) e2;

    // Error packs should always be shown on top
    // Never switch the Device Specific and Generic row
    if (CmsisConstants.ERRORS.equals(cp1.getTag())) {
        return -1;
    } else if (CmsisConstants.ERRORS.equals(cp2.getTag())) {
        return 1;
    } else if (cp1 instanceof ICpPackCollection && cp2 instanceof ICpPackCollection) {
        return 0;
    }

    Tree tree = treeViewer.getTree();
    int index = Arrays.asList(tree.getColumns()).indexOf(tree.getSortColumn());
    if (index == -1) {
        index = 0;
    }
    int result = 0;
    if (index == 0 || index == 2) {
        ColumnLabelProvider colLabelProvider = (ColumnLabelProvider) treeViewer.getLabelProvider(index);
        String str1 = colLabelProvider.getText(e1);
        String str2 = colLabelProvider.getText(e2);
        result = str1 == null ? (str2 == null ? 0 : 1) : str1.compareToIgnoreCase(str2);
    } else if (index == 1) {
        String str1 = columnAdvisor.getString(e1, index);
        String str2 = columnAdvisor.getString(e2, index);
        result = str1.compareToIgnoreCase(str2);
    }

    return tree.getSortDirection() == SWT.DOWN ? -result : result;

}

From source file:com.bdaum.zoom.ui.internal.views.BookmarkView.java

License:Open Source License

@SuppressWarnings("unused")
@Override//from  w  ww . ja va2  s . co m
public void createPartControl(final Composite parent) {
    Composite area = new Composite(parent, SWT.NONE);
    area.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));
    area.setLayout(new GridLayout(1, false));
    viewer = new TableViewer(area, SWT.SINGLE | SWT.H_SCROLL | SWT.V_SCROLL | SWT.FULL_SELECTION);
    PlatformUI.getWorkbench().getHelpSystem().setHelp(viewer.getControl(), HelpContextIds.BOOKMARK_VIEW);
    final TableViewerColumn col1 = createColumn(viewer, Messages.getString("BookmarkView.image"), //$NON-NLS-1$
            COLUMNWIDTHS[0]);
    final ColumnLabelProvider assetLabelProvider = new ColumnLabelProvider() {
        @Override
        public String getText(Object element) {
            if (element instanceof Bookmark) {
                Bookmark bookmark = (Bookmark) element;
                String label = bookmark.getLabel();
                String peer = bookmark.getPeer();
                String catFile = bookmark.getCatFile();
                return catFile != null && !catFile.isEmpty() ? (peer != null) ? NLS.bind("{0} ({1}, {2})", //$NON-NLS-1$
                        new Object[] { label, peer, new File(catFile).getName() })
                        : NLS.bind("{0} ({1})", label, //$NON-NLS-1$
                                new File(catFile).getName())
                        : label;
            }
            return super.getText(element);
        }

        @Override
        public Image getImage(Object element) {
            if (element instanceof Bookmark) {
                byte[] jpegImage = ((Bookmark) element).getJpegImage();
                if (jpegImage != null && jpegImage.length > 0) {
                    Image image = ImageUtilities.loadThumbnail(getSite().getShell().getDisplay(), jpegImage,
                            Ui.getUi().getDisplayCMS(), SWT.IMAGE_JPEG, false);
                    Image smallImage = ImageUtilities.scaleSWT(image, 24, 24, true, 0, true,
                            parent.getBackground());
                    images.add(smallImage);
                    return smallImage;
                }
            }
            return null;
        }

    };
    col1.setLabelProvider(assetLabelProvider);
    col1.setEditingSupport(new EditingSupport(viewer) {
        @Override
        protected void setValue(Object element, Object value) {
            if (element instanceof Bookmark && value instanceof String) {
                ((Bookmark) element).setLabel((String) value);
                Core.getCore().getDbManager().safeTransaction(null, element);
                viewer.update(element, null);
            }
        }

        @Override
        protected Object getValue(Object element) {
            if (element instanceof Bookmark)
                return ((Bookmark) element).getLabel();
            return null;
        }

        @Override
        protected CellEditor getCellEditor(Object element) {
            return new TextCellEditor(viewer.getTable());
        }

        @Override
        protected boolean canEdit(Object element) {
            return element instanceof Bookmark;
        }
    });
    final TableViewerColumn col2 = createColumn(viewer, Messages.getString("BookmarkView.collection"), //$NON-NLS-1$
            COLUMNWIDTHS[1]);
    final ICore core = Core.getCore();
    final ColumnLabelProvider collectionLabelProvider = new ColumnLabelProvider() {

        @Override
        public String getText(Object element) {
            if (element instanceof Bookmark) {
                SmartCollectionImpl sm = core.getDbManager().obtainById(SmartCollectionImpl.class,
                        ((Bookmark) element).getCollectionId());
                return sm == null ? "" : sm.getName(); //$NON-NLS-1$
            }
            return super.getText(element);
        }
    };
    col2.setLabelProvider(collectionLabelProvider);
    final TableViewerColumn col3 = createColumn(viewer, Messages.getString("BookmarkView.created"), //$NON-NLS-1$
            COLUMNWIDTHS[2]);
    final ColumnLabelProvider dateLabelProvider = new ColumnLabelProvider() {

        @Override
        public String getText(Object element) {
            if (element instanceof Bookmark) {
                Date createdAt = ((Bookmark) element).getCreatedAt();
                return createdAt == null ? "" : DATEFORMAT.format(createdAt); //$NON-NLS-1$
            }
            return super.getText(element);
        }
    };
    col3.setLabelProvider(dateLabelProvider);
    Table table = viewer.getTable();
    table.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));
    table.setHeaderVisible(true);
    table.setLinesVisible(true);
    viewer.setContentProvider(new IStructuredContentProvider() {
        public void inputChanged(Viewer aViewer, Object oldInput, Object newInput) {
            // do nothing
        }

        public void dispose() {
            disposeImages();
        }

        public Object[] getElements(Object inputElement) {
            final IDbManager dbManager = Core.getCore().getDbManager();
            List<BookmarkImpl> bookmarks = dbManager.obtainObjects(BookmarkImpl.class);
            List<BookmarkImpl> existingBookmarks = new ArrayList<BookmarkImpl>(50);
            final List<Object> tobeDeleted = new ArrayList<Object>();
            for (BookmarkImpl bookmark : bookmarks) {
                if (bookmark.getCatFile() != null && !bookmark.getCatFile().isEmpty())
                    existingBookmarks.add(bookmark);
                else if (!dbManager.exists(AssetImpl.class, bookmark.getAssetId()))
                    tobeDeleted.add(bookmark);
                else
                    existingBookmarks.add(bookmark);
            }
            if (!tobeDeleted.isEmpty())
                dbManager.safeTransaction(tobeDeleted, null);
            return existingBookmarks.toArray();
        }
    });
    viewer.setComparator(new ViewerComparator() {
        @Override
        public int compare(Viewer aViewer, Object e1, Object e2) {
            if (sortColumn == col3.getColumn()) {
                Date d1 = ((Bookmark) e1).getCreatedAt();
                Date d2 = ((Bookmark) e2).getCreatedAt();
                return d1 == null || d2 == null ? 0
                        : (sortDirection == SWT.DOWN) ? d1.compareTo(d2) : d2.compareTo(d1);
            }
            ColumnLabelProvider labelProvider;
            if (sortColumn == col1.getColumn())
                labelProvider = assetLabelProvider;
            else
                labelProvider = collectionLabelProvider;
            String s1 = labelProvider.getText(e1);
            String s2 = labelProvider.getText(e2);
            return (sortDirection == SWT.DOWN) ? s1.compareToIgnoreCase(s2) : s2.compareToIgnoreCase(s1);
        }
    });
    addPartListener();
    viewer.addSelectionChangedListener(new ISelectionChangedListener() {
        public void selectionChanged(SelectionChangedEvent event) {
            updateActions();
        }
    });
    new ColumnLayoutManager(viewer, COLUMNWIDTHS, null);
    switchSort(table, col1.getColumn());
    new AssetDragSourceListener(this, DND.DROP_COPY | DND.DROP_MOVE);
    new BookmarkDropTargetListener(DND.DROP_MOVE | DND.DROP_COPY);
    makeActions();
    hookContextMenu();
    hookDoubleClickAction();
    contributeToActionBars();
    installHoveringController();
    core.addCatalogListener(this);
    catalogOpened(false);
}

From source file:de.quamoco.qm.properties.eval.provider.InfluencingOrRefiningElementComparator.java

License:Apache License

@Override
public int compare(Viewer viewer, Object e1, Object e2) {
    int result = 0;
    ColumnViewer columnViewer = (ColumnViewer) viewer;

    /*/*from w  ww. ja v  a 2  s.c  om*/
     * 1st sort by ranking
     */
    ColumnLabelProvider rankingLabelProvider = (ColumnLabelProvider) columnViewer
            .getLabelProvider(InfluencingOrRefiningElementLabelProvider.COLUMN_RANKING);
    int ranking1 = Integer.parseInt(rankingLabelProvider.getText(e1));
    int ranking2 = Integer.parseInt(rankingLabelProvider.getText(e2));
    result = compareRankings(ranking1, ranking2);

    if (result == 0) {
        /*
         * 2nd sort by contribution points
         */
        ColumnLabelProvider contributionPointsLabelProvider = (ColumnLabelProvider) columnViewer
                .getLabelProvider(InfluencingOrRefiningElementLabelProvider.COLUMN_CONTRIBUTION_POINTS);
        double contPoints1 = Double.parseDouble(contributionPointsLabelProvider.getText(e1));
        double contPoints2 = Double.parseDouble(contributionPointsLabelProvider.getText(e2));
        result = compareContributionPoints(contPoints1, contPoints2);

        if (result == 0) {
            /*
             * 3rd sort by name
             */
            ColumnLabelProvider nameLabelProvider = (ColumnLabelProvider) columnViewer
                    .getLabelProvider(InfluencingOrRefiningElementLabelProvider.COLUMN_NAME);
            String name1 = nameLabelProvider.getText(e1);
            String name2 = nameLabelProvider.getText(e2);
            result = compareName(name1, name2);
        }
    }

    return result;
}

From source file:net.yatomiya.e4.ui.viewer.TableViewerColumnManager.java

License:Open Source License

public TableViewerColumn createTextColumn(String type, int style, String header, String tooltip, int width,
        ColumnLabelProvider labelProvider) {
    final ColumnLabelProvider lp = labelProvider;
    return createColumn(type, style, header, tooltip, width, labelProvider, new Comparator<Object>() {
        @Override/*from  www .j ava 2 s. co  m*/
        public int compare(Object o1, Object o2) {
            return lp.getText(o1).compareTo(lp.getText(o2));
        }
    });
}

From source file:org.dawnsci.plotting.tools.fitting.FittingViewerComparator.java

License:Open Source License

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

    final TableViewer viewer = (TableViewer) v;
    ColumnLabelProvider labelProv = (ColumnLabelProvider) viewer.getLabelProvider(propertyIndex);

    // Search on what the user actually sees!
    String val1 = labelProv.getText(e1);
    String val2 = labelProv.getText(e2);

    int rc = comparator.compare(val1, val2);

    // If descending order, flip the direction
    if (direction == DESCENDING) {
        rc = -rc;//from ww w  .j  a  va 2s .c o m
    }
    return rc;
}

From source file:org.eclipse.egit.gitflow.ui.internal.dialogs.FilteredBranchesWidget.java

License:Open Source License

Control create(Composite parent) {
    Composite area = new Composite(parent, SWT.NONE);
    GridDataFactory.fillDefaults().grab(true, true).span(2, 1).applyTo(area);
    area.setLayout(new GridLayout(1, false));

    PatternFilter filter = new PatternFilter() {
        @Override//from   w  ww. j  av a2 s . c om
        protected boolean isLeafMatch(Viewer viewer, Object element) {
            TreeViewer treeViewer = (TreeViewer) viewer;
            int numberOfColumns = treeViewer.getTree().getColumnCount();
            boolean isMatch = false;
            for (int columnIndex = 0; columnIndex < numberOfColumns; columnIndex++) {
                ColumnLabelProvider labelProvider = (ColumnLabelProvider) treeViewer
                        .getLabelProvider(columnIndex);
                String labelText = labelProvider.getText(element);
                isMatch |= wordMatches(labelText);
            }
            return isMatch;
        }
    };
    filter.setIncludeLeadingWildcard(true);

    final FilteredTree tree = new FilteredTree(area,
            SWT.MULTI | SWT.H_SCROLL | SWT.V_SCROLL | SWT.BORDER | SWT.FULL_SELECTION, filter, true);
    tree.setQuickSelectionMode(true);
    branchesViewer = tree.getViewer();
    branchesViewer.getTree().setLinesVisible(false);
    branchesViewer.getTree().setHeaderVisible(true);

    comparator = new BranchComparator();
    branchesViewer.setComparator(comparator);

    DecoratedBranchLabelProvider nameLabelProvider = new DecoratedBranchLabelProvider(gfRepo.getRepository(),
            prefix);
    TreeColumn nameColumn = createColumn(UIText.BranchSelectionTree_NameColumn, branchesViewer,
            nameLabelProvider);

    TreeColumn idColumn = createColumn(UIText.BranchSelectionTree_IdColumn, branchesViewer,
            new ColumnLabelProvider() {

                @Override
                public String getText(Object element) {
                    if (element instanceof Ref) {
                        ObjectId objectId = ((Ref) element).getObjectId();
                        if (objectId == null) {
                            return ""; //$NON-NLS-1$
                        }
                        return objectId.abbreviate(7).name();
                    }
                    return super.getText(element);
                }
            });
    ColumnLabelProvider dateLabelProvider = new ColumnLabelProvider() {

        @Override
        public String getText(Object element) {
            if (element instanceof Ref) {
                String name = ((Ref) element).getName().substring(Constants.R_HEADS.length());
                RevCommit revCommit = gfRepo.findHead(name);
                if (revCommit == null) {
                    return ""; //$NON-NLS-1$
                }
                return getDateFormatter().formatDate(revCommit.getCommitterIdent());
            }
            return super.getText(element);
        }
    };
    TreeColumn dateColumn = createColumn(UIText.FilteredBranchesWidget_lastModified, branchesViewer,
            dateLabelProvider);
    setSortedColumn(dateColumn, dateLabelProvider);

    TreeColumn msgColumn = createColumn(UIText.BranchSelectionTree_MessageColumn, branchesViewer,
            new ColumnLabelProvider() {

                @Override
                public String getText(Object element) {
                    if (element instanceof Ref) {
                        String name = ((Ref) element).getName().substring(Constants.R_HEADS.length());
                        RevCommit revCommit = gfRepo.findHead(name);
                        if (revCommit == null) {
                            return ""; //$NON-NLS-1$
                        }
                        return revCommit.getShortMessage();
                    }
                    return super.getText(element);
                }
            });

    GridDataFactory.fillDefaults().grab(true, true).applyTo(branchesViewer.getControl());

    branchesViewer.setContentProvider(new BranchListContentProvider());
    branchesViewer.setInput(refs);

    // Layout tree for maximum width of message column
    TreeColumnLayout layout = new TreeColumnLayout();
    nameColumn.pack();
    layout.setColumnData(nameColumn, new ColumnWeightData(0, nameColumn.getWidth()));
    idColumn.pack();
    layout.setColumnData(idColumn, new ColumnWeightData(0, idColumn.getWidth()));
    dateColumn.pack();
    layout.setColumnData(dateColumn, new ColumnWeightData(0, dateColumn.getWidth()));
    layout.setColumnData(msgColumn, new ColumnWeightData(100));
    branchesViewer.getTree().getParent().setLayout(layout);

    branchesViewer.addFilter(createFilter());
    return area;
}