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.apache.felix.sigil.eclipse.ui.internal.editors.project.ResourceSelectDialog.java

License:Apache License

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

    GridLayout layout = (GridLayout) body.getLayout();
    layout.numColumns = 2;//from  w w  w.  j ava  2 s .c  om
    GridData data;

    labelProvider = new ModelLabelProvider();

    Label l = new Label(body, SWT.LEFT);
    l.setText(selectionText);
    data = new GridData(GridData.HORIZONTAL_ALIGN_BEGINNING);
    if (!isCombo) {
        data.horizontalSpan = 2;
    }
    l.setLayoutData(data);

    if (isCombo) {
        createCombo(body);
    } else {
        createTable(body);
    }

    viewer.addFilter(filter);
    viewer.setContentProvider(content);
    viewer.setLabelProvider(getLabelProvider());
    viewer.setComparator(new ViewerComparator());
    viewer.setInput(scope);

    viewer.addSelectionChangedListener(new ISelectionChangedListener() {
        public void selectionChanged(SelectionChangedEvent event) {
            setSelected(event, false);
        }
    });
    createCustom(body);

    errorMessageText = new Text(body, SWT.READ_ONLY | SWT.WRAP);
    data = new GridData(GridData.GRAB_HORIZONTAL | GridData.HORIZONTAL_ALIGN_FILL);
    data.horizontalSpan = 2;
    errorMessageText.setLayoutData(data);
    errorMessageText.setBackground(errorMessageText.getDisplay().getSystemColor(SWT.COLOR_WIDGET_BACKGROUND));
    setErrorMessage(errorMessage);

    return body;
}

From source file:org.archicontribs.modelrepository.dialogs.ConflictsDialog.java

License:Open Source License

private void createTableControl(Composite parent) {
    Composite tableComp = new Composite(parent, SWT.BORDER);
    TableColumnLayout tableLayout = new TableColumnLayout();
    tableComp.setLayout(tableLayout);/*from   ww  w .  j a  va  2s. co m*/
    tableComp.setLayoutData(new GridData(GridData.FILL_BOTH));

    Table table = new Table(tableComp, SWT.MULTI | SWT.FULL_SELECTION | SWT.CHECK);
    table.setHeaderVisible(true);
    fTableViewer = new CheckboxTableViewer(table);
    fTableViewer.getControl().setLayoutData(new GridData(GridData.FILL_BOTH));
    fTableViewer.getTable().setLinesVisible(true);
    fTableViewer.setComparator(new ViewerComparator());

    // Columns
    TableViewerColumn column1 = new TableViewerColumn(fTableViewer, SWT.NONE, 0);
    column1.getColumn().setText(Messages.ConflictsDialog_5);
    tableLayout.setColumnData(column1.getColumn(), new ColumnWeightData(100, true));

    // Content Provider
    fTableViewer.setContentProvider(new IStructuredContentProvider() {
        public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {
        }

        public void dispose() {
        }

        public Object[] getElements(Object inputElement) {
            MergeResult result = fHandler.getMergeResult();
            return result.getConflicts().keySet().toArray();
        }
    });

    fTableViewer.addSelectionChangedListener(new ISelectionChangedListener() {
        @Override
        public void selectionChanged(SelectionChangedEvent event) {
            String path = (String) ((StructuredSelection) event.getSelection()).getFirstElement();

            try {
                fFileViewerOurs.setText(
                        GraficoUtils.getFileContents(fHandler.getLocalGitFolder(), path, Constants.HEAD));
                fFileViewerTheirs.setText(
                        GraficoUtils.getFileContents(fHandler.getLocalGitFolder(), path, "origin/master")); //$NON-NLS-1$
                fFileViewerDiff
                        .setText(GraficoUtils.getWorkingTreeFileContents(fHandler.getLocalGitFolder(), path));
            } catch (IOException ex) {
                ex.printStackTrace();
            }
        }
    });

    // Label Provider
    fTableViewer.setLabelProvider(new LabelProvider());

    // Start the table
    fTableViewer.setInput(""); // anything will do //$NON-NLS-1$
}

From source file:org.archicontribs.modelrepository.views.GitRepositoryTreeViewer.java

License:Open Source License

/**
 * Set things up./*from w w w .j av a 2 s .c  o m*/
 */
protected void setup() {
    setupRefreshTimer();

    // Sort folders first, files second, alphabetical
    setComparator(new ViewerComparator() {
        @Override
        public int category(Object element) {
            if (element instanceof File) {
                File f = (File) element;
                return f.isDirectory() ? 0 : 1;
            }
            return 0;
        }
    });
}

From source file:org.autorefactor.ui.ChooseRefactoringWizardPage.java

License:Open Source License

private void createRefactoringsTable(Composite parent) {
    tableViewer = newCheckList(parent, BORDER | H_SCROLL | CHECK | NO_FOCUS | HIDE_SELECTION);
    createColumns(tableViewer);//  ww w  .  j  av  a2s . c  o m
    tableViewer.setContentProvider(new ArrayContentProvider());
    final List<RefactoringRule> refactorings = AllRefactoringRules.getAllRefactoringRules();
    tableViewer.setInput(refactorings);
    tableViewer.setCheckStateProvider(new CheckStateProvider(refactorings));
    tableViewer.setComparator(new ViewerComparator() {
        @Override
        public int compare(Viewer viewer, Object o1, Object o2) {
            return ((RefactoringRule) o1).getName().compareTo(((RefactoringRule) o2).getName());
        }
    });
    tableViewer.addFilter(new ViewerFilter() {
        @Override
        public boolean select(Viewer viewer, Object parentElement, Object refactoring) {
            final String filter = filterText.getText().toLowerCase();
            final RefactoringRule rule = (RefactoringRule) refactoring;
            final String description = rule.getDescription().toLowerCase();
            final String name = rule.getName().toLowerCase();
            return description.contains(filter) || name.contains(filter);
        }
    });
    ColumnViewerToolTipSupport.enableFor(tableViewer, ToolTip.NO_RECREATE);
    tableViewer.setLabelProvider(new StyledCellLabelProvider() {
        @Override
        public void update(ViewerCell cell) {
            final String filter = filterText.getText().toLowerCase();
            final String name = ((RefactoringRule) cell.getElement()).getName();
            cell.setText(name);
            cell.setStyleRanges(getStyleRanges(name, filter));
        }

        private StyleRange[] getStyleRanges(String text, String filter) {
            final int matchIndex = text.toLowerCase().indexOf(filter);
            final int matchLength = filter.length();
            if (matchIndex != -1 && matchLength != 0) {
                final StyledString styledString = new StyledString(text, defaultStyler);
                styledString.setStyle(matchIndex, matchLength, underlineStyler);
                return styledString.getStyleRanges();
            }
            return null;
        }

        @Override
        public String getToolTipText(Object refactoring) {
            return ((RefactoringRule) refactoring).getDescription();
        }

        @Override
        public Point getToolTipShift(Object object) {
            return new Point(10, 20);
        }
    });

    final Table table = tableViewer.getTable();
    table.setLinesVisible(true);
    tableViewer.getControl().setLayoutData(new GridData(SWT.FILL, SWT.TOP, true, true));
    packColumns(table);
    table.setFocus();
}

From source file:org.bonitasoft.studio.validators.ui.property.section.ValidatorsPropertySection.java

License:Open Source License

/**
 * @param fieldsComposite//from  ww  w  .  j  a  va  2 s  .  c o m
 */
private void createComboAnButtonForValidatorClass(Composite fieldsComposite) {
    Combo ccombo = new Combo(fieldsComposite, SWT.READ_ONLY);
    comboViewerForValidatorClass = new ComboViewer(ccombo);
    ccombo.setLayoutData(GridDataFactory.fillDefaults().span(3, 1).create());
    comboViewerForValidatorClass.setLabelProvider(new LabelProvider() {
        @Override
        public String getText(Object element) {
            return ((ValidatorDescriptor) element).getName();
        }
    });
    comboViewerForValidatorClass.setContentProvider(new ArrayContentProvider());
    /*Sort element by alphabetical order*/
    comboViewerForValidatorClass.setComparator(new ViewerComparator());

}

From source file:org.bundlemaker.core.ui.internal.preferences.fwk.ProjectSelectionDialog.java

License:Open Source License

@Override
protected Control createDialogArea(Composite parent) {
    // page group
    Composite composite = (Composite) super.createDialogArea(parent);

    Font font = parent.getFont();
    composite.setFont(font);//from  w ww . ja  va2  s  . co m

    createMessageArea(composite);

    _tableViewer = new TableViewer(composite, SWT.H_SCROLL | SWT.V_SCROLL | SWT.BORDER);
    _tableViewer.addSelectionChangedListener(new ISelectionChangedListener() {
        @Override
        public void selectionChanged(SelectionChangedEvent event) {
            doSelectionChanged(((IStructuredSelection) event.getSelection()).toArray());
        }
    });
    _tableViewer.addDoubleClickListener(new IDoubleClickListener() {
        @Override
        public void doubleClick(DoubleClickEvent event) {
            okPressed();
        }
    });
    GridData data = new GridData(SWT.FILL, SWT.FILL, true, true);
    data.heightHint = SIZING_SELECTION_WIDGET_HEIGHT;
    data.widthHint = SIZING_SELECTION_WIDGET_WIDTH;
    _tableViewer.getTable().setLayoutData(data);

    _tableViewer.setLabelProvider(new ColumnLabelProvider() {

        @Override
        public Image getImage(Object element) {
            return BundleMakerImages.BUNDLEMAKER_PROJECT.getImage();
        }

        @Override
        public String getText(Object element) {
            return ((IProjectDescriptionAwareBundleMakerProject) element).getName();
        }
    });
    _tableViewer.setContentProvider(ArrayContentProvider.getInstance());
    _tableViewer.setComparator(new ViewerComparator());
    _tableViewer.getControl().setFont(font);

    Button checkbox = new Button(composite, SWT.CHECK);
    checkbox.setText("Show only projects with project specific settings");
    checkbox.setLayoutData(new GridData(SWT.BEGINNING, SWT.CENTER, true, false));
    checkbox.addSelectionListener(new SelectionListener() {
        @Override
        public void widgetSelected(SelectionEvent e) {
            updateFilter(((Button) e.widget).getSelection());
        }

        @Override
        public void widgetDefaultSelected(SelectionEvent e) {
            updateFilter(((Button) e.widget).getSelection());
        }
    });
    // IDialogSettings dialogSettings= JavaPlugin.getDefault().getDialogSettings();
    // boolean doFilter= !dialogSettings.getBoolean(DIALOG_SETTINGS_SHOW_ALL) &&
    // !fProjectsWithSpecifics.isEmpty();
    boolean doFilter = false;
    checkbox.setSelection(doFilter);
    updateFilter(doFilter);

    _tableViewer.setInput(BundleMakerCore.getBundleMakerProjects());

    doSelectionChanged(new Object[0]);
    Dialog.applyDialogFont(composite);
    return composite;
}

From source file:org.caleydo.vis.lineup.internal.ui.CatFilterDalog.java

License:Open Source License

/**
 * Creates the tree viewer.//from   ww w . j a va 2 s  .c om
 *
 * @param parent
 *            the parent composite
 * @return the tree viewer
 */
protected CheckboxTreeViewer createTreeViewer(final Composite parent) {
    fViewer = new CheckboxTreeViewer(parent, SWT.BORDER);
    fViewer.setContentProvider(new ArrayTreeContentProvider());
    org.eclipse.jface.viewers.ILabelProvider label = new ColumnLabelProvider() {
        @Override
        public String getText(Object element) {
            if (element == NA)
                return labelNA;
            @SuppressWarnings("unchecked")
            CATEGORY_TYPE k = (CATEGORY_TYPE) element;
            Object r = cat2label.apply(k);
            return Objects.toString(r, "");
        }

        @Override
        public org.eclipse.swt.graphics.Color getBackground(Object element) {
            if (element == NA)
                return null;
            @SuppressWarnings("unchecked")
            CATEGORY_TYPE k = (CATEGORY_TYPE) element;
            Object r = cat2label.apply(k);
            if (r instanceof CategoryInfo) {
                return ((CategoryInfo) r).getColor().getSWTColor(parent.getDisplay());
            }
            return null;
        }

        // protected org.eclipse.swt.graphics.Color toSWT(Color color) {
        // return new org.eclipse.swt.graphics.Color(parent.getDisplay(), color.getRed(), color.getGreen(),
        // color.getBlue());
        // }
    };
    fViewer.setLabelProvider(label);
    fViewer.setComparator(new ViewerComparator());
    Object[] data = categories.toArray();
    // hack in the NA
    data = Arrays.copyOf(data, data.length + 1);
    data[data.length - 1] = NA;
    fViewer.setInput(data);
    return fViewer;
}

From source file:org.codehaus.groovy.eclipse.preferences.ScriptFolderSelectorPreferences.java

License:Apache License

public ListDialogField createListContents() {
    Label label = new Label(parent, SWT.WRAP);
    label.setLayoutData(new GridData(SWT.LEFT, SWT.TOP, false, false));
    label.setText("Groovy Script Folders:");
    label.setFont(JFaceResources.getFontRegistry().getBold(JFaceResources.DIALOG_FONT));

    Composite inner = new Composite(parent, SWT.BORDER);
    inner.setFont(parent.getFont());//from   w ww  .  ja  v  a  2 s .c om
    GridLayout layout = new GridLayout();
    layout.marginHeight = 3;
    layout.marginWidth = 3;
    layout.numColumns = 1;
    inner.setLayout(layout);
    inner.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false));

    disableButton = new BooleanFieldEditor(Activator.GROOVY_SCRIPT_FILTERS_ENABLED,
            "Enable script folder support", BooleanFieldEditor.DEFAULT, inner);

    disableButton.setPreferenceStore(store);
    disableButton.load();

    // inner composite contains the dialog itself
    final Composite innerInner = new Composite(inner, SWT.NONE);
    innerInner.setFont(parent.getFont());
    layout = new GridLayout();
    layout.marginHeight = 3;
    layout.marginWidth = 3;
    layout.numColumns = 3;
    innerInner.setLayout(layout);
    innerInner.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false));
    innerInner.setToolTipText("CHECKED boxes are COPIED to output folder.\nUNCHECKED boxes are NOT copied.");
    boolean enabled = disableButton.getBooleanValue();
    innerInner.setEnabled(enabled);

    // enable/disable pattern list based
    disableButton.setPropertyChangeListener(new IPropertyChangeListener() {
        public void propertyChange(PropertyChangeEvent event) {
            if (event.getProperty() == FieldEditor.VALUE) {
                Object o = event.getNewValue();
                if (o instanceof Boolean) {
                    boolean enabled = ((Boolean) o);
                    innerInner.setEnabled(enabled);
                    for (Control c : innerInner.getChildren()) {
                        c.setEnabled(enabled);
                    }
                }
            }
        }
    });

    ScriptPatternAdapter adapter = new ScriptPatternAdapter();

    patternList = new CheckedListDialogField(adapter, buttonLabels, new ScriptLabelProvider(DESCRIPTOR));
    patternList.setDialogFieldListener(adapter);
    patternList.setLabelText("Groovy files that match these patterns are treated as scripts.  "
            + "They will not be compiled and will be copied as-is to the output folder.\n\n"
            + "CHECKED boxes will be COPIED to the output folder.  UNCHECKED boxes are NOT copied to the output folder.");
    patternList.setRemoveButtonIndex(IDX_REMOVE);
    patternList.enableButton(IDX_EDIT, false);
    patternList.setCheckAllButtonIndex(IDX_CHECKALL);
    patternList.setUncheckAllButtonIndex(IDX_UNCHECKALL);

    patternList.doFillIntoGrid(innerInner, 3);
    Label l = patternList.getLabelControl(innerInner);
    GridData gd = new GridData(SWT.FILL, SWT.TOP, true, false);
    gd.widthHint = 200;
    l.setLayoutData(gd);

    resetElements();
    patternList.enableButton(IDX_ADD, true);
    patternList.setViewerComparator(new ViewerComparator());

    // finally force greying out of tree if required
    innerInner.setEnabled(enabled);
    for (Control c : innerInner.getChildren()) {
        c.setEnabled(enabled);
    }

    return patternList;
}

From source file:org.cs3.pdt.editor.internal.views.lightweightOutline.PrologOutlineInformationControl.java

License:Open Source License

/**
 * {@inheritDoc}//from  www.  ja va 2 s  . c  om
 */
@Override
protected TreeViewer createTreeViewer(Composite parent, int style) {
    Tree tree = new Tree(parent, SWT.SINGLE | (style & ~SWT.MULTI));
    GridData gd = new GridData(GridData.FILL_BOTH);
    gd.heightHint = tree.getItemHeight() * 12;
    tree.setLayoutData(gd);

    final TreeViewer treeViewer = new OutlineTreeViewer(tree);
    treeViewer.addDoubleClickListener(new IDoubleClickListener() {

        @Override
        public void doubleClick(DoubleClickEvent event) {
            gotoSelectedElement();
        }
    });
    // Hard-coded filters
    treeViewer.addFilter(new NamePatternFilter(this, this.getMatcher()));

    fInnerLabelProvider = new OutlineLabelProvider();
    treeViewer.setLabelProvider(fInnerLabelProvider);

    fLexicalSortingAction = new LexicalSortingAction(/*this,*/ treeViewer);

    fOutlineContentProvider = new OutlineContentProvider();
    treeViewer.setContentProvider(fOutlineContentProvider);
    fOutlineSorter = new ViewerComparator();
    treeViewer.setComparator(fOutlineSorter);
    treeViewer.setAutoExpandLevel(2);

    return treeViewer;
}

From source file:org.csstudio.apputil.ui.swt.TableColumnSortHelper.java

License:Open Source License

/** React to column selection
 *  @param event Not used//w  w  w.  jav a  2  s  .c  om
 */
@Override
public void widgetSelected(final SelectionEvent e) {
    final Table table = viewer.getTable();

    // Was this column already used for sorting?
    if (table.getSortColumn() == column) { // toggle
        up = table.getSortDirection() != SWT.UP;
    }
    table.setSortDirection(up ? SWT.UP : SWT.DOWN);
    table.setSortColumn(column);

    viewer.setComparator(new ViewerComparator() {
        @SuppressWarnings("unchecked")
        @Override
        public int compare(final Viewer viewer, final Object object1, final Object object2) {
            final E item1 = (E) object1;
            final E item2 = (E) object2;
            final int cmp = TableColumnSortHelper.this.compare(item1, item2);
            return up ? cmp : -cmp;
        }
    });
}