Example usage for org.eclipse.jface.viewers ViewerComparator ViewerComparator

List of usage examples for org.eclipse.jface.viewers ViewerComparator ViewerComparator

Introduction

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

Prototype

public ViewerComparator() 

Source Link

Document

Creates a new ViewerComparator , which uses the default comparator to sort strings.

Usage

From source file:net.sf.sveditor.ui.editor.SVOutlinePage.java

License:Open Source License

public void createControl(Composite parent) {
    super.createControl(parent);

    fContentProvider = new SVTreeContentProvider();
    DefaultContentFilter = new SVDBDefaultContentFilter();
    ViewerComapartor = new ViewerComparator();

    // Set up the preferences from the preference store
    DefaultContentFilter.HideAlwaysStatements(SVUiPlugin.getDefault().getPreferenceStore()
            .getBoolean(SVEditorPrefsConstants.P_OUTLINE_SHOW_ALWAYS_BLOCKS));
    DefaultContentFilter.HideAssignStatements(SVUiPlugin.getDefault().getPreferenceStore()
            .getBoolean(SVEditorPrefsConstants.P_OUTLINE_SHOW_ASSIGN_STATEMENTS));
    DefaultContentFilter.HideDefineStatements(SVUiPlugin.getDefault().getPreferenceStore()
            .getBoolean(SVEditorPrefsConstants.P_OUTLINE_SHOW_DEFINE_STATEMENTS));
    DefaultContentFilter.HideGenerateBlocks(SVUiPlugin.getDefault().getPreferenceStore()
            .getBoolean(SVEditorPrefsConstants.P_OUTLINE_SHOW_GENERATE_BLOCKS));
    DefaultContentFilter.HideIncludeFiles(SVUiPlugin.getDefault().getPreferenceStore()
            .getBoolean(SVEditorPrefsConstants.P_OUTLINE_SHOW_INCLUDE_FILES));
    DefaultContentFilter.HideInitialBlocks(SVUiPlugin.getDefault().getPreferenceStore()
            .getBoolean(SVEditorPrefsConstants.P_OUTLINE_SHOW_INITIAL_BLOCKS));
    DefaultContentFilter.HideModuleInstances(SVUiPlugin.getDefault().getPreferenceStore()
            .getBoolean(SVEditorPrefsConstants.P_OUTLINE_SHOW_MODULE_INSTANCES));
    DefaultContentFilter.HideTaskFunctions(SVUiPlugin.getDefault().getPreferenceStore()
            .getBoolean(SVEditorPrefsConstants.P_OUTLINE_SHOW_TASK_FUNCTION_DECLARATIONS));
    DefaultContentFilter.HideVariableDeclarations(SVUiPlugin.getDefault().getPreferenceStore()
            .getBoolean(SVEditorPrefsConstants.P_OUTLINE_SHOW_SIGNAL_DECLARATIONS));
    DefaultContentFilter.HideEnumTypedefs(SVUiPlugin.getDefault().getPreferenceStore()
            .getBoolean(SVEditorPrefsConstants.P_OUTLINE_SHOW_ENUM_TYPEDEFS));
    DefaultContentFilter.HideAssertionProperties(SVUiPlugin.getDefault().getPreferenceStore()
            .getBoolean(SVEditorPrefsConstants.P_OUTLINE_SHOW_ASSERTION_PROPERTIES));
    DefaultContentFilter.HideCoverPointGroupCross(SVUiPlugin.getDefault().getPreferenceStore()
            .getBoolean(SVEditorPrefsConstants.P_OUTLINE_SHOW_COVER_POINT_GROUP_CROSS));
    DefaultContentFilter.HideConstraints(SVUiPlugin.getDefault().getPreferenceStore()
            .getBoolean(SVEditorPrefsConstants.P_OUTLINE_SHOW_CONSTRAINTS));

    getTreeViewer().setContentProvider(fContentProvider);
    getTreeViewer().addFilter(DefaultContentFilter);
    // Check whether we have sorting enabled or not
    if (SVUiPlugin.getDefault().getPreferenceStore().getBoolean(SVEditorPrefsConstants.P_OUTLINE_SORT)) {
        getTreeViewer().setComparator(ViewerComapartor);
    } else {/*from  w w  w  .  j  a  v a2 s  .  c  o  m*/
        getTreeViewer().setComparator(null);
    }
    getTreeViewer().setLabelProvider(new SVDBDecoratingLabelProvider(new SVTreeLabelProvider()));
    getTreeViewer().setComparer(new IElementComparer() {
        public int hashCode(Object element) {
            return element.hashCode();
        }

        public boolean equals(Object a, Object b) {
            // Just do a simple compare
            return (a == b);
        }
    });

    getTreeViewer().setInput(fSVDBFile);

    getTreeViewer().addSelectionChangedListener(fSelectionListener);
    getTreeViewer().setAutoExpandLevel(TreeViewer.ALL_LEVELS);

    // Get initial contents
    refresh();
}

From source file:net.sf.sveditor.ui.text.HierarchyInformationControl.java

License:Open Source License

/**
 * {@inheritDoc}/*from  www. j a v a  2  s  . c  o  m*/
 */
@Override
protected TreeViewer createTreeViewer(Composite parent, int style) {

    fPatternFilter = new PatternFilter();

    fObjectTree = new FilteredTree(parent, SWT.H_SCROLL, fPatternFilter, true);
    fTreeViewer = fObjectTree.getViewer();

    final Tree tree = fTreeViewer.getTree();

    GridData gd = new GridData(GridData.FILL_BOTH);
    gd.heightHint = tree.getItemHeight() * 20; // Initial height of dialog
    gd.widthHint = 600; // Initial width of dialog
    tree.setLayoutData(gd);

    fTreeViewer.setContentProvider(new HierarchyTreeContentProvider());
    fTreeViewer.setLabelProvider(new HierarchyTreeLabelProvider());
    fTreeViewer.setComparator(new ViewerComparator());
    fTreeViewer.setComparer(new IElementComparer() {
        public int hashCode(Object element) {
            return element.hashCode();
        }

        public boolean equals(Object a, Object b) {
            // Just do a simple compare
            return (a == b);
        }
    });

    fTreeViewer.addDoubleClickListener(new IDoubleClickListener() {
        public void doubleClick(DoubleClickEvent event) {
            IStructuredSelection sel = (IStructuredSelection) event.getSelection();
            if (sel.getFirstElement() instanceof HierarchyTreeNode) {
                HierarchyTreeNode n = (HierarchyTreeNode) sel.getFirstElement();
                SVDBItem item = n.getItemDecl();
                if (item != null) {
                    try {
                        SVEditorUtil.openEditor(item);
                    } catch (PartInitException e) {
                        // TODO Auto-generated catch block
                        e.printStackTrace();
                    }
                }
                close();
            }
        }
    });

    fTreeViewer.getTree().addKeyListener(new KeyListener() {
        public void keyPressed(KeyEvent e) {
            if (tree.getSelectionCount() == 1
                    && (tree.getSelection()[0].getData() instanceof HierarchyTreeNode)) {
                HierarchyTreeNode n = (HierarchyTreeNode) tree.getSelection()[0].getData();
                SVDBItem item = n.getItemDecl();
                if (e.keyCode == SWT.CR) {
                    if (item != null) {
                        try {
                            SVEditorUtil.openEditor(item);
                        } catch (PartInitException ex) {
                            ex.printStackTrace();
                        }
                    }
                    close();
                }
            }
        }

        public void keyReleased(KeyEvent e) {
        }
    });

    return fTreeViewer;
}

From source file:net.sf.sveditor.ui.text.ObjectsInformationControl.java

License:Open Source License

/**
 * {@inheritDoc}//from  w w  w .j  av  a  2s  .com
 */
@Override
protected TreeViewer createTreeViewer(Composite parent, int style) {

    fPatternFilter = new PatternFilter();

    fObjectTree = new FilteredTree(parent, SWT.H_SCROLL, fPatternFilter, true);
    fTreeViewer = fObjectTree.getViewer();
    fContentProvider = new ObjectsViewContentProvider();

    final Tree tree = fTreeViewer.getTree();

    GridData gd = new GridData(GridData.FILL_BOTH);
    gd.heightHint = tree.getItemHeight() * 20; // Initial height of dialog
    gd.widthHint = 600; // Initial width of dialog
    tree.setLayoutData(gd);

    fTreeViewer.setContentProvider(fContentProvider);
    fTreeViewer.setLabelProvider(new ObjectsLabelProvider());
    fTreeViewer.setInput(SVCorePlugin.getDefault().getSVDBIndexRegistry());
    fTreeViewer.setComparator(new ViewerComparator());

    addKeyListeners();

    fTreeViewer.addDoubleClickListener(new IDoubleClickListener() {
        public void doubleClick(DoubleClickEvent event) {
            IStructuredSelection sel = (IStructuredSelection) event.getSelection();
            if (sel.getFirstElement() instanceof ObjectsTreeNode) {
                ObjectsTreeNode n = (ObjectsTreeNode) sel.getFirstElement();
                // First level nodes for object types get expanded on double click
                if (n == fContentProvider.getModulesNode() || n == fContentProvider.getInterfacesNode()
                        || n == fContentProvider.getPackagesNode()) {
                    fTreeViewer.setExpandedState(n, !fTreeViewer.getExpandedState(n));
                    // Packages toggle expanded state
                } else if (n.getItemDecl().getType() == SVDBItemType.PackageDecl) {
                    fTreeViewer.setExpandedState(n, !fTreeViewer.getExpandedState(n));
                    // Otherwise, try to open associated file
                } else {
                    if (n.getItemDecl() != null) {
                        try {
                            if (n.getItemDecl() != null && n.getItemDecl().getSVDBItem() != null) {
                                SVEditorUtil.openEditor(n.getItemDecl().getSVDBItem());
                            }
                        } catch (PartInitException e) {
                            e.printStackTrace();
                        }
                    }
                }
            }
        }
    });

    return fTreeViewer;
}

From source file:net.sf.sveditor.ui.text.OutlineInformationControl.java

License:Open Source License

/**
 * {@inheritDoc}//from  ww w  . j  a  v a2s  .  c  om
 */
@Override
protected TreeViewer createTreeViewer(Composite parent, int style) {

    fPatternFilter = new PatternFilter();

    fObjectTree = new FilteredTree(parent, SWT.H_SCROLL, fPatternFilter, true);
    fTreeViewer = fObjectTree.getViewer();
    fContentProvider = new SVTreeContentProvider();

    final Tree tree = fTreeViewer.getTree();

    GridData gd = new GridData(GridData.FILL_BOTH);
    gd.heightHint = tree.getItemHeight() * 20; // Initial height of dialog
    gd.widthHint = 600; // Initial width of dialog
    tree.setLayoutData(gd);

    fTreeViewer.setContentProvider(fContentProvider);
    fTreeViewer.setLabelProvider(new SVDBDecoratingLabelProvider(new SVTreeLabelProvider()));
    fTreeViewer.setComparator(new ViewerComparator());
    fTreeViewer.setComparer(new IElementComparer() {
        public int hashCode(Object element) {
            return element.hashCode();
        }

        public boolean equals(Object a, Object b) {
            // Just do a simple compare
            return (a == b);
        }
    });

    fTreeViewer.setInput(fSVDBFile);
    fTreeViewer.expandAll();

    fTreeViewer.addDoubleClickListener(new IDoubleClickListener() {
        public void doubleClick(DoubleClickEvent event) {
            IStructuredSelection sel = (IStructuredSelection) event.getSelection();
            if (sel.getFirstElement() instanceof ISVDBItemBase) {
                ISVDBItemBase n = (ISVDBItemBase) sel.getFirstElement();
                fEditor.setSelection(n, false);
                close();
            }
        }
    });

    return fTreeViewer;
}

From source file:net.sf.sveditor.ui.views.objects.SVObjectsView.java

License:Open Source License

@Override
public void createPartControl(Composite parent) {

    GridLayout gl;/*from w ww  .  ja va  2  s. com*/

    gl = new GridLayout();
    gl.marginHeight = 0;
    gl.marginWidth = 0;

    Composite class_c = new Composite(parent, SWT.NONE);
    class_c.setLayout(gl);
    class_c.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));

    fPatternFilter = new PatternFilter();

    fObjectTree = new FilteredTree(class_c, SWT.H_SCROLL | SWT.V_SCROLL, fPatternFilter, true);

    fTreeViewer = fObjectTree.getViewer();
    fTreeViewer.getControl().setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));
    fTreeViewer.setContentProvider(fContentProvider = new ObjectsViewContentProvider());
    fTreeViewer.setLabelProvider(new ObjectsLabelProvider());
    fTreeViewer.setInput(SVCorePlugin.getDefault().getSVDBIndexRegistry());
    fTreeViewer.setComparator(new ViewerComparator());

    fTreeViewer.addDoubleClickListener(new IDoubleClickListener() {
        public void doubleClick(DoubleClickEvent event) {
            IStructuredSelection sel = (IStructuredSelection) event.getSelection();
            if (sel.getFirstElement() instanceof ObjectsTreeNode) {
                ObjectsTreeNode n = (ObjectsTreeNode) sel.getFirstElement();
                // First level nodes for object types get expanded on double click
                if (n == fContentProvider.getModulesNode() || n == fContentProvider.getInterfacesNode()
                        || n == fContentProvider.getPackagesNode()) {
                    fTreeViewer.setExpandedState(n, !fTreeViewer.getExpandedState(n));
                    // Packages toggle expanded state
                } else if (n.getItemDecl().getType() == SVDBItemType.PackageDecl) {
                    fTreeViewer.setExpandedState(n, !fTreeViewer.getExpandedState(n));
                    // Otherwise, try to open associated file
                } else {
                    if (n.getItemDecl() != null) {
                        try {
                            if (n.getItemDecl() != null && n.getItemDecl().getFile() != null) {
                                SVEditorUtil.openEditor(n.getItemDecl().getFile());
                            }
                        } catch (PartInitException e) {
                            e.printStackTrace();
                        }
                    }
                }
            }
        }
    });

}

From source file:net.sourceforge.eclipsetrader.ats.ui.tradingsystem.TradingSystemView.java

License:Open Source License

public void createPartControl(Composite parent) {
    tree = new Tree(parent, SWT.FULL_SELECTION | SWT.MULTI);
    tree.setHeaderVisible(false);/*from ww w.j  a v  a 2 s. c om*/
    tree.setLinesVisible(false);

    labelProvider.setColumnLabelProviders(new ILabelProvider[] { new StatusColumn(), new PositionColumn(), });

    /*        TreeColumn treeColumn = new TreeColumn(tree, SWT.LEFT);
     treeColumn.setWidth(preferences.getInt("COLUMN()") == 0 ? 150 : preferences.getInt("COLUMN()"));
     treeColumn.addControlListener(columnControlListener);
            
     treeColumn = new TreeColumn(tree, SWT.LEFT);
     treeColumn.setText("Status");
     String className = "COLUMN(" + labelProvider.getColumnLabelProviders()[tree.indexOf(treeColumn) - 1].getClass().getName() + ")";
     treeColumn.setWidth(preferences.getInt(className) == 0 ? 80 : preferences.getInt(className));
     treeColumn.addControlListener(columnControlListener);
             
     treeColumn = new TreeColumn(tree, SWT.RIGHT);
     treeColumn.setText("Position");
     className = "COLUMN(" + labelProvider.getColumnLabelProviders()[tree.indexOf(treeColumn) - 1].getClass().getName() + ")";
     treeColumn.setWidth(preferences.getInt(className) == 0 ? 80 : preferences.getInt(className));
     treeColumn.addControlListener(columnControlListener);*/

    viewer = new TreeViewer(tree);
    viewer.setContentProvider(contentProvider);
    viewer.setLabelProvider(labelProvider);
    viewer.addDragSupport(DND.DROP_COPY | DND.DROP_MOVE, dragTransferTypes, dragSourceListener);
    viewer.addDropSupport(DND.DROP_COPY | DND.DROP_MOVE, dropTransferTypes, dropTargetListener);
    viewer.addSelectionChangedListener(new ISelectionChangedListener() {
        public void selectionChanged(SelectionChangedEvent event) {
            updateSelection();
        }
    });
    viewer.setComparator(new ViewerComparator() {
        public int compare(Viewer viewer, Object e1, Object e2) {
            if (e1 instanceof ComponentRunnable && e2 instanceof ComponentRunnable)
                return ((ComponentRunnable) e1).getSecurity().getDescription()
                        .compareTo(((ComponentRunnable) e2).getSecurity().getDescription());
            return 0;
        }
    });

    Font font = tree.getFont();
    FontData fontData = font.getFontData()[0];
    labelProvider.boldFont = new Font(tree.getDisplay(), fontData.getName(), fontData.getHeight(), SWT.BOLD);

    MenuManager menuMgr = new MenuManager("#popupMenu", "popupMenu"); //$NON-NLS-1$ //$NON-NLS-2$
    menuMgr.setRemoveAllWhenShown(true);
    menuMgr.addMenuListener(new IMenuListener() {
        public void menuAboutToShow(IMenuManager menuManager) {
            fillMenu(menuManager);
        }
    });
    tree.setMenu(menuMgr.createContextMenu(tree));
    getSite().registerContextMenu(menuMgr, getSite().getSelectionProvider());

    viewer.setInput(TradingSystemManager.getInstance().getRunnables());
    viewer.expandToLevel(3);

    TradingSystemManager.getInstance().addRunnablesObserver(systemsObserver);
}

From source file:net.sourceforge.eclipsetrader.news.views.NewsView.java

License:Open Source License

public void createPartControl(Composite parent) {
    Table table = new Table(parent, SWT.MULTI | SWT.FULL_SELECTION);
    table.setHeaderVisible(true);/*from w w  w  . j  a va2  s  .c  o  m*/
    table.setLinesVisible(false);
    table.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true, 1, 1));

    TableColumn column = new TableColumn(table, SWT.NONE);
    column.setText(Messages.NewsView_Date);
    column.setWidth(settings.get("column0.width") == null ? 120 : settings.getInt("column0.width")); //$NON-NLS-1$ //$NON-NLS-2$
    column.addControlListener(controlListener);

    column = new TableColumn(table, SWT.NONE);
    column.setText(Messages.NewsView_Title);
    column.setWidth(settings.get("column1.width") == null ? 240 : settings.getInt("column1.width")); //$NON-NLS-1$ //$NON-NLS-2$
    column.addControlListener(controlListener);

    column = new TableColumn(table, SWT.NONE);
    column.setText(Messages.NewsView_Security);
    column.setWidth(settings.get("column2.width") == null ? 120 : settings.getInt("column2.width")); //$NON-NLS-1$ //$NON-NLS-2$
    column.addControlListener(controlListener);

    column = new TableColumn(table, SWT.NONE);
    column.setText(Messages.NewsView_Source);
    column.setWidth(settings.get("column3.width") == null ? 120 : settings.getInt("column3.width")); //$NON-NLS-1$ //$NON-NLS-2$
    column.addControlListener(controlListener);

    viewer = new TableViewer(table);
    viewer.setLabelProvider(labelProvider);
    viewer.setContentProvider(new ArrayContentProvider());
    viewer.setComparator(new ViewerComparator() {
        public int compare(Viewer viewer, Object e1, Object e2) {
            return ((NewsItem) e2).getDate().compareTo(((NewsItem) e1).getDate());
        }
    });
    viewer.addOpenListener(new IOpenListener() {
        public void open(OpenEvent event) {
            showSelected();
        }
    });

    IThemeManager themeManager = PlatformUI.getWorkbench().getThemeManager();
    ITheme theme = themeManager.getCurrentTheme();
    if (theme != null) {
        table.setForeground(theme.getColorRegistry().get(TABLE_FOREGROUND));
        table.setBackground(theme.getColorRegistry().get(TABLE_BACKGROUND));
        table.setFont(theme.getFontRegistry().get(TABLE_FONT));

        labelProvider.setAddedBackground(theme.getColorRegistry().get(NEW_ITEM_BACKGROUND));
        labelProvider.setAddedForeground(theme.getColorRegistry().get(NEW_ITEM_FOREGROUND));
        labelProvider.setAddedFont(theme.getFontRegistry().get(NEW_ITEM_FONT));

        labelProvider.setReadedBackground(theme.getColorRegistry().get(READED_ITEM_BACKGROUND));
        labelProvider.setReadedForeground(theme.getColorRegistry().get(READED_ITEM_FOREGROUND));
        labelProvider.setReadedFont(theme.getFontRegistry().get(READED_ITEM_FONT));

        theme.addPropertyChangeListener(themeChangeListener);
    }

    viewer.setInput(newsList);

    if (security != null)
        CorePlugin.getRepository().allNews(security).addCollectionObserver(collectionObserver);
    else
        CorePlugin.getRepository().allNews().addCollectionObserver(collectionObserver);

    NewsStartupJob job = new NewsStartupJob(security);
    job.addJobChangeListener(new JobChangeAdapter() {

        /* (non-Javadoc)
            * @see org.eclipse.core.runtime.jobs.JobChangeAdapter#done(org.eclipse.core.runtime.jobs.IJobChangeEvent)
            */
        public void done(IJobChangeEvent event) {
            final NewsStartupJob job = (NewsStartupJob) event.getJob();
            try {
                viewer.getControl().getDisplay().asyncExec(new Runnable() {
                    public void run() {
                        if (!viewer.getControl().isDisposed()) {
                            newsList = job.getList();
                            viewer.setInput(newsList);
                            for (Iterator iter = newsList.iterator(); iter.hasNext();)
                                ((NewsItem) iter.next()).addObserver(newsItemObserver);
                        }
                    }
                });
            } catch (SWTException e) {
                if (e.code != SWT.ERROR_WIDGET_DISPOSED)
                    throw (e);
            }
        }
    });
    job.setUser(false);
    job.schedule();
}

From source file:net.sourceforge.eclipsetrader.yahoo.internal.updater.ui.ListSourcePage.java

License:Open Source License

public void createControl(Composite parent) {
    Composite content = new Composite(parent, SWT.NONE);
    content.setLayout(new GridLayout(1, false));
    setControl(content);/*from  w w w  .  j ava2 s  . c o m*/

    viewer = CheckboxTableViewer.newCheckList(content, SWT.FULL_SELECTION | SWT.BORDER);
    viewer.getControl().setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));
    viewer.setContentProvider(new ArrayContentProvider());
    viewer.setLabelProvider(new LabelProvider() {
        @Override
        public String getText(Object element) {
            return ((Job) element).getName();
        }
    });
    viewer.setComparator(new ViewerComparator() {
        @Override
        public int compare(Viewer viewer, Object e1, Object e2) {
            return ((Job) e1).getName().compareTo(((Job) e2).getName());
        }
    });
    viewer.addCheckStateListener(new ICheckStateListener() {
        public void checkStateChanged(CheckStateChangedEvent event) {
            setPageComplete(isPageComplete());
        }
    });

    List<AbstractListUpdateJob> input = new ArrayList<AbstractListUpdateJob>();
    input.add(new USListUpdateJob());
    input.add(new GermanyListUpdateJob());
    input.add(new FrenchListUpdateJob());
    viewer.setInput(input);
}

From source file:net.tourbook.preferences.PrefPageBikes.java

License:Open Source License

private void createBikeViewer(final Composite container) {

    final TableLayoutComposite layouter = new TableLayoutComposite(container, SWT.NONE);
    final GridData gridData = new GridData(GridData.FILL_BOTH);
    gridData.widthHint = convertWidthInCharsToPixels(20);
    layouter.setLayoutData(gridData);/*from   w  ww.  j a v  a 2 s .  c  o m*/

    final Table table = new Table(layouter,
            (SWT.H_SCROLL | SWT.V_SCROLL | SWT.BORDER | SWT.FULL_SELECTION | SWT.MULTI));
    table.setHeaderVisible(true);
    table.setLinesVisible(true);

    TableColumn tc;

    tc = new TableColumn(table, SWT.NONE);
    layouter.addColumnData(new ColumnWeightData(1, convertWidthInCharsToPixels(1), false));

    tc = new TableColumn(table, SWT.NONE);
    tc.setText("Name"); //$NON-NLS-1$
    layouter.addColumnData(new ColumnWeightData(8));

    tc = new TableColumn(table, SWT.NONE);
    tc.setText("Type"); //$NON-NLS-1$
    layouter.addColumnData(new ColumnWeightData(16));

    tc = new TableColumn(table, SWT.TRAIL);
    tc.setText("kg"); //$NON-NLS-1$
    layouter.addColumnData(new ColumnWeightData(4));

    _bikeViewer = new TableViewer(table);

    _bikeViewer.setContentProvider(new BikeContentProvider());
    _bikeViewer.setLabelProvider(new BikeLabelProvider());

    _bikeViewer.setComparator(new ViewerComparator() {
        @Override
        public int compare(final Viewer viewer, final Object e1, final Object e2) {
            return ((TourBike) e1).getName().compareTo(((TourBike) e2).getName());
        }

    });

    _bikeViewer.addSelectionChangedListener(new ISelectionChangedListener() {
        public void selectionChanged(final SelectionChangedEvent event) {
            selectBike();
        }
    });

    _bikeViewer.addDoubleClickListener(new IDoubleClickListener() {
        public void doubleClick(final DoubleClickEvent event) {
            _txtBikeName.setFocus();
            _txtBikeName.selectAll();
        }
    });
}

From source file:net.tourbook.preferences.PrefPagePeople.java

License:Open Source License

private void createUI_10_People_Viewer(final Composite parent) {

    final TableColumnLayout tableLayout = new TableColumnLayout();

    final Composite layoutContainer = new Composite(parent, SWT.NONE);
    layoutContainer.setLayout(tableLayout);
    GridDataFactory.fillDefaults() //
            .grab(true, true).hint(convertWidthInCharsToPixels(30), convertHeightInCharsToPixels(5))
            .applyTo(layoutContainer);/*from   w  w w .  j av  a2 s . c  o m*/

    /*
     * create table
     */
    final Table table = new Table(layoutContainer,
            (SWT.H_SCROLL | SWT.V_SCROLL | SWT.BORDER | SWT.FULL_SELECTION | SWT.MULTI));

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

    _peopleViewer = new TableViewer(table);
    defineAllColumns(tableLayout);

    _peopleViewer.setUseHashlookup(true);
    _peopleViewer.setContentProvider(new ClientsContentProvider());

    _peopleViewer.setComparator(new ViewerComparator() {
        @Override
        public int compare(final Viewer viewer, final Object e1, final Object e2) {

            // compare by last + first name

            final TourPerson p1 = (TourPerson) e1;
            final TourPerson p2 = (TourPerson) e2;

            final int compareLastName = p1.getLastName().compareTo(p2.getLastName());

            if (compareLastName != 0) {
                return compareLastName;
            }

            return p1.getFirstName().compareTo(p2.getFirstName());
        }
    });

    _peopleViewer.addSelectionChangedListener(new ISelectionChangedListener() {
        @Override
        public void selectionChanged(final SelectionChangedEvent event) {
            onSelectPerson();
        }
    });

    _peopleViewer.addDoubleClickListener(new IDoubleClickListener() {
        @Override
        public void doubleClick(final DoubleClickEvent event) {
            _tabFolderPerson.setSelection(0);
            _txtFirstName.setFocus();
            _txtFirstName.selectAll();
        }
    });

}