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(Comparator<? super String> comparator) 

Source Link

Document

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

Usage

From source file:org.eclipse.angularjs.internal.ui.preferences.html.HTMLAngularEditorSyntaxColoringPreferencePage.java

License:Open Source License

/**
 * Creates the List viewer where we see the various syntax element display
 * names--would it ever be a Tree like JDT's?
 * /*w  w w  . ja  v  a  2s  .c  o  m*/
 * @param parent
 * @return
 */
private StructuredViewer createStylesViewer(Composite parent) {
    StructuredViewer stylesViewer = new ListViewer(parent,
            SWT.SINGLE | SWT.V_SCROLL | SWT.H_SCROLL | SWT.BORDER);
    stylesViewer.setComparator(new ViewerComparator(Collator.getInstance()));
    stylesViewer.setLabelProvider(new LabelProvider() {
        public String getText(Object element) {
            Object description = fStyleToDescriptionMap.get(element);
            if (description != null)
                return description.toString();
            return super.getText(element);
        }
    });
    stylesViewer.setContentProvider(new ITreeContentProvider() {
        public void dispose() {
        }

        public Object[] getChildren(Object parentElement) {
            return getStylePreferenceKeys().toArray();
        }

        public Object[] getElements(Object inputElement) {
            return getChildren(inputElement);
        }

        public Object getParent(Object element) {
            return getStylePreferenceKeys();
        }

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

        public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {
        }
    });
    return stylesViewer;
}

From source file:org.eclipse.birt.report.data.oda.jdbc.ui.dialogs.JdbcDriverManagerDialog.java

License:Open Source License

/**
 * Carry out sort operation against certain driver column
 * @param columnIndex the column based on which the sort operation would be carried out 
 * @param asc the sort direction// w ww. j a v a2s .  co  m
 */
private void sortDriver(final int columnIndex, final boolean asc) {
    driverViewer.setComparator(new ViewerComparator(new Comparator() {

        /*
         * @see java.util.Comparator#compare(java.lang.Object,
         *      java.lang.Object)
         */
        public int compare(Object o1, Object o2) {
            String source = (String) o1;
            String target = (String) o2;
            int result = 0;
            if (columnIndex == 1)
                result = this.compareStr(getDriverClassName(source), getDriverClassName(target));
            else if (columnIndex == 2)
                result = this.compareStr(getDisplayName(source), getDisplayName(target));
            else if (columnIndex == 3)
                result = this.compareStr(getUrlTemplate(source), getUrlTemplate(target));

            if (!asc)
                return result;
            else
                return result *= -1;
        }

        /**
         * @param o1
         * @param o2
         * @return
         */
        private int compareStr(Object o1, Object o2) {
            return collator.compare(o1, o2);
        }
    }));

    refreshDriver();
}

From source file:org.eclipse.birt.report.data.oda.jdbc.ui.dialogs.JdbcDriverManagerDialog.java

License:Open Source License

/**
 * Carry out sort operation against certain jar column
 * @param columnIndex the column based on which the sort operation would be carried out 
 * @param asc the sort direction//from   w w w . jav  a  2 s  .co m
 */
private void sortJar(final int columnIndex, final boolean asc) {
    jarViewer.setComparator(new ViewerComparator(new Comparator() {

        /*
         * @see java.util.Comparator#compare(java.lang.Object,
         *      java.lang.Object)
         */
        public int compare(Object o1, Object o2) {
            String source = (String) o1;
            String target = (String) o2;
            int result = 0;
            if (columnIndex == 1)
                result = this.compareStr(getFileName(source), getFileName(target));
            else if (columnIndex == 2)
                result = this.compareStr(getFilePath(source), getFilePath(target));

            if (!asc)
                return result;
            else
                return result *= -1;
        }

        /**
         * @param o1
         * @param o2
         * @return
         */
        private int compareStr(Object o1, Object o2) {
            return collator.compare(o1, o2);
        }
    }));

    refreshJar();
}

From source file:org.eclipse.birt.report.designer.data.ui.dataset.DataSetBasePage.java

License:Open Source License

private void setDataSourceTreeViewer() {

    dataSourceFilteredTree.getViewer().setContentProvider(new ITreeContentProvider() {

        DataSourceType[] types = null;//from   ww  w.j a va  2s  .c om

        public void dispose() {
        }

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

        public Object[] getElements(Object inputElement) {
            types = new DataSourceType[((Collection) inputElement).size()];
            Iterator iter = ((Collection) inputElement).iterator();
            int i = 0;
            while (iter.hasNext()) {
                types[i] = (DataSourceType) iter.next();
                i++;
            }
            return types;
        }

        public Object[] getChildren(Object parentElement) {
            if (parentElement instanceof DataSourceType) {
                return ((DataSourceType) parentElement).getDataSourceList().toArray();
            } else {
                return new Object[0];
            }
        }

        public Object getParent(Object element) {
            if (types != null) {
                for (int i = 0; i < types.length; i++) {
                    if (types[i].getDataSourceList().contains(element))
                        return types[i];
                }
            }
            return null;
        }

        public boolean hasChildren(Object element) {
            if (element instanceof DataSourceType) {
                return true;
            } else if (element instanceof DataSourceHandle) {
                return false;
            }
            return false;
        }
    });

    dataSourceFilteredTree.getViewer().setLabelProvider(new ILabelProvider() {

        public Image getImage(Object element) {
            return null;
        }

        public String getText(Object element) {
            if (element instanceof DataSourceType) {
                return ((DataSourceType) element).getDataSourceDisplayName();
            } else if (element instanceof DataSourceHandle) {
                return ((DataSourceHandle) element).getName();
            }
            return element.toString();
        }

        public void addListener(ILabelProviderListener listener) {
        }

        public void dispose() {
        }

        public boolean isLabelProperty(Object element, String property) {
            return false;
        }

        public void removeListener(ILabelProviderListener listener) {
        }
    });

    dataSourceFilteredTree.getViewer().addSelectionChangedListener(new ISelectionChangedListener() {

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

    dataSourceFilteredTree.getViewer().setComparator(new ViewerComparator(new Comparator() {

        public int compare(Object o1, Object o2) {
            return o1.toString().compareTo(o2.toString());
        }
    }));

    Map sourceMap = getDataSourceMap();
    dataSourceFilteredTree.getViewer().setInput(sourceMap.values());
    dataSourceFilteredTree.getViewer().expandAll();
    if (dataSourceFilteredTree.getViewer().getTree().getItems().length > 0) {
        dataSourceFilteredTree.getViewer().getTree()
                .select(dataSourceFilteredTree.getViewer().getTree().getItem(0).getItem(0));
        doDataSourceSelectionChanged(dataSourceFilteredTree.getViewer().getTree().getItem(0).getData());
        dataSetTypeChooser.getCombo().setEnabled(true);
    }
    setPageComplete(!hasWizard() && (getMessageType() != ERROR));
}

From source file:org.eclipse.birt.report.designer.ui.ide.preferences.ExpressionSyntaxColoringPage.java

License:Open Source License

/**
 * Creates the List viewer where we see the various syntax element display
 * names--would it ever be a Tree like JDT's?
 * /*from w  w w .java2s .  c o  m*/
 * @param parent
 * @return
 */
private StructuredViewer createStylesViewer(Composite parent) {
    StructuredViewer stylesViewer = new ListViewer(parent,
            SWT.SINGLE | SWT.V_SCROLL | SWT.H_SCROLL | SWT.BORDER);
    stylesViewer.setComparator(new ViewerComparator(Collator.getInstance()));
    stylesViewer.setLabelProvider(new LabelProvider() {

        public String getText(Object element) {
            Object description = fStyleToDescriptionMap.get(element);
            if (description != null)
                return description.toString();
            return super.getText(element);
        }
    });
    stylesViewer.setContentProvider(new ITreeContentProvider() {

        public void dispose() {
        }

        public Object[] getChildren(Object parentElement) {
            return getStylePreferenceKeys().toArray();
        }

        public Object[] getElements(Object inputElement) {
            return getChildren(inputElement);
        }

        public Object getParent(Object element) {
            return getStylePreferenceKeys();
        }

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

        public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {
        }
    });
    return stylesViewer;
}

From source file:org.eclipse.egit.gitflow.ui.internal.dialogs.AbstractGitFlowBranchSelectionDialog.java

License:Open Source License

@Override
protected Control createCustomArea(Composite parent) {
    Composite area = new Composite(parent, SWT.NONE);
    GridDataFactory.fillDefaults().grab(true, true).span(2, 1).applyTo(area);
    area.setLayout(new GridLayout(1, false));
    branchesList = new TableViewer(area, SWT.SINGLE | SWT.H_SCROLL | SWT.V_SCROLL | SWT.BORDER);
    GridDataFactory.fillDefaults().grab(true, true).applyTo(branchesList.getControl());
    branchesList.setContentProvider(ArrayContentProvider.getInstance());
    branchesList.setLabelProvider(createLabelProvider());
    branchesList.setComparator(new ViewerComparator(CommonUtils.STRING_ASCENDING_COMPARATOR));
    branchesList.setInput(nodes);/* w w w  . j  a  v  a  2s  .  c o m*/
    branchesList.addSelectionChangedListener(new ISelectionChangedListener() {
        @Override
        public void selectionChanged(SelectionChangedEvent event) {
            checkPage();
        }
    });
    branchesList.addDoubleClickListener(new IDoubleClickListener() {
        @Override
        public void doubleClick(DoubleClickEvent event) {
            buttonPressed(OK);
        }
    });

    branchesList.addFilter(createFilter());
    return area;
}

From source file:org.eclipse.egit.ui.internal.push.PushTagsPage.java

License:Open Source License

@Override
public void createControl(Composite parent) {
    Composite main = new Composite(parent, SWT.NONE);
    main.setLayout(/*from   w w  w .j  a  va  2s .c o  m*/
            GridLayoutFactory.swtDefaults().spacing(LayoutConstants.getSpacing()).numColumns(2).create());

    Label remoteLabel = new Label(main, SWT.NONE);
    remoteLabel.setText(UIText.PushTagsPage_RemoteLabel);

    RemoteSelectionCombo remoteSelectionCombo = new RemoteSelectionCombo(main, SWT.NONE, SelectionType.PUSH);
    remoteSelectionCombo.setLayoutData(GridDataFactory.fillDefaults().grab(true, false).create());
    selectedRemoteConfig = remoteSelectionCombo.setItems(getRemoteConfigs());
    remoteSelectionCombo.addRemoteSelectionListener(new RemoteSelectionCombo.IRemoteSelectionListener() {
        @Override
        public void remoteSelected(RemoteConfig remoteConfig) {
            selectedRemoteConfig = remoteConfig;
        }
    });

    tagsLabel = new Label(main, SWT.NONE);
    tagsLabel.setText(UIText.PushTagsPage_TagsLabelNoneSelected);
    tagsLabel.setLayoutData(GridDataFactory.fillDefaults().grab(true, false).span(2, 1).create());

    FilteredCheckboxTree tree = new FilteredCheckboxTree(main, null, SWT.BORDER);
    tree.setLayoutData(GridDataFactory.fillDefaults().grab(true, true).span(2, 1).hint(400, 300).create());

    final Button forceUpdateButton = new Button(main, SWT.CHECK);
    forceUpdateButton.setText(UIText.PushTagsPage_ForceUpdateButton);
    forceUpdateButton.setSelection(false);
    forceUpdateButton.setLayoutData(GridDataFactory.fillDefaults().grab(true, false).span(2, 1).create());
    forceUpdateButton.addSelectionListener(new SelectionAdapter() {
        @Override
        public void widgetSelected(SelectionEvent e) {
            forceUpdateSelected = forceUpdateButton.getSelection();
        }
    });

    final CachedCheckboxTreeViewer treeViewer = tree.getCheckboxTreeViewer();
    TagsNode tagsNode = new TagsNode(null, repository);
    ContentProvider contentProvider = new ContentProvider(tagsNode);
    treeViewer.setContentProvider(contentProvider);
    treeViewer.setLabelProvider(new RepositoriesViewStyledCellLabelProvider());
    treeViewer.setComparator(new ViewerComparator(CommonUtils.STRING_ASCENDING_COMPARATOR));
    treeViewer.setInput(tagsNode);

    final Object[] tagNodes = contentProvider.getElements(tagsNode);
    initiallySelectTags(tagNodes, treeViewer);

    treeViewer.addCheckStateListener(new ICheckStateListener() {
        @Override
        public void checkStateChanged(CheckStateChangedEvent event) {
            setSelectedTags(treeViewer.getCheckedElements());
        }
    });

    setControl(main);
}

From source file:org.eclipse.incquery.tooling.ui.queryexplorer.content.detail.DetailsViewerUtil.java

License:Open Source License

public void prepareFor(PatternMatchContent match, TableViewer viewer) {
    clearTableViewerColumns(viewer);//  www .jav  a  2s .  co  m
    String[] titles = { "Parameter", "Value" };
    createColumns(viewer, titles);
    viewer.setUseHashlookup(true);
    viewer.setColumnProperties(titles);
    viewer.setContentProvider(new ObservableListContentProvider());
    viewer.setLabelProvider(new DetailElementLabelProvider());
    viewer.setCellModifier(new DetailElementCellModifier());
    viewer.setComparator(new ViewerComparator(new DetailComparator(match.getPatternMatch().parameterNames())));

    DatabindingAdapter<IPatternMatch> databindableMatcher = DisplayUtil
            .getDatabindingAdapter(match.getPatternMatch().patternName());// , match.getParent().isGenerated());

    if (databindableMatcher == null) {
        viewer.setInput(null);
    } else {
        DetailObserver observer = new DetailObserver(databindableMatcher, match);
        viewer.setInput(observer);
    }
}

From source file:org.eclipse.incquery.tooling.ui.queryexplorer.content.detail.DetailsViewerUtil.java

License:Open Source License

public void prepareFor(PatternMatcherContent observableMatcher, TableViewer viewer) {
    clearTableViewerColumns(viewer);//from w  ww  .  jav  a2s .c o m
    String[] titles = { "Parameter", "Filter", "Class" };
    createColumns(viewer, titles);
    viewer.setUseHashlookup(true);
    viewer.setColumnProperties(titles);
    viewer.setContentProvider(new MatcherConfigurationContentProvider());
    viewer.setLabelProvider(new MatcherConfigurationLabelProvider());
    viewer.setCellModifier(new MatcherConfigurationCellModifier(viewer));
    viewer.setComparator(
            new ViewerComparator(new DetailComparator(observableMatcher.getMatcher().getParameterNames())));

    Table table = viewer.getTable();
    CellEditor[] editors = new CellEditor[titles.length];

    editors[0] = new TextCellEditor(table);
    ModelElementCellEditor cellEditor = new ModelElementCellEditor(table, observableMatcher);
    injector.injectMembers(cellEditor);
    editors[1] = cellEditor;
    editors[2] = new TextCellEditor(table);

    viewer.setCellEditors(editors);

    IQuerySpecification<?> specification = QueryExplorerPatternRegistry.getInstance()
            .getPatternByFqn(observableMatcher.getPatternName());
    Object[] filter = observableMatcher.getFilter();
    MatcherConfiguration[] input;
    if (specification != null) {
        input = new MatcherConfiguration[specification.getParameters().size()];
        if (filter != null) {
            for (int i = 0; i < specification.getParameters().size(); i++) {
                PParameter var = specification.getParameters().get(i);
                input[i] = new MatcherConfiguration(var.getName(), var.getTypeName(), filter[i]);
            }
        }
    } else {
        input = new MatcherConfiguration[0];
    }
    viewer.setInput(input);
}

From source file:org.eclipse.incquery.tooling.ui.queryexplorer.content.detail.TableViewerUtil.java

License:Open Source License

public void prepareTableViewerForObservableInput(final ObservablePatternMatch match, TableViewer viewer) {
    clearTableViewerColumns(viewer);/*  w w  w  .  j a  v  a 2s  .c o  m*/
    String[] titles = { "Parameter", "Value" };
    createColumns(viewer, titles);
    viewer.setUseHashlookup(true);
    viewer.setColumnProperties(titles);
    viewer.setContentProvider(new ObservableListContentProvider());
    viewer.setLabelProvider(new DetailElementLabelProvider());
    viewer.setCellModifier(new DetailElementCellModifier());
    viewer.setComparator(new ViewerComparator(new DetailComparator(match.getPatternMatch().parameterNames())));

    DatabindingAdapter<IPatternMatch> databindableMatcher = DatabindingUtil
            .getDatabindingAdapter(match.getPatternMatch().patternName(), match.getParent().isGenerated());

    if (databindableMatcher == null) {
        viewer.setInput(null);
    } else {
        DetailObserver observer = new DetailObserver(databindableMatcher, match);
        viewer.setInput(observer);
    }
}