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:org.eclipse.php.internal.debug.ui.preferences.PHPDebuggersTable.java

License:Open Source License

/**
 * Creates this control inside the given control.
 * /*from w w w . jav  a  2s  .  co  m*/
 * @param ancestor
 *            containing control
 */
public void createControl(final Composite ancestor) {
    // Create a 'cosmetic' composite to fit the dialog style of margins.
    Composite comp = new Composite(ancestor, SWT.NULL);
    GridLayout layout = new GridLayout();
    comp.setLayout(layout);
    GridData data = new GridData(GridData.FILL_BOTH);
    comp.setLayoutData(data);

    final Group parent = new Group(comp, SWT.NULL);
    parent.setText(PHPDebugUIMessages.PHPDebuggersTable_installedDebuggers);
    layout = new GridLayout();
    layout.numColumns = 2;
    layout.marginHeight = 0;
    layout.marginWidth = 0;
    parent.setLayout(layout);
    final Font font = ancestor.getFont();
    parent.setFont(font);
    data = new GridData(GridData.FILL_BOTH);
    parent.setLayoutData(data);

    final Table table = new Table(parent, SWT.BORDER | SWT.MULTI | SWT.FULL_SELECTION);

    data = new GridData(GridData.FILL_BOTH);
    data.heightHint = 35;
    table.setLayoutData(data);
    table.setFont(font);

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

    final TableLayout tableLayout = new TableLayout();
    table.setLayout(tableLayout);

    final TableColumn debuggerTypeColumn = new TableColumn(table, SWT.NULL);
    debuggerTypeColumn.setText(PHPDebugUIMessages.PHPDebuggersTable_debuggerType);

    fPHPDebuggers = new CheckboxTableViewer(table);
    fPHPDebuggers.setLabelProvider(new PHPDebuggersLabelProvider());
    fPHPDebuggers.setContentProvider(new PHPDebuggersContentProvider());
    fPHPDebuggers.addSelectionChangedListener(new ISelectionChangedListener() {
        public void selectionChanged(final SelectionChangedEvent evt) {
            enableButtons();
        }
    });

    fPHPDebuggers.addDoubleClickListener(new IDoubleClickListener() {
        public void doubleClick(final DoubleClickEvent e) {
            if (!fPHPDebuggers.getSelection().isEmpty()) {
                editSettings();
            }
        }
    });

    final Composite buttons = new Composite(parent, SWT.NULL);
    buttons.setLayoutData(new GridData(GridData.VERTICAL_ALIGN_BEGINNING));
    layout = new GridLayout();
    layout.marginHeight = 0;
    layout.marginWidth = 0;
    buttons.setLayout(layout);
    buttons.setFont(font);

    fSettingsButton = createPushButton(buttons, PHPDebugUIMessages.PHPDebuggersTable_configure);
    fSettingsButton.addListener(SWT.Selection, new Listener() {
        public void handleEvent(final Event evt) {
            editSettings();
        }
    });

    fPHPDebuggers.setComparator(new ViewerComparator() {
        public int compare(Viewer viewer, Object e1, Object e2) {
            if (e1 instanceof IDebuggerConfiguration && e2 instanceof IDebuggerConfiguration) {
                return ((IDebuggerConfiguration) e2).getName()
                        .compareTo(((IDebuggerConfiguration) e1).getName());
            }
            return super.compare(viewer, e1, e2);
        }
    });
    configureTableResizing(parent, buttons, table, debuggerTypeColumn);

    fillWithWorkspaceDebuggers();
    enableButtons();
    Display.getDefault().asyncExec(new Runnable() {
        public void run() {
            resizeTable(parent, buttons, table, debuggerTypeColumn);
        }
    });
}

From source file:org.eclipse.php.internal.debug.ui.preferences.phps.PHPInterpreterExecutionConfigurationBlock.java

License:Open Source License

protected Control createControl(Composite ancestor) {
    fControl = ancestor;/*www  . ja v a 2 s  . c o m*/
    Composite container = new Composite(ancestor, SWT.NONE);
    GridLayout layout = new GridLayout();
    layout.numColumns = 2;
    layout.marginHeight = 0;
    layout.marginWidth = 0;
    layout.makeColumnsEqualWidth = true;
    container.setLayout(layout);
    GridData gd = new GridData(GridData.FILL_BOTH);
    container.setLayoutData(gd);
    container.setFont(ancestor.getFont());

    Composite eeContainer = new Composite(container, SWT.NONE);
    layout = new GridLayout();
    layout.marginWidth = 0;
    eeContainer.setLayout(layout);
    eeContainer.setLayoutData(new GridData(GridData.FILL_BOTH));

    Label label = new Label(eeContainer, SWT.NONE);
    label.setFont(ancestor.getFont());
    label.setText(Messages.PHPInterpreterExecutionConfigurationBlock_0);
    label.setLayoutData(new GridData(SWT.FILL, 0, true, false));

    Table table = new Table(eeContainer, SWT.BORDER | SWT.SINGLE);
    table.setLayout(layout);
    table.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));
    fProfilesViewer = new TableViewer(table);
    fProfilesViewer.setContentProvider(new ArrayContentProvider());
    fProfilesViewer.setLabelProvider(new ExecutionEnvironmentsLabelProvider());
    fProfilesViewer.setComparator(new ViewerComparator());
    fProfilesViewer.setInput(PHPVersion.supportedVersions());

    Composite jreContainer = new Composite(container, SWT.NONE);
    layout = new GridLayout();
    layout.marginWidth = 0;
    jreContainer.setLayout(layout);
    jreContainer.setLayoutData(new GridData(GridData.FILL_BOTH));

    label = new Label(jreContainer, SWT.NONE);
    label.setFont(ancestor.getFont());
    label.setText(Messages.PHPInterpreterExecutionConfigurationBlock_1);
    label.setLayoutData(new GridData(SWT.FILL, 0, true, false));

    table = new Table(jreContainer, SWT.CHECK | SWT.BORDER | SWT.SINGLE);
    table.setLayout(layout);
    table.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));
    fJREsViewer = new CheckboxTableViewer(table);
    fJREsViewer.setContentProvider(new ArrayContentProvider());
    fJREsViewer.setLabelProvider(new PHPExeLabelProvider());
    fJREsViewer.setInput(new PHPexeItem[0]);

    fProfilesViewer.addSelectionChangedListener(new ISelectionChangedListener() {
        public void selectionChanged(SelectionChangedEvent event) {
            PHPVersion version = (PHPVersion) ((IStructuredSelection) event.getSelection()).getFirstElement();
            PHPexeItem jre = versionToDefaultItem.get(version);
            fJREsViewer.setInput(getCompatibleItems(allItems, version));
            if (jre != null) {
                fJREsViewer.setCheckedElements(new Object[] { jre });
            } else {
                fJREsViewer.setCheckedElements(new Object[0]);
            }
        }

    });

    fJREsViewer.addCheckStateListener(new ICheckStateListener() {
        public void checkStateChanged(CheckStateChangedEvent event) {
            if (event.getChecked()) {
                Object element = event.getElement();
                versionToDefaultItem.put(
                        (PHPVersion) ((IStructuredSelection) fProfilesViewer.getSelection()).getFirstElement(),
                        (PHPexeItem) element);
                fJREsViewer.setCheckedElements(new Object[] { element });
            } else {
                versionToDefaultItem.remove(fJREsViewer.getInput());
            }

        }
    });

    Dialog.applyDialogFont(ancestor);
    return ancestor;
}

From source file:org.eclipse.php.internal.ui.dialogs.saveFiles.ContainerSelectionGroup.java

License:Open Source License

/**
 * Returns a new drill down viewer for this dialog.
 * // w w  w .  j  a  v a2 s.  c  o m
 * @param heightHint
 *            height hint for the drill down composite
 */
protected void createTreeViewer(int heightHint) {
    // Create drill down.
    DrillDownComposite drillDown = new DrillDownComposite(this, SWT.BORDER);
    GridData spec = new GridData(SWT.FILL, SWT.FILL, true, true);
    spec.widthHint = SIZING_SELECTION_PANE_WIDTH;
    spec.heightHint = heightHint;
    drillDown.setLayoutData(spec);

    // Create tree viewer inside drill down.
    treeViewer = new TreeViewer(drillDown, SWT.NONE);
    drillDown.setChildTree(treeViewer);
    cp = new ContainerContentProvider();
    cp.showClosedProjects(showClosedProjects);
    treeViewer.setContentProvider(cp);
    treeViewer.setLabelProvider(WorkbenchLabelProvider.getDecoratingWorkbenchLabelProvider());
    treeViewer.setComparator(new ViewerComparator());
    treeViewer.setUseHashlookup(true);
    treeViewer.addSelectionChangedListener(new ISelectionChangedListener() {
        public void selectionChanged(SelectionChangedEvent event) {
            IStructuredSelection selection = (IStructuredSelection) event.getSelection();
            containerSelectionChanged((IContainer) selection.getFirstElement()); // allow null
        }
    });
    treeViewer.addDoubleClickListener(new IDoubleClickListener() {
        public void doubleClick(DoubleClickEvent event) {
            ISelection selection = event.getSelection();
            if (selection instanceof IStructuredSelection) {
                Object item = ((IStructuredSelection) selection).getFirstElement();
                if (item == null) {
                    return;
                }
                if (treeViewer.getExpandedState(item)) {
                    treeViewer.collapseToLevel(item, 1);
                } else {
                    treeViewer.expandToLevel(item, 1);
                }
            }
        }
    });

    // This has to be done after the viewer has been laid out
    treeViewer.setInput(ResourcesPlugin.getWorkspace());
}

From source file:org.eclipse.php.internal.ui.util.TableSorter.java

License:Open Source License

/**
 * Constructor./*w w w. j  av  a  2s . c o  m*/
 * 
 * @param comparator
 */
public TableSorter(Comparator<Object> comparator) {
    fComparator = comparator;
    fSelectionAdapters = new HashMap<TableColumn, SelectionAdapter>();
    fViewerComparator = new ViewerComparator() {
        public int compare(Viewer viewer, Object e1, Object e2) {
            return compareElements(e1, e2);
        }
    };
}

From source file:org.eclipse.ptp.internal.rdt.ui.callhierarchy.RemoteCHViewPart.java

License:Open Source License

private void createActions() {
    // action groups
    fOpenViewActionGroup = new OpenViewActionGroup(this);
    fOpenViewActionGroup.setSuppressCallHierarchy(true);
    fOpenViewActionGroup.setSuppressProperties(true);
    fOpenViewActionGroup.setSuppressTypeHierarchy(true); // TEMPORARY this should work
    fOpenViewActionGroup.setEnableIncludeBrowser(true);
    fSelectionSearchGroup = new SelectionSearchGroup(getSite());
    //       fRefactoringActionGroup= new CRefactoringActionGroup(this);

    fWorkingSetFilterUI = new WorkingSetFilterUI(this, fMemento, KEY_WORKING_SET_FILTER) {
        @Override//from w  w  w. ja  va 2  s. co  m
        protected void onWorkingSetChange() {
            updateWorkingSetFilter(this);
        }

        @Override
        protected void onWorkingSetNameChange() {
            updateDescription();
        }
    };

    fReferencedByAction = new Action(CHMessages.CHViewPart_ShowCallers_label, IAction.AS_RADIO_BUTTON) {
        @Override
        public void run() {
            if (isChecked()) {
                onSetShowReferencedBy(true);
            }
        }
    };
    fReferencedByAction.setToolTipText(CHMessages.CHViewPart_ShowCallers_tooltip);
    CPluginImages.setImageDescriptors(fReferencedByAction, CPluginImages.T_LCL,
            CPluginImages.IMG_ACTION_SHOW_REF_BY);

    fMakesReferenceToAction = new Action(CHMessages.CHViewPart_ShowCallees_label, IAction.AS_RADIO_BUTTON) {
        @Override
        public void run() {
            if (isChecked()) {
                onSetShowReferencedBy(false);
            }
        }
    };
    fMakesReferenceToAction.setToolTipText(CHMessages.CHViewPart_ShowCallees_tooltip);
    CPluginImages.setImageDescriptors(fMakesReferenceToAction, CPluginImages.T_LCL,
            CPluginImages.IMG_ACTION_SHOW_RELATES_TO);

    fVariableFilter = new ViewerFilter() {
        @Override
        public boolean select(Viewer viewer, Object parentElement, Object element) {
            if (element instanceof CHNode) {
                CHNode node = (CHNode) element;
                return !node.isVariableOrEnumerator();
            }
            return true;
        }
    };
    fFilterVariablesAction = new Action(CHMessages.CHViewPart_FilterVariables_label, IAction.AS_CHECK_BOX) {
        @Override
        public void run() {
            if (isChecked()) {
                fTreeViewer.addFilter(fVariableFilter);
            } else {
                fTreeViewer.removeFilter(fVariableFilter);
            }
        }
    };
    fFilterVariablesAction.setToolTipText(CHMessages.CHViewPart_FilterVariables_tooltip);
    CPluginImages.setImageDescriptors(fFilterVariablesAction, CPluginImages.T_LCL,
            CPluginImages.IMG_ACTION_HIDE_FIELDS);

    fSorterAlphaNumeric = new ViewerComparator();
    fSorterReferencePosition = new ViewerComparator() {
        @Override
        public int category(Object element) {
            if (element instanceof CHNode) {
                return 0;
            }
            return 1;
        }

        @Override
        public int compare(Viewer viewer, Object e1, Object e2) {
            if (!(e1 instanceof CHNode)) {
                if (!(e2 instanceof CHNode)) {
                    return 0;
                }
                return -1;
            }
            if (!(e2 instanceof CHNode)) {
                return 1;
            }
            CHNode n1 = (CHNode) e1;
            CHNode n2 = (CHNode) e2;
            int offset1 = n1.getFirstReferenceOffset();
            int offset2 = n2.getFirstReferenceOffset();
            return Integer.compare(offset1, offset2);
        }
    };

    fShowReference = new Action(CHMessages.CHViewPart_ShowReference_label) {
        @Override
        public void run() {
            onShowSelectedReference(fTreeViewer.getSelection());
        }
    };
    fShowReference.setToolTipText(CHMessages.CHViewPart_ShowReference_tooltip);
    fOpenElement = new Action(CHMessages.CHViewPart_Open_label) {
        @Override
        public void run() {
            onOpenElement(fTreeViewer.getSelection());
        }
    };
    fOpenElement.setToolTipText(CHMessages.CHViewPart_Open_tooltip);
    fOpenElement.setActionDefinitionId(ICEditorActionDefinitionIds.OPEN_DECL);

    fShowFilesInLabelsAction = new Action(CHMessages.CHViewPart_ShowFiles_label, IAction.AS_CHECK_BOX) {
        @Override
        public void run() {
            onShowFilesInLabels(isChecked());
        }
    };
    fShowFilesInLabelsAction.setToolTipText(CHMessages.CHViewPart_ShowFiles_tooltip);
    fNextAction = new Action(CHMessages.CHViewPart_NextReference_label) {
        @Override
        public void run() {
            onNextOrPrevious(true);
        }
    };
    fNextAction.setToolTipText(CHMessages.CHViewPart_NextReference_tooltip);
    CPluginImages.setImageDescriptors(fNextAction, CPluginImages.T_LCL, CPluginImages.IMG_SHOW_NEXT);

    fPreviousAction = new Action(CHMessages.CHViewPart_PreviousReference_label) {
        @Override
        public void run() {
            onNextOrPrevious(false);
        }
    };
    fPreviousAction.setToolTipText(CHMessages.CHViewPart_PreviousReference_tooltip);
    CPluginImages.setImageDescriptors(fPreviousAction, CPluginImages.T_LCL, CPluginImages.IMG_SHOW_PREV);

    fRefreshAction = new Action(CHMessages.CHViewPart_Refresh_label) {
        @Override
        public void run() {
            onRefresh();
        }
    };
    fRefreshAction.setToolTipText(CHMessages.CHViewPart_Refresh_tooltip);
    CPluginImages.setImageDescriptors(fRefreshAction, CPluginImages.T_LCL, CPluginImages.IMG_REFRESH);

    fHistoryAction = new CHHistoryDropDownAction(this);

    fCopyAction = new CopyCallHierarchyAction(this, fTreeViewer);

    // setup action bar
    // global action hooks
    IActionBars actionBars = getViewSite().getActionBars();
    //        fRefactoringActionGroup.fillActionBars(actionBars);
    fOpenViewActionGroup.fillActionBars(actionBars);
    fSelectionSearchGroup.fillActionBars(actionBars);

    actionBars.setGlobalActionHandler(CdtActionConstants.OPEN_DECLARATION, fOpenElement);
    actionBars.setGlobalActionHandler(ActionFactory.NEXT.getId(), fNextAction);
    actionBars.setGlobalActionHandler(ActionFactory.PREVIOUS.getId(), fPreviousAction);
    actionBars.setGlobalActionHandler(ActionFactory.REFRESH.getId(), fRefreshAction);
    actionBars.updateActionBars();

    // local toolbar
    IToolBarManager tm = actionBars.getToolBarManager();
    tm.add(fNextAction);
    tm.add(fPreviousAction);
    tm.add(new Separator());
    tm.add(fFilterVariablesAction);
    tm.add(new Separator());
    tm.add(fReferencedByAction);
    tm.add(fMakesReferenceToAction);
    tm.add(fHistoryAction);
    tm.add(fRefreshAction);

    // local menu
    IMenuManager mm = actionBars.getMenuManager();

    fWorkingSetFilterUI.fillActionBars(actionBars);
    mm.add(fReferencedByAction);
    mm.add(fMakesReferenceToAction);
    mm.add(new Separator());
    //        mm.add(fShowFilesInLabelsAction);
    mm.add(new Separator());
    mm.add(fFilterVariablesAction);
}

From source file:org.eclipse.rcptt.ui.commons.Q7ContainerSelectionGroup.java

License:Open Source License

@SuppressWarnings("restriction")
protected void createTreeViewer(int heightHint) {
    // Create drill down.
    LocationComposite drillDown = new LocationComposite(this, SWT.NONE) {
        public void fillToolItems(org.eclipse.jface.action.ToolBarManager toolBarMgr) {
            Action newProject = new Action(Messages.Q7ContainerSelectionGroup_NewProject_ActionName) {
                @Override/*from   w w  w  . j a v a2s. c  om*/
                public void run() {
                    createNewProject();
                }
            };
            newProject.setImageDescriptor(Images.getImageDescriptor(Images.NEW_PROJECT));
            toolBarMgr.add(newProject);

            Action newFolder = new Action(Messages.Q7ContainerSelectionGroup_NewFolder_ActionName) {
                @Override
                public void run() {
                    createNewFolder();
                }
            };
            newFolder.setImageDescriptor(Images.getImageDescriptor(Images.NEW_FOLDER));
            toolBarMgr.add(newFolder);

            DeleteResourceAction deleteAction = new DeleteResourceAction(new SameShellProvider(this)) {
                public void run() {
                    super.run();
                    treeViewer.refresh();
                };
            };
            deleteAction.setImageDescriptor(PlatformUI.getWorkbench().getSharedImages()
                    .getImageDescriptor(ISharedImages.IMG_ETOOL_DELETE));
            deleteAction.setText(""); //$NON-NLS-1$
            deleteAction.setEnabled(false);
            toolBarMgr.add(deleteAction);
            treeViewer.addSelectionChangedListener(deleteAction);

            toolBarMgr.add(new Separator());
            UpdateValueStrategy enablement = new UpdateValueStrategy() {
                @Override
                public Object convert(Object value) {
                    return value != null;
                }
            };
            dbc.bindValue(Actions.observeEnabled(newFolder),
                    ViewersObservables.observeSingleSelection(treeViewer), null, enablement);
            // dbc.bindValue(Actions.observeEnabled(deleteAction),
            // ViewersObservables.observeSingleSelection(treeViewer),
            // null, enablement);
        };
    };
    GridData spec = new GridData(SWT.FILL, SWT.DEFAULT, true, false);
    spec.widthHint = 300;
    // spec.heightHint = heightHint;
    drillDown.setLayoutData(spec);

    // Create tree viewer inside drill down.
    treeViewer = new TreeViewer(this, SWT.BORDER);
    drillDown.setChildTree(treeViewer);
    Q7ContainerContentProvider cp = new Q7ContainerContentProvider();
    cp.showClosedProjects(false);
    treeViewer.setContentProvider(cp);
    treeViewer.setLabelProvider(WorkbenchLabelProvider.getDecoratingWorkbenchLabelProvider());
    treeViewer.setComparator(new ViewerComparator());
    treeViewer.setUseHashlookup(true);
    treeViewer.addSelectionChangedListener(new ISelectionChangedListener() {
        public void selectionChanged(SelectionChangedEvent event) {
            IStructuredSelection selection = (IStructuredSelection) event.getSelection();
            containerSelectionChanged((IContainer) selection.getFirstElement()); // allow null
        }
    });
    treeViewer.addDoubleClickListener(new IDoubleClickListener() {
        public void doubleClick(DoubleClickEvent event) {
            ISelection selection = event.getSelection();
            if (selection instanceof IStructuredSelection) {
                Object item = ((IStructuredSelection) selection).getFirstElement();
                if (item == null) {
                    return;
                }
                if (treeViewer.getExpandedState(item)) {
                    treeViewer.collapseToLevel(item, 1);
                } else {
                    treeViewer.expandToLevel(item, 1);
                }
            }
        }
    });

    // This has to be done after the viewer has been laid out
    treeViewer.setInput(ResourcesPlugin.getWorkspace());
}

From source file:org.eclipse.rcptt.ui.wizards.imports.BaseProjectsImportPage.java

License:Open Source License

/**
 * Create the checkbox list for the found projects.
 * //from www  .  j  a v  a  2  s.  c  o m
 * @param workArea
 */
private void createProjectsList(Composite workArea) {

    Label title = new Label(workArea, SWT.NONE);
    title.setText(Messages.BaseProjectsImportPage_ProjectsLabel);

    Composite listComposite = new Composite(workArea, SWT.NONE);
    GridLayout layout = new GridLayout();
    layout.numColumns = 2;
    layout.marginWidth = 0;
    layout.makeColumnsEqualWidth = false;
    listComposite.setLayout(layout);

    listComposite.setLayoutData(
            new GridData(GridData.GRAB_HORIZONTAL | GridData.GRAB_VERTICAL | GridData.FILL_BOTH));

    projectsList = new CheckboxTreeViewer(listComposite, SWT.BORDER);
    GridData gridData = new GridData(SWT.FILL, SWT.FILL, true, true);
    gridData.widthHint = new PixelConverter(projectsList.getControl()).convertWidthInCharsToPixels(25);
    gridData.heightHint = new PixelConverter(projectsList.getControl()).convertHeightInCharsToPixels(10);
    projectsList.getControl().setLayoutData(gridData);
    projectsList.setContentProvider(new ITreeContentProvider() {

        /*
         * (non-Javadoc)
         * 
         * @see
         * org.eclipse.jface.viewers.ITreeContentProvider#getChildren(java
         * .lang.Object)
         */
        public Object[] getChildren(Object parentElement) {
            return null;
        }

        /*
         * (non-Javadoc)
         * 
         * @see
         * org.eclipse.jface.viewers.IStructuredContentProvider#getElements
         * (java.lang.Object)
         */
        public Object[] getElements(Object inputElement) {
            return getProjectRecords();
        }

        /*
         * (non-Javadoc)
         * 
         * @see
         * org.eclipse.jface.viewers.ITreeContentProvider#hasChildren(java
         * .lang.Object)
         */
        public boolean hasChildren(Object element) {
            return false;
        }

        /*
         * (non-Javadoc)
         * 
         * @see
         * org.eclipse.jface.viewers.ITreeContentProvider#getParent(java
         * .lang.Object)
         */
        public Object getParent(Object element) {
            return null;
        }

        /*
         * (non-Javadoc)
         * 
         * @see org.eclipse.jface.viewers.IContentProvider#dispose()
         */
        public void dispose() {

        }

        /*
         * (non-Javadoc)
         * 
         * @see
         * org.eclipse.jface.viewers.IContentProvider#inputChanged(org.eclipse
         * .jface.viewers.Viewer, java.lang.Object, java.lang.Object)
         */
        public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {
        }

    });

    projectsList.setLabelProvider(new ProjectLabelProvider());

    projectsList.addCheckStateListener(new ICheckStateListener() {
        /*
         * (non-Javadoc)
         * 
         * @see
         * org.eclipse.jface.viewers.ICheckStateListener#checkStateChanged
         * (org.eclipse.jface.viewers.CheckStateChangedEvent)
         */
        public void checkStateChanged(CheckStateChangedEvent event) {
            ProjectRecord element = (ProjectRecord) event.getElement();
            if (element.hasConflicts) {
                projectsList.setChecked(element, false);
            }
            setPageComplete(projectsList.getCheckedElements().length > 0);
        }
    });

    projectsList.setInput(this);
    projectsList.setComparator(new ViewerComparator());
    createSelectionButtons(listComposite);
}

From source file:org.eclipse.recommenders.internal.apidocs.rcp.ApidocsView.java

License:Open Source License

private void createProviderOverview() {
    viewer = new TableViewer(sash, SWT.SINGLE);

    addDnDSupport();/* w w w  .ja  v a2  s  .  c  o  m*/

    viewer.setComparator(new ViewerComparator() {

        @Override
        public int compare(Viewer viewer, Object first, Object second) {
            int indexFirst = providerRanking.indexOf(first);
            int indexSecond = providerRanking.indexOf(second);

            return indexFirst - indexSecond;
        }
    });

    viewer.setContentProvider(new ArrayContentProvider());
    viewer.setLabelProvider(new LabelProvider() {

        @Override
        public String getText(Object element) {
            return ((ApidocProvider) element).getDescription().getName();
        }

        @Override
        public Image getImage(Object element) {
            return ((ApidocProvider) element).getDescription().getImage();
        }
    });
    viewer.setInput(providers);
    viewer.addSelectionChangedListener(new ISelectionChangedListener() {

        @Override
        public void selectionChanged(SelectionChangedEvent event) {
            ApidocProvider newProvider = Selections.<ApidocProvider>getFirstSelected(event.getSelection())
                    .orNull();
            if (newProvider == activeProvider) {
                return;
            }
            activeProvider = newProvider;
            Job job = new Job(Messages.JOB_UPDATING_APIDOCS) {

                @Override
                protected IStatus run(IProgressMonitor monitor) {
                    onJavaSelection(activeSelection);
                    return Status.OK_STATUS;
                }
            };
            job.setSystem(true);
            job.schedule();
        }
    });
    viewer.setSelection(new StructuredSelection(Iterables.getFirst(providers, null)));
}

From source file:org.eclipse.remote.internal.ui.preferences.ConnectionsPreferencePage.java

License:Open Source License

/**
 * Create the widgets for this page/* w w w.  j  a v a2s  .com*/
 * 
 * @param parent
 *            The parent widget for the client area
 * @return
 */
private Control createWidgets(Composite parent) {
    fEventHandler = new EventHandler();

    Composite selectComp = new Composite(parent, SWT.NONE);
    selectComp.setLayout(new GridLayout(2, false));
    selectComp.setLayoutData(new GridData(SWT.LEFT, SWT.CENTER, false, false, 2, 1));

    Label label = new Label(selectComp, SWT.NONE);
    label.setText(Messages.ConnectionsPreferencePage_Remote_Services);
    label.setLayoutData(new GridData());
    fServicesCombo = new Combo(selectComp, SWT.READ_ONLY);
    label.setLayoutData(new GridData());

    IRemoteServicesManager manager = RemoteUIPlugin.getService(IRemoteServicesManager.class);
    List<IRemoteConnectionType> services = manager.getRemoteConnectionTypes();
    String[] names = new String[services.size()];
    fServiceIDs = new String[services.size()];
    {
        int i = 0;
        for (IRemoteConnectionType s : services) {
            names[i] = s.getName();
            fServiceIDs[i] = s.getId();
            i++;
        }
    }
    fServicesCombo.addSelectionListener(fEventHandler);
    fServicesCombo.setItems(names);

    Composite preferencePane = new Composite(parent, SWT.NONE);
    preferencePane.setLayout(new GridLayout(2, false));

    fConnectionTable = new Table(preferencePane, SWT.MULTI | SWT.FULL_SELECTION | SWT.BORDER);
    GridData data = new GridData(GridData.FILL_BOTH);
    data.widthHint = 425;
    data.heightHint = fConnectionTable.getItemHeight();
    data.horizontalSpan = 1;
    fConnectionTable.setLayoutData(data);
    fConnectionTable.setFont(parent.getFont());
    fConnectionTable.addSelectionListener(fEventHandler);
    fConnectionTable.addMouseListener(new MouseListener() {
        @Override
        public void mouseDoubleClick(MouseEvent e) {
            if (fSelectedConnection != null) {
                IRemoteConnection original = getOriginalIfClean(fSelectedConnection);
                if (original.isOpen()) {
                    editConnection();
                }
            }
        }

        @Override
        public void mouseDown(MouseEvent e) {
            // Nothing
        }

        @Override
        public void mouseUp(MouseEvent e) {
            // Nothing
        }
    });

    TableLayout tableLayout = new TableLayout();
    fConnectionTable.setLayout(tableLayout);
    fConnectionTable.setHeaderVisible(true);
    fConnectionTable.setLinesVisible(true);

    for (int i = 0; i < fTableColumnHeaders.length; i++) {
        tableLayout.addColumnData(fTableColumnLayouts[i]);
        TableColumn column = new TableColumn(fConnectionTable, SWT.NONE, i);
        column.setResizable(fTableColumnLayouts[i].resizable);
        column.setText(fTableColumnHeaders[i]);
    }
    fConnectionViewer = new TableViewer(fConnectionTable);
    fConnectionViewer.setContentProvider(new ConnectionContentProvider());
    fConnectionViewer.setLabelProvider(new ConnectionLabelProvider());
    fConnectionViewer.setComparator(new ViewerComparator());
    fConnectionViewer.setInput(this);

    Composite buttonPane = new Composite(preferencePane, SWT.NONE);
    buttonPane.setLayout(new GridLayout(1, false));
    buttonPane.setLayoutData(new GridData(GridData.FILL_VERTICAL));
    buttonPane.setFont(preferencePane.getFont());

    fAddButton = new Button(buttonPane, SWT.PUSH);
    setButtonLayoutData(fAddButton);
    fAddButton.setText(Messages.ConnectionsPreferencePage_Add);
    fAddButton.addSelectionListener(fEventHandler);
    fEditButton = new Button(buttonPane, SWT.PUSH);
    setButtonLayoutData(fEditButton);
    fEditButton.setText(Messages.ConnectionsPreferencePage_Edit);
    fEditButton.addSelectionListener(fEventHandler);
    fEditButton.setEnabled(false);
    fRemoveButton = new Button(buttonPane, SWT.PUSH);
    setButtonLayoutData(fRemoveButton);
    fRemoveButton.setText(Messages.ConnectionsPreferencePage_Remove);
    fRemoveButton.addSelectionListener(fEventHandler);
    fRemoveButton.setEnabled(false);
    fOpenButton = new Button(buttonPane, SWT.PUSH);
    setButtonLayoutData(fOpenButton);
    fOpenButton.setText(Messages.ConnectionsPreferencePage_Open);
    fOpenButton.addSelectionListener(fEventHandler);
    fOpenButton.setEnabled(false);
    fCloseButton = new Button(buttonPane, SWT.PUSH);
    setButtonLayoutData(fCloseButton);
    fCloseButton.setText(Messages.ConnectionsPreferencePage_Close);
    fCloseButton.addSelectionListener(fEventHandler);
    fCloseButton.setEnabled(false);

    if (fServiceIDs.length > 0) {
        String id = Preferences.getString(IRemotePreferenceConstants.PREF_CONNECTION_TYPE_ID);
        if ("".equals(id)) { //$NON-NLS-1$
            id = fServiceIDs[0];
        }
        for (int i = 0; i < fServiceIDs.length; i++) {
            if (id.equals(fServiceIDs[i])) {
                fServicesCombo.select(i);
            }
        }
        selectServices(id);
    }

    return preferencePane;
}

From source file:org.eclipse.sapphire.ui.forms.swt.SwtUtil.java

License:Open Source License

public static void sortByTableColumn(final TableViewer tableViewer, final TableColumn column,
        final int direction, final Comparator<Object> comparator) {
    final Table table = tableViewer.getTable();

    table.setSortColumn(column);/*from  ww  w .  j a  v  a  2s . c  o  m*/
    table.setSortDirection(direction);

    final Comparator<Object> comp;

    if (comparator != null) {
        comp = comparator;
    } else {
        comp = new ColumnSortComparator();
    }

    tableViewer.setComparator(new ViewerComparator() {
        @Override
        public int compare(final Viewer viewer, final Object x, final Object y) {
            int result = comp.compare(x, y);

            if (direction == SWT.UP) {
                result = result * -1;
            }

            return result;
        }
    });
}