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.aptana.index.core.ui.views.IndexView.java

License:Open Source License

@Override
public void createPartControl(Composite parent) {
    treeViewer = new TreeViewer(parent, SWT.MULTI | SWT.H_SCROLL | SWT.V_SCROLL);
    contentProvider = new IndexViewContentProvider();
    labelProvider = new IndexViewLabelProvider();
    actionProvider = new IndexViewActionProvider();

    // set content and label providers
    treeViewer.setContentProvider(contentProvider);
    treeViewer.setLabelProvider(labelProvider);
    treeViewer.setComparator(new ViewerComparator() {
        @Override//from   w  w  w.  j  a  v  a2 s .c o m
        public int compare(Viewer viewer, Object e1, Object e2) {
            String name1 = null;
            String name2 = null;

            if (viewer != null && viewer instanceof ContentViewer) {
                IBaseLabelProvider provider = ((ContentViewer) viewer).getLabelProvider();

                if (provider instanceof ILabelProvider) {
                    ILabelProvider labelProvider = (ILabelProvider) provider;

                    name1 = labelProvider.getText(e1);
                    name2 = labelProvider.getText(e2);
                }
            }

            if (name1 == null) {
                name1 = e1.toString();
            }
            if (name2 == null) {
                name2 = e2.toString();
            }

            return name1.compareToIgnoreCase(name2);
        }
    });

    // set input based on the current selection
    ISelectionService selectionService = getSite().getWorkbenchWindow().getSelectionService();
    ISelection selection = selectionService.getSelection(IPageLayout.ID_PROJECT_EXPLORER);
    setInputFromSelection(selection);

    // add selection provider
    this.getSite().setSelectionProvider(treeViewer);

    // listen to theme changes
    hookContextMenu();
    addListeners();
    applyTheme();
}

From source file:com.aptana.projects.wizards.ProjectTemplateSelectionPage.java

License:Open Source License

private Composite createTemplatesList(Composite parent) {
    Composite main = new Composite(parent, SWT.NONE);
    main.setLayout(GridLayoutFactory.fillDefaults().spacing(0, 0).numColumns(2).create());
    Color background = main.getDisplay().getSystemColor(SWT.COLOR_WHITE);
    main.setBackground(background);//from www.  j  a va 2  s.c  o m

    // the left side is the list of template tags
    Composite templateTags = new Composite(main, SWT.BORDER);
    templateTags.setLayout(GridLayoutFactory.swtDefaults().create());
    // If there are only the "All" tag and one other tag, don't both showing the left column.
    boolean exclude = templateTagsMap.size() <= 2;
    templateTags.setLayoutData(
            GridDataFactory.fillDefaults().grab(false, true).hint(150, SWT.DEFAULT).exclude(exclude).create());
    templateTags.setBackground(background);

    List<String> tags = new ArrayList<String>(templateTagsMap.keySet());
    Collections.sort(tags);
    tagsListViewer = new TableViewer(templateTags, SWT.SINGLE | SWT.FULL_SELECTION);
    tagsListViewer.setContentProvider(ArrayContentProvider.getInstance());
    tagsListViewer.setLabelProvider(new LabelProvider() {

        @Override
        public Image getImage(Object element) {
            if (element instanceof String) {
                return getProjectTemplatesManager().getImageForTag((String) element);
            }
            return super.getImage(element);
        }
    });
    tagsListViewer.setInput(tags);
    tagsListViewer.setComparator(new ViewerComparator() {

        @Override
        public int category(Object element) {
            // make sure the "All" tag appears at the bottom
            return TAG_ALL.equals(element) ? 1 : 0;
        }
    });
    Table tagsList = tagsListViewer.getTable();
    tagsList.setLayoutData(GridDataFactory.fillDefaults().grab(true, true).create());
    tagsList.setBackground(background);
    FontData[] fontData = SWTUtils.resizeFont(tagsList.getFont(), 2);
    final Font tagFont = new Font(tagsList.getDisplay(), fontData);
    tagsList.setFont(tagFont);
    tagsList.addDisposeListener(new DisposeListener() {

        public void widgetDisposed(DisposeEvent e) {
            tagFont.dispose();
        }
    });
    tagsListViewer.addSelectionChangedListener(tagSelectionChangedListener);

    // the right side has the list of templates for the selected tag and the details on the selected template
    Composite rightComp = new Composite(main, SWT.BORDER);
    rightComp.setLayout(GridLayoutFactory.fillDefaults().create());
    rightComp.setLayoutData(GridDataFactory.fillDefaults().grab(true, true).create());
    rightComp.setBackground(background);

    templatesListComposite = new Composite(rightComp, SWT.NONE);
    templatesListComposite.setLayout(
            RowLayoutFactory.swtDefaults().extendedMargins(5, 5, 5, 5).spacing(10).fill(true).create());
    templatesListComposite
            .setLayoutData(GridDataFactory.fillDefaults().grab(true, true).hint(450, 250).create());
    templatesListComposite.setBackground(background);

    Label separator = new Label(rightComp, SWT.SEPARATOR | SWT.HORIZONTAL);
    separator.setLayoutData(GridDataFactory.fillDefaults().grab(true, false).create());

    Composite descriptionComp = createTemplateDescription(rightComp);
    descriptionComp
            .setLayoutData(GridDataFactory.fillDefaults().grab(true, false).hint(SWT.DEFAULT, 110).create());

    return main;
}

From source file:com.aptana.samples.ui.views.SamplesView.java

License:Open Source License

protected TreeViewer createTreeViewer(Composite parent) {
    TreeViewer treeViewer = new TreeViewer(parent, SWT.SINGLE | SWT.H_SCROLL | SWT.V_SCROLL);
    treeViewer.setContentProvider(new SamplesViewContentProvider());
    treeViewer.setLabelProvider(new SamplesViewLabelProvider());
    treeViewer.setInput(getSamplesManager());
    treeViewer.setComparator(new ViewerComparator());
    ColumnViewerToolTipSupport.enableFor(treeViewer);

    return treeViewer;
}

From source file:com.aptana.scripting.ui.views.BundleView.java

License:Open Source License

/**
 * createPartControl/*from w ww.  jav  a 2s.  co  m*/
 */
public void createPartControl(Composite parent) {
    treeViewer = new TreeViewer(parent, SWT.MULTI | SWT.H_SCROLL | SWT.V_SCROLL);
    contentProvider = new BundleViewContentProvider();
    labelProvider = new BundleViewLabelProvider();

    treeViewer.setContentProvider(contentProvider);
    treeViewer.setLabelProvider(labelProvider);
    treeViewer.setInput(BundleManager.getInstance());
    treeViewer.setComparator(new ViewerComparator() {
        /*
         * (non-Javadoc)
         * @see org.eclipse.jface.viewers.ViewerComparator#compare(org.eclipse.jface.viewers.Viewer,
         * java.lang.Object, java.lang.Object)
         */
        @Override
        public int compare(Viewer viewer, Object e1, Object e2) {
            String name1 = null;
            String name2 = null;

            if (viewer != null && viewer instanceof ContentViewer) {
                IBaseLabelProvider provider = ((ContentViewer) viewer).getLabelProvider();

                if (provider instanceof ILabelProvider) {
                    ILabelProvider labelProvider = (ILabelProvider) provider;

                    name1 = labelProvider.getText(e1);
                    name2 = labelProvider.getText(e2);
                }
            }

            if (name1 == null) {
                name1 = e1.toString();
            }
            if (name2 == null) {
                name2 = e2.toString();
            }

            return name1.compareTo(name2);
        }
    });

    // add selection provider
    getSite().setSelectionProvider(treeViewer);

    // listen to theme changes
    hookContextMenu();
    addListeners();
    applyTheme();
}

From source file:com.aptana.ui.preferences.ProjectBuildPathPropertyPage.java

License:Open Source License

/**
 * @return/*from  ww  w  .j  a v  a 2  s  . c  om*/
 */
private ViewerComparator getCompartor() {
    return new ViewerComparator() {

        public int compare(Viewer viewer, Object e1, Object e2) {
            if (e1 instanceof BuildPathEntry && e2 instanceof BuildPathEntry) {
                BuildPathEntry bpe1 = (BuildPathEntry) e1;
                BuildPathEntry bpe2 = (BuildPathEntry) e2;

                return bpe1.getDisplayName().compareTo(bpe2.getDisplayName());
            }

            return 0;
        }
    };
}

From source file:com.aptana.ui.preferences.TroubleshootingPreferencePage.java

License:Open Source License

/**
 * Creates the field editors. Field editors are abstractions of the common GUI blocks needed to manipulate various
 * types of preferences. Each field editor knows how to save and restore itself.
 *//*from  w  ww .ja  v  a  2 s  .c  o  m*/
public void createFieldEditors() {
    Composite appearanceComposite = getFieldEditorParent();

    Composite group = AptanaPreferencePage.createGroup(appearanceComposite,
            Messages.TroubleshootingPreferencePage_LBL_DebuggingOutputLevel);

    Composite debugComp = new Composite(group, SWT.NONE);
    debugComp.setLayout(GridLayoutFactory.fillDefaults().margins(0, 5).numColumns(2).create());
    debugComp.setLayoutData(GridDataFactory.fillDefaults().grab(true, false).create());

    Label levelLabel = new Label(debugComp, SWT.NONE);
    levelLabel.setText(Messages.TroubleshootingPreferencePage_LBL_DebugLevel);
    levelLabel.setLayoutData(GridDataFactory.swtDefaults().create());

    debugCombo = new Combo(debugComp, SWT.READ_ONLY);
    debugCombo.setItems(new String[] { Messages.TroubleshootingPreferencePage_Level_Errors,
            Messages.TroubleshootingPreferencePage_Level_Warnings,
            Messages.TroubleshootingPreferencePage_Level_All });
    debugCombo.select(StatusLevel
            .valueOf(getPreferenceStore().getString(ICorePreferenceConstants.PREF_DEBUG_LEVEL)).ordinal());

    final Label currentValue = new Label(debugComp, SWT.LEFT);
    currentValue.setText(getValueLabel(debugCombo.getSelectionIndex()));
    currentValue.setFont(SWTUtils.getDefaultSmallFont());
    currentValue.setLayoutData(GridDataFactory.fillDefaults().span(2, 0).grab(true, true).create());

    debugCombo.addSelectionListener(new SelectionListener() {

        public void widgetDefaultSelected(SelectionEvent e) {
            widgetSelected(e);
        }

        public void widgetSelected(SelectionEvent e) {
            currentValue.setText(getValueLabel(debugCombo.getSelectionIndex()));
        }
    });

    BooleanFieldEditor showHiddenProcesses = new BooleanFieldEditor(
            ICorePreferenceConstants.PREF_SHOW_SYSTEM_JOBS,
            Messages.TroubleshootingPreferencePage_ShowHiddenProcesses, SWT.DEFAULT, group);
    addField(showHiddenProcesses);

    toggleComponents = new BooleanFieldEditor(ICorePreferenceConstants.PREF_ENABLE_COMPONENT_DEBUGGING,
            Messages.TroubleshootingPreferencePage_DebugSpecificComponents, SWT.DEFAULT, group);
    addField(toggleComponents);

    Composite composite = new Composite(group, SWT.NONE);
    composite.setLayout(GridLayoutFactory.fillDefaults().margins(0, 5).create());
    composite.setLayoutData(GridDataFactory.fillDefaults().span(2, 0).hint(400, 300).grab(true, true).create());

    Table table = new Table(composite, SWT.CHECK | SWT.BORDER | SWT.SINGLE);
    table.setFont(group.getFont());

    categoryViewer = new CheckboxTableViewer(table);
    categoryViewer.getControl().setFont(group.getFont());
    categoryViewer.getControl().setLayoutData(new GridData(GridData.FILL_BOTH));
    categoryViewer.setContentProvider(ArrayContentProvider.getInstance());
    categoryViewer.setLabelProvider(new ColumnLabelProvider());
    categoryViewer.setComparator(new ViewerComparator());

    Map<String, String> tItems = EclipseUtil.getTraceableItems();
    Set<String> keys = tItems.keySet();
    String[] items = keys.toArray(new String[keys.size()]);
    Arrays.sort(items);

    categoryViewer.setInput(items);
    categoryViewer.setCheckedElements(EclipseUtil.getCurrentDebuggableComponents());
    categoryViewer.getTable().setEnabled(false);

    if (getPreferenceStore().getBoolean(ICorePreferenceConstants.PREF_ENABLE_COMPONENT_DEBUGGING)) {
        categoryViewer.getTable().setEnabled(true);
    }

    Composite buttonComp = new Composite(composite, SWT.NONE);
    buttonComp.setLayout(GridLayoutFactory.fillDefaults().numColumns(2).create());
    buttonComp.setLayoutData(GridDataFactory.fillDefaults().create());

    Button selectAllButton = new Button(buttonComp, SWT.BORDER);
    selectAllButton.setText(Messages.TroubleshootingPreferencePage_SelectAll);
    selectAllButton.addSelectionListener(new SelectionAdapter() {
        @Override
        public void widgetSelected(SelectionEvent e) {
            categoryViewer.setAllChecked(true);
        }
    });

    Button selectNoneButton = new Button(buttonComp, SWT.BORDER);
    selectNoneButton.setText(Messages.TroubleshootingPreferencePage_SelectNone);
    selectNoneButton.addSelectionListener(new SelectionAdapter() {
        @Override
        public void widgetSelected(SelectionEvent e) {
            categoryViewer.setAllChecked(false);
        }
    });
}

From source file:com.aptana.ui.widgets.CListTable.java

License:Open Source License

private void createTable(Composite parent) {
    tableViewer = new TableViewer(parent, SWT.MULTI | SWT.BORDER | SWT.FULL_SELECTION);
    tableViewer.getControl().setLayoutData(GridDataFactory.fillDefaults().grab(true, true).create());

    tableViewer.setContentProvider(ArrayContentProvider.getInstance());
    tableViewer.setLabelProvider(new LabelProvider());
    tableViewer.setComparator(new ViewerComparator());
    tableViewer.setInput(items);//from w  ww . j  a va  2s  . c o m
    tableViewer.addSelectionChangedListener(new ISelectionChangedListener() {

        public void selectionChanged(SelectionChangedEvent event) {
            updateStates();
        }

    });
    updateStates();
}

From source file:com.astra.ses.spell.gui.replay.dialogs.execution.name.ExecutionSelectionViewerName.java

License:Open Source License

/***************************************************************************
 * //from  w ww .  j a  v  a 2 s.  co  m
 **************************************************************************/
public ExecutionSelectionViewerName(Tree tree) {
    super(tree);

    setComparator(new ViewerComparator() {
        public int compare(Viewer viewer, Object e1, Object e2) {
            ExecutionSelectionNode t1 = (ExecutionSelectionNode) e1;
            ExecutionSelectionNode t2 = (ExecutionSelectionNode) e2;
            int result = 0;
            if (t1.getType().equals(NodeType.ASRUN)) {
                result = t1.getLabel().compareTo(t2.getLabel());
                if (result == 0) {
                    result = t1.getDate().compareTo(t2.getDate());
                }
            } else if (t1.getType().equals(NodeType.NAME_GROUP)) {
                result = t1.getLabel().compareTo(t2.getLabel());
            } else {
                result = t1.getDate().compareTo(t2.getDate());
            }
            return result;
        };
    });

    for (ExecutionSelectionColumnName col : ExecutionSelectionColumnName.values()) {
        TreeColumn c = new TreeColumn(tree, col.style);
        c.setText(col.title);
        c.setWidth(col.width);
    }

    setContentProvider(new ExecutionSelectionContentProvider());
    setLabelProvider(new ExecutionSelectionLabelProviderName());

}

From source file:com.astra.ses.spell.gui.replay.dialogs.execution.time.ExecutionSelectionViewerTime.java

License:Open Source License

/***************************************************************************
 * /*ww w.j a va  2  s  .c om*/
 **************************************************************************/
public ExecutionSelectionViewerTime(Tree tree) {
    super(tree);

    setComparator(new ViewerComparator() {
        public int compare(Viewer viewer, Object e1, Object e2) {
            ExecutionSelectionNode t1 = (ExecutionSelectionNode) e1;
            ExecutionSelectionNode t2 = (ExecutionSelectionNode) e2;
            int result = 0;
            if (t1.getType().equals(NodeType.ASRUN)) {
                result = t1.getDate().compareTo(t2.getDate());
                if (result == 0) {
                    result = t1.getLabel().compareTo(t2.getLabel());
                }
            } else {
                result = t1.getDate().compareTo(t2.getDate());
            }
            return result;
        };
    });

    for (ExecutionSelectionColumnTime col : ExecutionSelectionColumnTime.values()) {
        TreeColumn c = new TreeColumn(tree, col.style);
        c.setText(col.title);
        c.setWidth(col.width);
    }

    setContentProvider(new ExecutionSelectionContentProvider());
    setLabelProvider(new ExecutionSelectionLabelProviderTime());

}

From source file:com.atlassian.connector.eclipse.internal.crucible.ui.wizards.CrucibleReviewDetailsPage.java

License:Open Source License

public void createControl(Composite parent) {
    Composite composite = new Composite(parent, SWT.NONE);
    composite.setLayout(GridLayoutFactory.fillDefaults().numColumns(6).margins(5, 5).create());

    new Label(composite, SWT.NONE).setText("Title:");
    titleText = new Text(composite, SWT.BORDER);
    titleText.addModifyListener(new ModifyListener() {
        public void modifyText(ModifyEvent e) {
            getContainer().updateButtons();
        }//  w w w. j  av a2s . c  o m
    });
    GridDataFactory.fillDefaults().span(5, 1).grab(true, false).applyTo(titleText);

    new Label(composite, SWT.NONE).setText("Project:");
    projectsComboViewer = new ComboViewer(composite);
    projectsComboViewer.setLabelProvider(new CrucibleProjectsLabelProvider());
    projectsComboViewer.setContentProvider(new ArrayContentProvider());
    projectsComboViewer.setSorter(new ViewerSorter());
    projectsComboViewer.addSelectionChangedListener(new ISelectionChangedListener() {
        public void selectionChanged(SelectionChangedEvent event) {
            updateReviewersControl();
        }
    });
    GridDataFactory.fillDefaults().grab(true, false).applyTo(projectsComboViewer.getCombo());

    new Label(composite, SWT.NONE).setText("Moderator:");
    moderatorComboViewer = new ComboViewer(composite);
    moderatorComboViewer.setLabelProvider(new CrucibleUserLabelProvider());
    moderatorComboViewer.setContentProvider(new ArrayContentProvider());
    moderatorComboViewer.setComparator(new ViewerComparator());
    moderatorComboViewer.addSelectionChangedListener(new ISelectionChangedListener() {
        public void selectionChanged(SelectionChangedEvent event) {
            Object firstElement = ((IStructuredSelection) event.getSelection()).getFirstElement();
            if (firstElement != null) {
                getWizard().getContainer().updateButtons();
            }
        }
    });
    GridDataFactory.fillDefaults().grab(true, false).applyTo(moderatorComboViewer.getCombo());

    new Label(composite, SWT.NONE).setText("Author:");
    authorComboViewer = new ComboViewer(composite);
    authorComboViewer.setLabelProvider(new CrucibleUserLabelProvider());
    authorComboViewer.setContentProvider(new ArrayContentProvider());
    authorComboViewer.setComparator(new ViewerComparator());
    authorComboViewer.addSelectionChangedListener(new ISelectionChangedListener() {
        public void selectionChanged(SelectionChangedEvent event) {
            Object firstElement = ((IStructuredSelection) event.getSelection()).getFirstElement();
            if (firstElement != null) {
                getWizard().getContainer().updateButtons();
            }
        }
    });
    GridDataFactory.fillDefaults().grab(true, false).applyTo(authorComboViewer.getCombo());

    Label label = new Label(composite, SWT.SEPARATOR | SWT.HORIZONTAL);
    GridDataFactory.fillDefaults().grab(true, false).span(6, 1).applyTo(label);

    label = new Label(composite, SWT.NONE);
    label.setText("Objectives:");

    GridDataFactory.fillDefaults().span(4, 1).applyTo(label);

    label = new Label(composite, SWT.NONE);
    label.setText("Reviewers:");
    GridDataFactory.fillDefaults().span(2, 1).indent(5, SWT.DEFAULT).applyTo(label);

    Composite textAreacomposite = new Composite(composite, SWT.NONE);
    GridLayout layout = new GridLayout();
    layout.marginLeft = 0;
    layout.marginTop = 0;
    layout.marginWidth = 0;
    layout.horizontalSpacing = 0;
    layout.verticalSpacing = 10;
    textAreacomposite.setLayout(layout);
    GridData gd = new GridData(GridData.GRAB_HORIZONTAL | GridData.GRAB_VERTICAL | GridData.FILL_BOTH);
    gd.horizontalIndent = 0;
    textAreacomposite.setLayoutData(gd);
    GridDataFactory.fillDefaults().grab(true, true).hint(480, 200).span(4, 1).applyTo(textAreacomposite);

    objectivesText = new Text(textAreacomposite, SWT.BORDER | SWT.MULTI | SWT.V_SCROLL | SWT.WRAP);
    GridDataFactory.fillDefaults().grab(true, true).hint(480, 200).applyTo(objectivesText);

    if (addComment) {
        label = new Label(textAreacomposite, SWT.NONE);
        label.setText("Selection Comment:");
        GridDataFactory.fillDefaults().applyTo(label);
        commentText = new Text(textAreacomposite, SWT.BORDER | SWT.MULTI | SWT.V_SCROLL | SWT.WRAP);
        GridDataFactory.fillDefaults().grab(true, true).hint(480, 200).applyTo(commentText);
    }

    reviewersSelectionTreePart = new ReviewersSelectionTreePart(Collections.<User>emptySet(),
            Collections.<User>emptyList());
    Composite reviewersComp = reviewersSelectionTreePart.createControl(composite);
    GridDataFactory.fillDefaults().grab(true, true).span(2, 1).hint(SWT.DEFAULT, 150).applyTo(reviewersComp);
    reviewersSelectionTreePart.setCheckStateListener(new ICheckStateListener() {
        public void checkStateChanged(CheckStateChangedEvent event) {
            getWizard().getContainer().updateButtons();
        }
    });

    Button updateData = new Button(composite, SWT.PUSH);
    updateData.setText("Update Repository Data");
    GridDataFactory.fillDefaults().span(4, 2).align(SWT.BEGINNING, SWT.BEGINNING).applyTo(updateData);
    updateData.addSelectionListener(new SelectionAdapter() {
        @Override
        public void widgetSelected(SelectionEvent e) {
            CrucibleUiUtil.updateTaskRepositoryCache(taskRepository, getContainer(),
                    CrucibleReviewDetailsPage.this);
            updateInputAndRestoreSelections();
        }
    });

    anyoneCanJoin = new Button(composite, SWT.CHECK);
    anyoneCanJoin.setText("Allow anyone to join");
    GridDataFactory.fillDefaults().indent(5, SWT.DEFAULT).span(2, 1).applyTo(anyoneCanJoin);

    startReview = new Button(composite, SWT.CHECK);
    startReview.setText("Start review immediately (if permitted)");
    GridDataFactory.fillDefaults().span(2, 1).align(SWT.BEGINNING, SWT.BEGINNING).indent(5, SWT.DEFAULT)
            .applyTo(startReview);

    Dialog.applyDialogFont(composite);
    setControl(composite);
}