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:fr.liglab.adele.cilia.workbench.common.ui.widget.ListEditor.java

License:Apache License

@Override
protected ViewerComparator getDefaultComparator() {
    return new ViewerComparator(new Comparator<String>() {
        @Override/*from w w w.j  a  v  a 2 s. c om*/
        public int compare(String o1, String o2) {
            return o1.toUpperCase().compareTo(o2.toUpperCase());
        }
    });
}

From source file:gov.redhawk.prf.internal.ui.editor.composite.BasicSimplePropertyComposite.java

License:Open Source License

/**
 * @param propertyComposite/*from w  w w .j a v a  2s . c  om*/
 * @param toolkit
 */
protected ComboViewer createActionViewer(final Composite parent, final FormToolkit toolkit) {
    // Action
    this.actionLabel = toolkit.createLabel(parent, "Action:");
    this.actionLabel.setForeground(toolkit.getColors().getColor(IFormColors.TITLE));
    this.actionLabel.setLayoutData(GridDataFactory.fillDefaults().align(SWT.BEGINNING, SWT.BEGINNING).create());
    final ComboViewer viewer = new ComboViewer(parent, SWT.DROP_DOWN | SWT.READ_ONLY);
    viewer.getCombo().addListener(SWT.MouseVerticalWheel, new Listener() {

        @Override
        public void handleEvent(Event event) {
            // Disable Mouse Wheel Combo Box Control
            event.doit = false;
        }

    });
    toolkit.adapt(viewer.getCombo());
    final List<Object> input = new ArrayList<Object>();
    input.addAll(ActionType.VALUES);
    viewer.setContentProvider(new ArrayContentProvider());
    viewer.setLabelProvider(new LabelProvider());
    viewer.getControl().setLayoutData(BasicSimplePropertyComposite.FACTORY.create());
    viewer.setInput(input);
    viewer.setComparator(new ViewerComparator(new Comparator<String>() {
        // List should be: "", Default, Everything else in alphanumeric
        // order
        @Override
        public int compare(final String o1, final String o2) {
            int retVal = 0;
            if (o1.equalsIgnoreCase(BasicSimplePropertyComposite.DEFAULT_ACTION)) {
                retVal = Integer.MIN_VALUE;
            } else if (o2.equalsIgnoreCase(BasicSimplePropertyComposite.DEFAULT_ACTION)) {
                retVal = Integer.MAX_VALUE;
            } else {
                retVal = o1.compareTo(o2);
            }
            return retVal;
        }
    }));
    assignTooltip(viewer.getControl(), HelpConstants.prf_properties_simple_action);

    this.actionViewer = viewer;
    return viewer;
}

From source file:net.karlmartens.ui.viewer.GridChooserViewerTest.java

License:Apache License

public static void main(String[] args) throws Exception {
    final Shell shell = new Shell();
    final Display display = shell.getDisplay();
    shell.setLayout(new FillLayout());

    final GridChooserViewer viewer = new GridChooserViewer(shell);
    viewer.setContentProvider(new ArrayContentProvider());
    viewer.setLabelProvider(new TestColumnLabelProvider(0));
    viewer.setComparator(new ViewerComparator(new NumberStringComparator()));

    viewer.getControl().setHeaderVisible(true);

    viewer.addSelectionChangedListener(new ISelectionChangedListener() {
        @Override/*ww w  .j a v  a 2  s . com*/
        public void selectionChanged(SelectionChangedEvent event) {
            System.out.println("Selection changed event");
        }
    });

    final ColumnViewerEditorActivationStrategy activationStrategy = new ColumnViewerEditorActivationStrategy(
            viewer) {
        @Override
        protected boolean isEditorActivationEvent(ColumnViewerEditorActivationEvent event) {
            return event.eventType == ColumnViewerEditorActivationEvent.TRAVERSAL
                    || event.eventType == ColumnViewerEditorActivationEvent.MOUSE_DOUBLE_CLICK_SELECTION
                    || (event.eventType == ColumnViewerEditorActivationEvent.KEY_PRESSED
                            && event.keyCode == SWT.CR)
                    || event.eventType == ColumnViewerEditorActivationEvent.PROGRAMMATIC;
        }
    };

    GridChooserViewerEditor.create(viewer, activationStrategy,
            ColumnViewerEditor.TABBING_HORIZONTAL | ColumnViewerEditor.TABBING_MOVE_TO_ROW_NEIGHBOR
                    | ColumnViewerEditor.TABBING_VERTICAL | ColumnViewerEditor.KEYBOARD_ACTIVATION);

    final GridChooserViewerColumn c1 = new GridChooserViewerColumn(viewer, SWT.NONE);
    c1.setLabelProvider(new TestColumnLabelProvider(0));
    c1.getColumn().setText("Test");
    c1.getColumn().setMoveable(true);

    final GridChooserViewerColumn c2 = new GridChooserViewerColumn(viewer, SWT.NONE);
    c2.setLabelProvider(new TestColumnLabelProvider(1));
    c2.setEditingSupport(new TextEditingSupport(viewer, 1));
    c2.getColumn().setText("Test 2");
    c2.getColumn().setMoveable(true);

    new GridChooserColumnWeightedResize(viewer.getControl(), new int[] { 1, 1 });

    viewer.setInput(new String[][] { { "Andrew", "2", "3" }, //
            { "Bill", "2", "3" }, //
            { "C", "2", "3" }, //
            { "bob", "2", "3" }, //
            { "1", "2", "3" }, //
            { "11", "2", "3" }, //
            { "2", "2", "3" }, //
            { "1.1", "2", "3" } //
    });

    shell.open();
    while (!shell.isDisposed()) {
        if (!display.readAndDispatch())
            display.sleep();
    }
}

From source file:net.karlmartens.ui.viewer.TableViewerTest.java

License:Apache License

public static void main(String[] args) throws Exception {
    final Image[] images = new Image[] { //
            Images.FILTER.createImage(), //
            Images.COPY.createImage(), //
            Images.CUT.createImage(), //
            Images.PASTE.createImage(), //
    };//w w  w . j ava  2s . c  o m

    final int fixedColumns = 5;
    final Object[][] input = new Object[100][];
    for (int i = 0; i < input.length; i++) {
        input[i] = new Object[20];
        input[i][0] = images[i % 4];
        input[i][1] = "Item " + Integer.toString(i);
        input[i][2] = Boolean.valueOf(i % 3 == 0);
        input[i][3] = TestComboEditingSupport.ITEMS[0 + (i % TestComboEditingSupport.ITEMS.length)];
        input[i][4] = new LocalDate((int) (Math.random() * 50) + 2000, (int) (Math.random() * 11) + 1,
                (int) (Math.random() * 27) + 1);

        for (int j = fixedColumns; j < input[i].length; j++) {
            input[i][j] = Integer.toString(Double.valueOf(Math.random() * 10000).intValue());
        }
    }

    final Shell shell = new Shell();
    shell.setLayout(GridLayoutFactory.swtDefaults().create());

    final Display display = shell.getDisplay();

    final Button b = new Button(shell, SWT.PUSH);
    b.setLayoutData(GridDataFactory.swtDefaults().create());
    b.setText("Columns");

    final TableViewer viewer = new TableViewer(shell);
    viewer.setContentProvider(new ArrayContentProvider());
    viewer.setComparator(new ViewerComparator(new NumberStringComparator()));

    final TableViewerColumn c0 = new TableViewerColumn(viewer, SWT.NONE);
    c0.setLabelProvider(new ColumnLabelProvider() {
        @Override
        public String getText(Object element) {
            return "";
        }

        @Override
        public Image getImage(Object element) {
            Object[] arr = (Object[]) element;
            return (Image) arr[0];
        }
    });
    c0.getColumn().setWidth(20);

    final TableViewerColumn c1 = new TableViewerColumn(viewer, SWT.NONE);
    c1.setLabelProvider(new TestColumnLabelProvider(1));
    c1.setEditingSupport(new TestTextEditingSupport(viewer, 1, SWT.LEFT));
    c1.getColumn().setText("Name");
    c1.getColumn().setWidth(75);

    final TableViewerColumn c2 = new TableViewerColumn(viewer, SWT.CHECK);
    c2.setLabelProvider(new TestColumnLabelProvider(2));
    c2.setEditingSupport(new TestBooleanEditingSupport(viewer, 2));
    c2.getColumn().setText("Active");
    c2.getColumn().setWidth(60);

    final TableViewerColumn c3 = new TableViewerColumn(viewer, SWT.LEFT);
    c3.setLabelProvider(new TestColumnLabelProvider(3));
    c3.setEditingSupport(new TestComboEditingSupport(viewer, 3));
    c3.getColumn().setText("Color");
    c3.getColumn().setWidth(60);

    final TableViewerColumn c4 = new TableViewerColumn(viewer, SWT.LEFT);
    c4.setLabelProvider(new TestColumnLabelProvider(4));
    c4.setEditingSupport(new TestCalendarComboEditingSupport(viewer, 4));
    c4.getColumn().setText("Date");
    c4.getColumn().setWidth(90);

    for (int i = fixedColumns; i < input[0].length; i++) {
        final TableViewerColumn c = new TableViewerColumn(viewer, SWT.RIGHT);
        c.setLabelProvider(new TestColumnLabelProvider(i));
        c.setEditingSupport(new TestTextEditingSupport(viewer, i, SWT.RIGHT));
        c.getColumn().setText("Test " + Integer.toString(i + 1));
        c.getColumn().setWidth(40);
        c.getColumn().setHideable(false);
        c.getColumn().setFilterable(false);
    }

    final Table table = viewer.getControl();
    table.setLayoutData(GridDataFactory//
            .fillDefaults()//
            .grab(true, true)//
            .create());
    table.setHeaderVisible(true);
    table.setBackground(display.getSystemColor(SWT.COLOR_WHITE));
    table.setFont(new Font(display, "Arial", 8, SWT.NORMAL));
    table.addColumnSortSupport();
    table.setFixedColumnCount(fixedColumns);
    table.setFixedHeaderColumnCount(1);
    table.setFixedRowCount(3);

    final TableViewerClipboardManager clipboardManager = new TableViewerClipboardManager(viewer,
            OPERATION_COPY | OPERATION_CUT | OPERATION_DELETE | OPERATION_PASTE | OPERATION_SELECT_ALL);
    clipboardManager.createContextMenu();

    viewer.addSelectionChangedListener(new ISelectionChangedListener() {
        @Override
        public void selectionChanged(SelectionChangedEvent event) {
            System.out.println("Selection");
        }
    });

    b.addSelectionListener(new SelectionAdapter() {
        @Override
        public void widgetSelected(SelectionEvent e) {
            final ConfigureColumnsDialog dialog = new ConfigureColumnsDialog(shell, table, "Title", "header",
                    "message");
            dialog.open();
        }
    });

    viewer.setInput(input);

    shell.open();
    while (!shell.isDisposed()) {
        if (!display.readAndDispatch()) {
            display.sleep();
        }
    }
}

From source file:net.karlmartens.ui.viewer.TimeSeriesTableViewerTest.java

License:Apache License

public static void main(String[] args) throws Exception {
    final TimeSeriesTableViewerTest test = new TimeSeriesTableViewerTest();

    final Shell shell = new Shell();
    shell.setLayout(new FillLayout());

    final TimeSeriesTableViewer viewer = test._initializer.run(shell);
    viewer.setComparator(new ViewerComparator(new NumberStringComparator()));

    final Table table = viewer.getControl();
    table.getColumn(0).addSelectionListener(new TestSelectionListener("Period Column"));

    viewer.addSelectionChangedListener(new ISelectionChangedListener() {
        @Override//from  w w w. ja v a  2  s  .  com
        public void selectionChanged(SelectionChangedEvent event) {
            System.out.println("Selection changed event");
        }
    });

    new TableViewerClipboardManager(viewer,
            OPERATION_COPY | OPERATION_CUT | OPERATION_DELETE | OPERATION_PASTE);

    final Display display = shell.getDisplay();
    shell.open();
    while (!shell.isDisposed()) {
        if (!display.readAndDispatch()) {
            display.sleep();
        }
    }
}

From source file:org.apache.directory.studio.ldapservers.views.ServersTableViewer.java

License:Apache License

/**
 * Creates a new instance of ServersTableViewer.
 *
 * @param tree/* ww  w.j a va  2s  . com*/
 *      the associated tree
 */
public ServersTableViewer(Tree tree) {
    super(tree);

    labelProvider = new ServersViewLabelProvider();
    setLabelProvider(labelProvider);
    setContentProvider(new ServersViewContentProvider());

    comparator = new ServersComparator();
    setComparator(new ViewerComparator(comparator));

    setInput(ROOT);

    addListeners();
}

From source file:org.apache.directory.studio.schemaeditor.view.preferences.PluginPreferencePage.java

License:Apache License

/**
 * {@inheritDoc}/*from  ww w. j av a 2  s.com*/
 */
protected Control createContents(Composite parent) {
    Composite composite = new Composite(parent, SWT.NONE);
    composite.setLayout(new GridLayout());
    composite.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));

    // SchemaConnectors Group
    Group schemaConnectorsGroup = new Group(composite, SWT.NONE);
    schemaConnectorsGroup.setLayoutData(new GridData(SWT.FILL, SWT.NONE, true, false));
    schemaConnectorsGroup.setLayout(new GridLayout(2, true));
    schemaConnectorsGroup.setText(Messages.getString("PluginPreferencePage.SchemaConnectors")); //$NON-NLS-1$

    // Available Schema Connectors Label
    Label availableSchemaConnectorsLabel = new Label(schemaConnectorsGroup, SWT.NONE);
    availableSchemaConnectorsLabel.setText(Messages.getString("PluginPreferencePage.AvailableConnectorsColon")); //$NON-NLS-1$

    // Description Label
    Label descriptionLabel = new Label(schemaConnectorsGroup, SWT.NONE);
    descriptionLabel.setText(Messages.getString("PluginPreferencePage.DescriptionColon")); //$NON-NLS-1$
    // SchemaConnectors TableViewer
    final TableViewer schemaConnectorsTableViewer = new TableViewer(schemaConnectorsGroup,
            SWT.BORDER | SWT.SINGLE | SWT.FULL_SELECTION);
    GridData gridData = new GridData(SWT.FILL, SWT.NONE, true, false);
    gridData.heightHint = 125;
    schemaConnectorsTableViewer.getTable().setLayoutData(gridData);
    schemaConnectorsTableViewer.setContentProvider(new ArrayContentProvider());
    schemaConnectorsTableViewer.setLabelProvider(new LabelProvider() {
        public String getText(Object element) {
            return ((SchemaConnector) element).getName();
        }

        public Image getImage(Object element) {
            return Activator.getDefault().getImage(PluginConstants.IMG_SCHEMA_CONNECTOR);
        }
    });

    schemaConnectorsTableViewer.setComparator(new ViewerComparator(new Comparator<String>() {
        public int compare(String o1, String o2) {
            if ((o1 != null) && (o2 != null)) {
                return o1.compareToIgnoreCase(o2);
            }

            // Default
            return 0;
        }
    }));

    //      schemaConnectorsTableViewer.setComparator( new ViewerComparator( new Comparator<SchemaConnector>()
    //      {
    //          public int compare( SchemaConnector o1, SchemaConnector o2 )
    //          {
    //              String name1 = o1.getName();
    //              String name2 = o2.getName();
    //
    //              if ( ( name1 != null ) && ( name2 != null ) )
    //              {
    //                  return name1.compareToIgnoreCase( name2 );
    //              }
    //
    //              // Default
    //              return 0;
    //          }
    //      } ) );
    schemaConnectorsTableViewer.setInput(PluginUtils.getSchemaConnectors());

    // Description Text
    final Text descriptionText = new Text(schemaConnectorsGroup, SWT.BORDER | SWT.MULTI | SWT.READ_ONLY);
    descriptionText.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));

    schemaConnectorsTableViewer.addSelectionChangedListener(new ISelectionChangedListener() {
        public void selectionChanged(SelectionChangedEvent event) {
            SchemaConnector schemaConnector = (SchemaConnector) ((StructuredSelection) schemaConnectorsTableViewer
                    .getSelection()).getFirstElement();

            if (schemaConnector != null) {
                descriptionText.setText(schemaConnector.getDescription());
            }
        }
    });

    return parent;
}

From source file:org.apache.directory.studio.templateeditor.editor.widgets.EditorTable.java

License:Apache License

/**
 * Creates and initializes the widget UI.
 *
 * @param parent//from w ww . j  a v a  2s  .  com
 *      the parent composite
 * @return
 *      the associated composite
 */
private Composite initWidget(Composite parent) {
    // Creating the widget composite
    composite = getToolkit().createComposite(parent);
    composite.setLayoutData(getGridata());

    // Creating the layout
    GridLayout gl = new GridLayout((needsToolbar() ? 2 : 1), false);
    gl.marginHeight = gl.marginWidth = 0;
    gl.horizontalSpacing = gl.verticalSpacing = 0;
    composite.setLayout(gl);

    // Table Viewer
    Table table = getToolkit().createTable(composite, SWT.BORDER | SWT.V_SCROLL | SWT.H_SCROLL);
    table.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));
    tableViewer = new TableViewer(table);
    tableViewer.setContentProvider(new ArrayContentProvider());
    tableViewer.setComparator(new ViewerComparator(new Comparator<String>() {
        public int compare(String s1, String s2) {
            if (s1 == null) {
                return 1;
            } else if (s2 == null) {
                return -1;
            } else {
                return s1.compareToIgnoreCase(s2);
            }
        }
    }));

    // Toolbar (if needed)
    if (needsToolbar()) {
        ToolBar toolbar = new ToolBar(composite, SWT.VERTICAL);
        toolbar.setLayoutData(new GridData(SWT.NONE, SWT.FILL, false, true));

        // Add Button
        if (getWidget().isShowAddButton()) {
            addToolItem = new ToolItem(toolbar, SWT.PUSH);
            addToolItem.setToolTipText(Messages.getString("EditorTable.Add")); //$NON-NLS-1$
            addToolItem.setImage(EntryTemplatePlugin.getDefault()
                    .getImage(EntryTemplatePluginConstants.IMG_TOOLBAR_ADD_VALUE));
        }

        // Edit Button
        if (getWidget().isShowEditButton()) {
            editToolItem = new ToolItem(toolbar, SWT.PUSH);
            editToolItem.setToolTipText(Messages.getString("EditorTable.Edit")); //$NON-NLS-1$
            editToolItem.setImage(EntryTemplatePlugin.getDefault()
                    .getImage(EntryTemplatePluginConstants.IMG_TOOLBAR_EDIT_VALUE));
            editToolItem.setEnabled(false);
        }

        // Delete Button
        if (getWidget().isShowDeleteButton()) {
            deleteToolItem = new ToolItem(toolbar, SWT.PUSH);
            deleteToolItem.setToolTipText(Messages.getString("EditorTable.Delete")); //$NON-NLS-1$
            deleteToolItem.setImage(EntryTemplatePlugin.getDefault()
                    .getImage(EntryTemplatePluginConstants.IMG_TOOLBAR_DELETE_VALUE));
            deleteToolItem.setEnabled(false);
        }
    }

    return composite;
}

From source file:org.carrot2.workbench.core.ui.SearchInputView.java

License:Open Source License

/**
 * Creates a JFace ComboViewer around a collection of extension point implementations.
 *///from w w  w .  j a v  a 2s .  c o  m
private ComboViewer createComboViewer(Composite parent, String comboLabel,
        List<? extends ProcessingComponentDescriptor> components) {
    final Label label = new Label(parent, SWT.CENTER);
    label.setLayoutData(new GridData());
    label.setText(comboLabel);

    final GridData gridData = new GridData();
    gridData.horizontalAlignment = GridData.FILL;
    gridData.grabExcessHorizontalSpace = true;

    final Combo combo = new Combo(parent, SWT.DROP_DOWN | SWT.READ_ONLY | SWT.BORDER);
    combo.setLayoutData(gridData);
    combo.setBackground(Display.getDefault().getSystemColor(SWT.COLOR_WHITE));

    final ComboViewer viewer = new ComboViewer(combo);
    viewer.setLabelProvider(new LabelProvider() {
        public String getText(Object element) {
            return ((ProcessingComponentDescriptor) element).getLabel();
        }
    });

    viewer.setComparator(new ViewerComparator(new Comparator<String>() {
        public int compare(String s1, String s2) {
            return s1.toLowerCase().compareTo(s2.toLowerCase());
        }
    }));

    viewer.setContentProvider(new ArrayContentProvider());
    viewer.setInput(components);

    return viewer;
}

From source file:org.ebayopensource.turmeric.eclipse.errorlibrary.ui.views.ErrorRegistryView.java

License:Open Source License

/**
 * Create toolbar.//from w w  w  . ja  va 2  s  .c om
 */
private void createToolbar() throws Exception {
    IToolBarManager mgr = getViewSite().getActionBars().getToolBarManager();
    RefreshErrRegistry refreshAction = new RefreshErrRegistry(errorLibraryViewer);

    mgr.add(refreshAction);
    final ErrLibComparator errLibComparator = new ErrLibComparator();
    final ViewerComparator comparator = new ViewerComparator(errLibComparator) {
        @Override
        public int compare(Viewer viewer, Object e1, Object e2) {
            if (e1 instanceof ISOAError && e2 instanceof ISOAError) {
                return errLibComparator.compare((ISOAError) e1, (ISOAError) e2);
            }
            return String.CASE_INSENSITIVE_ORDER.compare(e1.toString(), e2.toString());
        }

    };

    mgr.add(new SortRegistry(errorLibraryViewer, comparator));

    ErrorLibraryProviderFactory factory = ErrorLibraryProviderFactory.getInstance();
    IErrorRegistryViewProvider vProvider = factory.getPreferredProvider().getErrorRegistryViewProvider();
    if (vProvider != null) {
        vProvider.createToolBar(mgr, this.errorLibraryViewer);
    }
}