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:com.google.dart.tools.ui.web.pubspec.DependenciesMasterBlock.java

License:Open Source License

@Override
protected void createMasterPart(final IManagedForm managedForm, Composite parent) {
    FormToolkit toolkit = managedForm.getToolkit();
    Section section = toolkit.createSection(parent, Section.DESCRIPTION | Section.TITLE_BAR);
    section.setText("Dependencies"); //$NON-NLS-1$
    section.setDescription("Specify all the packages required by this package"); //$NON-NLS-1$
    section.marginHeight = 5;//  w w  w . j  av  a  2 s . co  m
    Composite client = toolkit.createComposite(section, SWT.WRAP);
    GridLayout layout = new GridLayout();
    layout.numColumns = 2;
    layout.marginWidth = 2;
    layout.marginHeight = 2;
    client.setLayout(layout);
    Table t = toolkit.createTable(client, SWT.NULL);
    GridData gd = new GridData(GridData.FILL_BOTH);
    gd.heightHint = 20;
    gd.widthHint = 100;
    t.setLayoutData(gd);
    toolkit.paintBordersFor(client);
    Composite buttonGroup = toolkit.createComposite(client);
    gd = new GridData(GridData.VERTICAL_ALIGN_BEGINNING);
    buttonGroup.setLayoutData(gd);
    buttonGroup.setLayout(new GridLayout());

    Button addButton = toolkit.createButton(buttonGroup, "Add...", SWT.PUSH);
    addButton.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false));
    addButton.addSelectionListener(new SelectionAdapter() {

        @Override
        public void widgetSelected(SelectionEvent e) {
            handleAddDependency();

        }
    });
    PixelConverter converter = new PixelConverter(addButton);
    int widthHint = converter.convertHorizontalDLUsToPixels(IDialogConstants.BUTTON_WIDTH);
    GridDataFactory.swtDefaults().hint(widthHint, -1).applyTo(addButton);
    Button b = toolkit.createButton(buttonGroup, "Remove", SWT.PUSH);
    b.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false));
    b.addSelectionListener(new SelectionAdapter() {

        @Override
        public void widgetSelected(SelectionEvent e) {
            handleRemoveDependency();

        }
    });

    GridDataFactory.swtDefaults().hint(widthHint, -1).applyTo(b);
    section.setClient(client);
    sectionPart = new SectionPart(section);
    managedForm.addPart(sectionPart);
    viewer = new TableViewer(t);
    viewer.addSelectionChangedListener(new ISelectionChangedListener() {
        @Override
        public void selectionChanged(SelectionChangedEvent event) {
            managedForm.fireSelectionChanged(sectionPart, event.getSelection());
        }
    });
    viewer.setContentProvider(new MasterContentProvider());
    viewer.setLabelProvider(new MasterLabelProvider());
    viewer.setComparator(new ViewerComparator());
    viewer.setInput(page.getEditor().getEditorInput());
    model.addModelListener(this);
}

From source file:com.google.devtools.depan.resource_doc.eclipse.ui.widgets.ProjectResourceControl.java

License:Apache License

protected DrillDownComposite setupContainerControl(Composite parent) {
    DrillDownComposite result = new DrillDownComposite(parent, SWT.BORDER);

    containerViewer = new TreeViewer(result, SWT.NONE);
    result.setChildTree(containerViewer);

    containerViewer.setContentProvider(new WorkbenchContentProvider());
    containerViewer.setLabelProvider(new WorkbenchLabelProvider());
    containerViewer.setComparator(new ViewerComparator());
    containerViewer.setUseHashlookup(true);
    containerViewer.setInput(prepareInput());
    return result;
}

From source file:com.google.gapid.views.ActivityPickerDialog.java

License:Apache License

@Override
protected Control createDialogArea(Composite parent) {
    Composite area = (Composite) super.createDialogArea(parent);

    Composite container = createComposite(area, new GridLayout(1, false));
    container.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));

    SearchBox search = new SearchBox(container, true);
    search.setLayoutData(new GridData(SWT.FILL, SWT.TOP, true, false));

    loading = LoadablePanel.create(container, widgets, p -> createTreeForViewer(p, SWT.BORDER));
    loading.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));
    tree = Widgets.createTreeViewer(loading.getContents());
    tree.setContentProvider(new PackageContentProvider());
    labelProvider = new PackageLabelProvider(widgets.theme);
    tree.setLabelProvider(new DelegatingStyledCellLabelProvider(labelProvider));
    tree.setComparator(new ViewerComparator()); // Sort by name.

    tree.getTree().addListener(SWT.Selection, e -> {
        selected = Action.getFor((TreeItem) e.item);
    });/*from   w  w  w.ja va2  s.com*/
    resources = new LocalResourceManager(JFaceResources.getResources(), tree.getTree());

    update();

    search.addListener(Events.Search, e -> {
        if (e.text.isEmpty()) {
            tree.resetFilters();
            return;
        }

        Pattern pattern = SearchBox.getPattern(e.text, (e.detail & Events.REGEX) != 0);
        tree.setFilters(new ViewerFilter() {
            @Override
            public boolean select(Viewer viewer, Object parentElement, Object element) {
                return !(element instanceof PkgInfo.Package)
                        || pattern.matcher(((PkgInfo.Package) element).getName()).find();
            }
        });
    });
    return area;
}

From source file:com.google.gdt.eclipse.gph.egit.wizard.CloneRepositoryWizardPage.java

License:Open Source License

@Override
protected Control createPageContents(Composite parent) {
    Composite composite = new Composite(parent, SWT.NONE);
    GridLayoutFactory.swtDefaults().margins(10, 10).applyTo(composite);

    Group selectRepoGroup = new Group(composite, SWT.NONE);
    selectRepoGroup.setText("Repository to import from");
    GridDataFactory.fillDefaults().grab(true, false).applyTo(selectRepoGroup);
    GridLayoutFactory.swtDefaults().applyTo(selectRepoGroup);

    repoList = new TableViewer(selectRepoGroup, SWT.SINGLE | SWT.BORDER);
    repoList.setLabelProvider(new RepositoryLabelProvider());
    repoList.setContentProvider(new ArrayContentProvider());
    repoList.setComparator(new ViewerComparator());
    repoList.setInput(wizard.getGPHProject().getRepoUrls());
    Object firstElement = repoList.getElementAt(0);
    if (firstElement != null) {
        repoList.setSelection(new StructuredSelection(firstElement));
    }// w  ww  .ja  v  a2s .c o m
    repoList.addSelectionChangedListener(new ISelectionChangedListener() {
        @Override
        public void selectionChanged(SelectionChangedEvent event) {
            handleRepoSelectionChanged();
        }
    });
    GridDataFactory.swtDefaults().align(SWT.FILL, SWT.FILL).grab(true, false).hint(SWT.DEFAULT, 80)
            .applyTo(repoList.getTable());

    Group selectLocalDirGroup = new Group(composite, SWT.NONE);
    selectLocalDirGroup.setText("Select local destination directory");
    GridDataFactory.fillDefaults().grab(true, true).applyTo(selectLocalDirGroup);
    GridLayoutFactory.swtDefaults().numColumns(3).applyTo(selectLocalDirGroup);

    Label label = new Label(selectLocalDirGroup, SWT.NONE);
    label.setText("Destination:");

    destinationText = new Text(selectLocalDirGroup, SWT.BORDER | SWT.SINGLE);
    destinationText.addModifyListener(new ModifyListener() {
        @Override
        public void modifyText(ModifyEvent e) {
            updateButtons();
        }
    });
    GridDataFactory.swtDefaults().align(SWT.FILL, SWT.CENTER).grab(true, false).applyTo(destinationText);

    Button button = new Button(selectLocalDirGroup, SWT.PUSH);
    button.setText("Browse...");
    PixelConverter converter = new PixelConverter(button);
    int widthHint = converter.convertHorizontalDLUsToPixels(IDialogConstants.BUTTON_WIDTH);
    GridDataFactory.swtDefaults().hint(widthHint, -1).applyTo(button);
    button.addSelectionListener(new SelectionAdapter() {
        @Override
        public void widgetSelected(SelectionEvent e) {
            performSelectLocalDirectory();
        }
    });

    Group cloneRepoGroup = new Group(composite, SWT.NONE);
    cloneRepoGroup.setText("Clone repository");
    GridDataFactory.fillDefaults().grab(true, true).applyTo(cloneRepoGroup);
    GridLayoutFactory.swtDefaults().numColumns(3).applyTo(cloneRepoGroup);

    cloneFeedbackLabel = new CLabel(cloneRepoGroup, SWT.NONE);
    GridDataFactory.swtDefaults().align(SWT.FILL, SWT.CENTER).grab(true, false).applyTo(cloneFeedbackLabel);

    cloneButton = new Button(cloneRepoGroup, SWT.PUSH);
    cloneButton.setText("Clone");
    GridDataFactory.swtDefaults().hint(widthHint, -1).applyTo(cloneButton);
    cloneButton.addSelectionListener(new SelectionAdapter() {
        @Override
        public void widgetSelected(SelectionEvent e) {
            performCloneRepo();
        }
    });

    handleRepoSelectionChanged();

    return composite;
}

From source file:com.google.gdt.eclipse.gph.egit.wizard.ImportProjectsWizardPage.java

License:Open Source License

/**
 * Create the checkbox list for the found projects.
 * /*  w  w  w  . j  a v  a 2s.  c  om*/
 * @param workArea
 */
private void createProjectsList(Composite workArea) {
    Group listComposite = new Group(workArea, SWT.NONE);
    listComposite.setText("Projects to import");
    GridLayout layout = new GridLayout();
    layout.numColumns = 2;
    //layout.marginWidth = 0;
    layout.makeColumnsEqualWidth = false;
    layout.marginHeight = 10;
    layout.marginWidth = 10;
    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() {
        @Override
        public void dispose() {

        }

        @Override
        public Object[] getChildren(Object parentElement) {
            return null;
        }

        @Override
        public Object[] getElements(Object inputElement) {
            return getProjectRecords();
        }

        @Override
        public Object getParent(Object element) {
            return null;
        }

        @Override
        public boolean hasChildren(Object element) {
            return false;
        }

        @Override
        public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {
        }
    });

    projectsList.setLabelProvider(new ProjectLabelProvider());

    projectsList.addCheckStateListener(new ICheckStateListener() {
        @Override
        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:com.google.gdt.eclipse.gph.wizards.SelectHostedProjectWizardPage.java

License:Open Source License

public void createControl(Composite parent) {
    Composite composite = new Composite(parent, SWT.NONE);
    GridLayout layout = new GridLayout(1, false);
    layout.marginWidth = 10;/*from   www  . ja v  a2 s  .  c  om*/
    layout.marginHeight = 10;
    composite.setLayout(layout);

    SashForm sash = new SashForm(composite, SWT.HORIZONTAL);
    GridData data = new GridData(GridData.FILL_BOTH);
    data.widthHint = 400;
    data.heightHint = 300;
    sash.setLayoutData(data);

    projectViewer = new TableViewer(sash, SWT.SINGLE | SWT.V_SCROLL | SWT.BORDER);
    projectViewer.setContentProvider(new ArrayContentProvider());
    projectViewer.setLabelProvider(new ModelLabelProvider());
    projectViewer.setComparator(new ViewerComparator());
    projectViewer.addSelectionChangedListener(new ISelectionChangedListener() {
        public void selectionChanged(SelectionChangedEvent event) {
            updateProjectBrowser();
            getContainer().updateButtons();
        }
    });
    projectViewer.addDoubleClickListener(new IDoubleClickListener() {
        public void doubleClick(DoubleClickEvent event) {
            handleDoubleClick();
        }
    });

    projectControl = new ProjectViewer(sash);

    sash.setWeights(new int[] { 35, 65 });

    showProjectInBrowser(null);

    setControl(composite);
}

From source file:com.google.gwt.eclipse.core.launch.ui.LegacyGWTHostPageSelectionDialog.java

License:Open Source License

private LegacyGWTHostPageSelectionDialog(Shell parent, IProject project,
        Map<String, Set<String>> hostPagesByModule, boolean isExternal) {
    super(parent, new LegacyHostPageSelectionLabelProvider(), new LegacyGWTHostPageSelectionContentProvider());

    this.isExternal = isExternal;
    this.project = project;
    this.isEmpty = hostPagesByModule.isEmpty();
    this.useHostPage = !isEmpty;

    setValidator(new LegacyHostPageSelectionStatusValidator());
    setTitle("Host page selection");
    setMessage("Choose a host page to launch the application with:");

    setInput(LegacyGWTHostPageSelectionTreeItem.buildTree(hostPagesByModule));
    setComparator(new ViewerComparator());
}

From source file:com.google.gwt.eclipse.core.wizards.HostPagePathSelectionDialog.java

License:Open Source License

private HostPagePathSelectionDialog(Shell parent, IProject project) {
    super(parent, new HostPagePathLabelProvider(), new HostPagePathContentProvider());

    setTitle("Existing Folder Selection");
    setMessage("Choose a location for the HTML page");

    rootTreeItems = HostPagePathTreeItem.createRootItems(project);
    setInput(rootTreeItems);//from  w w w  .j a va  2s  .c om
    setComparator(new ViewerComparator());
}

From source file:com.google.gwt.eclipse.oophm.views.hierarchical.LogContent.java

License:Open Source License

@SuppressWarnings("deprecation")
private void createViewer(Composite parent) {

    logEntries = new FilteredTree(parent, SWT.MULTI | SWT.H_SCROLL | SWT.V_SCROLL | SWT.BORDER,
            new PatternFilter());

    treeViewer = logEntries.getViewer();
    treeViewer.setComparator(new ViewerComparator() {
        @Override/*from www. j  a va  2 s.  c o  m*/
        public int compare(Viewer viewer, Object e1, Object e2) {
            assert (e1 instanceof LogEntry<?>);
            assert (e2 instanceof LogEntry<?>);

            LogEntry<?> entry1 = (LogEntry<?>) e1;
            LogEntry<?> entry2 = (LogEntry<?>) e2;

            assert (entry2.getParent() == entry1.getParent());
            List<?> siblings = entry1.getParent().getAllChildren();
            return (siblings.indexOf(entry1) - siblings.indexOf(entry2));
        }
    });

    logLabelProvider = new LogLabelProvider<T>();
    treeViewer.setLabelProvider(logLabelProvider);
    treeViewer.setContentProvider(new LogContentProvider<T>());
    treeViewer.setInput(log.getRootLogEntry());
    treeViewer.addSelectionChangedListener(new ISelectionChangedListener() {
        @Override
        public void selectionChanged(SelectionChangedEvent event) {
            updateDetailsPane(event);
        }
    });
    treeViewer.getTree().addKeyListener(new EnterKeyTreeToggleKeyAdapter(treeViewer));

    Menu menu = new Menu(treeViewer.getTree());
    MenuItem copy = new MenuItem(menu, SWT.NONE);
    copy.setText("Copy");
    copy.addSelectionListener(new SelectionAdapter() {
        @Override
        public void widgetSelected(SelectionEvent e) {
            copyTreeSelectionToClipboard();
        }
    });

    new MenuItem(menu, SWT.SEPARATOR);

    MenuItem collapseAll = new MenuItem(menu, SWT.NONE);
    collapseAll.setText("Collapse All");
    collapseAll.addSelectionListener(new SelectionAdapter() {
        @Override
        public void widgetSelected(SelectionEvent e) {
            treeViewer.collapseAll();
        }
    });

    MenuItem expandAll = new MenuItem(menu, SWT.NONE);
    expandAll.setText("Expand All");
    expandAll.addSelectionListener(new SelectionAdapter() {
        @Override
        public void widgetSelected(SelectionEvent e) {
            treeViewer.expandAll();
        }
    });

    treeViewer.getTree().setMenu(menu);

    treeViewer.getTree().addKeyListener(new KeyAdapter() {
        @Override
        public void keyReleased(KeyEvent e) {
            // SWT.MOD1 corresponds to the ctrl key on Windows/linux, and command on
            // mac
            if ((e.stateMask & SWT.MOD1) > 0 && e.keyCode == 'c') {
                copyTreeSelectionToClipboard();
            }
        }
    });

}

From source file:com.kdmanalytics.toif.report.internal.importWizard.RepositoryImportWizardPage.java

License:Open Source License

/**
 * create the project tree in the dialog.
 * //from  w  ww .  j a va  2s. c o m
 * @param page
 */
private void createProjectTree(Composite page) {
    Label label = new Label(page, SWT.NONE);
    label.setText("Select target project:");

    DrillDownComposite drillDown = new DrillDownComposite(page, SWT.BORDER);
    GridData spec = new GridData(SWT.FILL, SWT.FILL, true, true);
    spec.widthHint = SIZING_SELECTION_PANE_WIDTH;
    spec.heightHint = SIZING_CONTAINER_GROUP_HEIGHT;
    drillDown.setLayoutData(spec);
    TreeViewer tree = new TreeViewer(drillDown, SWT.NONE);
    drillDown.setChildTree(tree);
    contentprovider = new TOIFImportTreeContentProvider();
    tree.setContentProvider(contentprovider);
    tree.setLabelProvider(WorkbenchLabelProvider.getDecoratingWorkbenchLabelProvider());
    tree.setComparator(new ViewerComparator());
    tree.setUseHashlookup(true);
    tree.setInput(ResourcesPlugin.getWorkspace());
    tree.addSelectionChangedListener(this);
}