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.eclipse.pde.internal.ui.editor.product.PluginSection.java

License:Open Source License

@Override
protected void createClient(Section section, FormToolkit toolkit) {

    section.setLayout(FormLayoutFactory.createClearGridLayout(false, 1));
    GridData sectionData = new GridData(GridData.FILL_BOTH);
    sectionData.verticalSpan = 2;/*from  w  w w.  jav  a2 s  . co m*/
    section.setLayoutData(sectionData);

    Composite container = createClientContainer(section, 2, toolkit);
    createViewerPartControl(container, SWT.MULTI, 2, toolkit);
    container.setLayoutData(new GridData(GridData.FILL_BOTH));

    createOptionalDependenciesButton(container);

    TablePart tablePart = getTablePart();
    fPluginTable = tablePart.getTableViewer();
    fPluginTable.setContentProvider(new ContentProvider());
    fPluginTable.setLabelProvider(PDEPlugin.getDefault().getLabelProvider());
    fPluginTable.setComparator(new ViewerComparator() {
        @Override
        public int compare(Viewer viewer, Object e1, Object e2) {
            IProductPlugin p1 = (IProductPlugin) e1;
            IProductPlugin p2 = (IProductPlugin) e2;
            return super.compare(viewer, p1.getId(), p2.getId());
        }
    });
    GridData data = (GridData) tablePart.getControl().getLayoutData();
    data.minimumWidth = 200;
    fPluginTable.setInput(getProduct());

    tablePart.setButtonEnabled(0, isEditable());
    tablePart.setButtonEnabled(1, isEditable());
    tablePart.setButtonEnabled(2, isEditable());

    // remove buttons will be updated on refresh

    tablePart.setButtonEnabled(5, isEditable());

    toolkit.paintBordersFor(container);
    section.setClient(container);

    section.setText(PDEUIMessages.Product_PluginSection_title);
    section.setDescription(PDEUIMessages.Product_PluginSection_desc);
    getModel().addModelChangedListener(this);
    createSectionToolbar(section, toolkit);
}

From source file:org.eclipse.pde.internal.ui.editor.product.UpdatesSection.java

License:Open Source License

@Override
protected void createClient(Section section, FormToolkit toolkit) {

    section.setLayout(FormLayoutFactory.createClearGridLayout(false, 1));
    GridData sectionData = new GridData(GridData.FILL_BOTH);
    sectionData.verticalSpan = 2;//from w w w. jav a2s  .c  om
    section.setLayoutData(sectionData);

    Composite container = createClientContainer(section, 2, toolkit);
    createViewerPartControl(container, SWT.MULTI | SWT.FULL_SELECTION, 2, toolkit);
    container.setLayoutData(new GridData(GridData.FILL_BOTH));

    TablePart tablePart = getTablePart();
    fRepositoryTable = tablePart.getTableViewer();

    final Table table = fRepositoryTable.getTable();

    final TableColumn locationColumn = new TableColumn(table, SWT.LEFT);
    locationColumn.setText(PDEUIMessages.UpdatesSection_LocationColumn);
    locationColumn.setWidth(240);

    final TableColumn enabledColumn = new TableColumn(table, SWT.LEFT);
    enabledColumn.setText(PDEUIMessages.UpdatesSection_EnabledColumn);
    enabledColumn.setWidth(120);

    GridData data = (GridData) tablePart.getControl().getLayoutData();
    data.minimumWidth = 200;

    tablePart.setButtonEnabled(0, isEditable());
    tablePart.setButtonEnabled(1, isEditable());

    table.setHeaderVisible(true);
    toolkit.paintBordersFor(container);

    table.addControlListener(new ControlListener() {

        public void controlMoved(ControlEvent e) {
        }

        public void controlResized(ControlEvent e) {
            int size = table.getSize().x;
            locationColumn.setWidth(size / 6 * 5);
            enabledColumn.setWidth(size / 6 * 1);
        }

    });

    fRepositoryTable.setLabelProvider(new LabelProvider());
    fRepositoryTable.setContentProvider(new ContentProvider());
    fRepositoryTable.setComparator(new ViewerComparator() {
        @Override
        public int compare(Viewer viewer, Object e1, Object e2) {
            IRepositoryInfo r1 = (IRepositoryInfo) e1;
            IRepositoryInfo r2 = (IRepositoryInfo) e2;
            return super.compare(viewer, r1.getURL(), r2.getURL());
        }
    });
    fRepositoryTable.setInput(getProduct());
    createEditors();

    section.setClient(container);

    section.setText(PDEUIMessages.UpdatesSection_title);
    section.setDescription(PDEUIMessages.UpdatesSection_description);
}

From source file:org.eclipse.pde.internal.ui.launcher.PluginStatusDialog.java

License:Open Source License

protected Control createDialogArea(Composite parent) {
    Composite container = (Composite) super.createDialogArea(parent);
    GridData gd = new GridData(GridData.FILL_BOTH);
    gd.widthHint = 400;//from  ww  w.  j av  a2  s  .  co  m
    gd.heightHint = 300;
    container.setLayoutData(gd);

    Label label = new Label(container, SWT.NONE);
    label.setText(PDEUIMessages.PluginStatusDialog_label);

    treeViewer = new TreeViewer(container);
    treeViewer.setContentProvider(new ContentProvider());
    treeViewer.setLabelProvider(PDEPlugin.getDefault().getLabelProvider());
    treeViewer.setComparator(new ViewerComparator());
    treeViewer.setInput(fInput);
    treeViewer.getControl().setLayoutData(new GridData(GridData.FILL_BOTH));

    getShell().setText(PDEUIMessages.PluginStatusDialog_pluginValidation);
    Dialog.applyDialogFont(container);
    return container;
}

From source file:org.eclipse.pde.internal.ui.parts.PluginVersionPart.java

License:Open Source License

public void createVersionSelectionField(Composite comp, String id) {
    Group group = new Group(comp, SWT.NONE);
    group.setText(PDEUIMessages.PluginVersionPart_groupTitle);
    group.setLayoutData(new GridData(GridData.VERTICAL_ALIGN_BEGINNING | GridData.FILL_HORIZONTAL));
    group.setLayout(new GridLayout(2, false));

    PluginVersionTablePart part = new PluginVersionTablePart(
            new String[] { PDEUIMessages.PluginVersionPart_buttonTitle });
    part.createControl(group, SWT.FULL_SELECTION | SWT.MULTI | SWT.V_SCROLL, 1, null);
    part.setMinimumSize(0, 75);//from ww w . ja v  a2  s .  c o  m
    part.getViewer().setLabelProvider(PDEPlugin.getDefault().getLabelProvider());
    part.getViewer().setContentProvider(new PluginVersionContentProvider());
    part.getViewer().setComparator(new ViewerComparator());
    part.getViewer().setInput(PluginRegistry.findEntry(id));
    part.setButtonEnabled(0, false);
}

From source file:org.eclipse.pde.internal.ui.preferences.SyntaxColorTab.java

License:Open Source License

private void createElementTable(Composite parent) {
    Composite container = new Composite(parent, SWT.NONE);
    GridLayout layout = new GridLayout(2, true);
    layout.marginWidth = layout.marginHeight = 0;
    container.setLayout(layout);//from w w  w.j a v  a2s.  co  m
    container.setLayoutData(new GridData(GridData.FILL_BOTH));

    Label label = new Label(container, SWT.LEFT);
    label.setText(PDEUIMessages.SyntaxColorTab_elements);
    GridData gd = new GridData();
    gd.horizontalSpan = 2;
    label.setLayoutData(gd);

    fElementViewer = new TableViewer(container, SWT.SINGLE | SWT.V_SCROLL | SWT.BORDER);
    fElementViewer.setLabelProvider(new LabelProvider());
    fElementViewer.setContentProvider(ArrayContentProvider.getInstance());
    fElementViewer.getControl().setLayoutData(new GridData(GridData.FILL_BOTH));

    Composite colorComposite = new Composite(container, SWT.NONE);
    colorComposite.setLayout(new GridLayout(2, false));
    colorComposite.setLayoutData(new GridData(GridData.FILL_BOTH));

    label = new Label(colorComposite, SWT.LEFT);
    label.setText(PDEUIMessages.SyntaxColorTab_color);

    final ColorSelector colorSelector = new ColorSelector(colorComposite);
    Button colorButton = colorSelector.getButton();
    colorButton.setLayoutData(new GridData(GridData.BEGINNING));

    colorButton.addSelectionListener(new SelectionAdapter() {
        public void widgetSelected(SelectionEvent e) {
            ColorElement item = getColorElement(fElementViewer);
            item.setColorValue(colorSelector.getColorValue());
        }
    });

    fBoldButton = new Button(colorComposite, SWT.CHECK);
    gd = new GridData();
    gd.horizontalSpan = 2;
    fBoldButton.setLayoutData(gd);
    fBoldButton.setText(PDEUIMessages.SyntaxColorTab_bold);
    fBoldButton.addSelectionListener(new SelectionAdapter() {
        public void widgetSelected(SelectionEvent e) {
            ColorElement item = getColorElement(fElementViewer);
            item.setBold(fBoldButton.getSelection());
        }
    });

    fItalicButton = new Button(colorComposite, SWT.CHECK);
    gd = new GridData();
    gd.horizontalSpan = 2;
    fItalicButton.setLayoutData(gd);
    fItalicButton.setText(PDEUIMessages.SyntaxColorTab_italic);
    fItalicButton.addSelectionListener(new SelectionAdapter() {
        public void widgetSelected(SelectionEvent e) {
            ColorElement item = getColorElement(fElementViewer);
            item.setItalic(fItalicButton.getSelection());
        }
    });

    fElementViewer.addSelectionChangedListener(new ISelectionChangedListener() {
        public void selectionChanged(SelectionChangedEvent event) {
            ColorElement item = getColorElement(fElementViewer);
            colorSelector.setColorValue(item.getColorValue());
            fBoldButton.setSelection(item.isBold());
            fItalicButton.setSelection(item.isItalic());
        }
    });
    fElementViewer.setInput(getColorData());
    fElementViewer.setComparator(new ViewerComparator());
    fElementViewer.setSelection(new StructuredSelection(fElementViewer.getElementAt(0)));
}

From source file:org.eclipse.pde.internal.ui.preferences.TargetPlatformPreferencePage.java

License:Open Source License

private void createTargetProfilesGroup(Composite container) {

    // Start loading the default target as it is often fast enough to finish before UI is done rendering
    fLabelProvider = new TargetLabelProvider();
    LoadDefaultTargetJob job = new LoadDefaultTargetJob();
    job.addJobChangeListener(new JobChangeAdapter() {
        @Override//from ww  w  .j ava 2 s. c  o  m
        public void done(final IJobChangeEvent event) {
            UIJob job = new UIJob(Messages.UpdateTargetJob_UpdateJobName) {
                @Override
                public IStatus runInUIThread(IProgressMonitor monitor) {
                    TargetDefinition target = ((LoadDefaultTargetJob) event.getJob()).defaultTarget;
                    if (target != null && fLabelProvider != null) {
                        fLabelProvider.setDefaultTarget(target);
                        if (fTableViewer != null && !fTableViewer.getTable().isDisposed()) {
                            fTableViewer.refresh(true);
                        }
                    }
                    return Status.OK_STATUS;
                }
            };
            job.schedule();
        }
    });
    job.setPriority(Job.SHORT);
    job.schedule();

    Composite comp = SWTFactory.createComposite(container, 1, 1, GridData.FILL_BOTH, 0, 0);
    ((GridData) comp.getLayoutData()).widthHint = 350;
    SWTFactory.createWrapLabel(comp, PDEUIMessages.TargetPlatformPreferencePage2_0, 2);
    SWTFactory.createVerticalSpacer(comp, 1);

    Composite tableComposite = SWTFactory.createComposite(comp, 2, 1, GridData.FILL_BOTH, 0, 0);
    SWTFactory.createLabel(tableComposite, PDEUIMessages.TargetPlatformPreferencePage2_2, 2);

    fTableViewer = CheckboxTableViewer.newCheckList(tableComposite, SWT.MULTI | SWT.BORDER);
    GridData gd = new GridData(GridData.FILL_BOTH);
    gd.heightHint = 250;
    fTableViewer.getControl().setLayoutData(gd);
    fTableViewer.setLabelProvider(fLabelProvider);
    fTableViewer.setContentProvider(ArrayContentProvider.getInstance());
    fTableViewer.addCheckStateListener(new ICheckStateListener() {
        public void checkStateChanged(CheckStateChangedEvent event) {
            if (event.getChecked()) {
                fTableViewer.setCheckedElements(new Object[] { event.getElement() });
                handleActivate();
            } else {
                handleActivate();
            }

        }
    });
    fTableViewer.addSelectionChangedListener(new ISelectionChangedListener() {
        public void selectionChanged(SelectionChangedEvent event) {
            updateButtons();
            updateDetails();
        }
    });
    fTableViewer.addDoubleClickListener(new IDoubleClickListener() {
        public void doubleClick(DoubleClickEvent event) {
            handleEdit();
        }
    });
    fTableViewer.getTable().addKeyListener(new KeyAdapter() {
        @Override
        public void keyPressed(KeyEvent e) {
            if (e.character == SWT.DEL) {
                handleRemove();
            }
        }
    });

    // add the targets
    ITargetPlatformService service = getTargetService();
    if (service != null) {
        ITargetHandle[] targets = service.getTargets(null);
        for (int i = 0; i < targets.length; i++) {
            try {
                fTargets.add(targets[i].getTargetDefinition());
            } catch (CoreException e) {
                PDECore.log(e);
                setErrorMessage(e.getMessage());
            }
        }
        fTableViewer.setInput(fTargets);
    }

    fTableViewer.setComparator(new ViewerComparator() {
        @Override
        public int compare(Viewer viewer, Object e1, Object e2) {
            String name1 = ((TargetDefinition) e1).getName();
            String name2 = ((TargetDefinition) e2).getName();
            if (name1 == null) {
                return -1;
            }
            if (name2 == null) {
                return 1;
            }
            return name1.compareToIgnoreCase(name2);
        }
    });

    Composite buttonComposite = SWTFactory.createComposite(tableComposite, 1, 1,
            GridData.FILL_VERTICAL | GridData.VERTICAL_ALIGN_BEGINNING, 0, 0);

    fReloadButton = SWTFactory.createPushButton(buttonComposite, PDEUIMessages.TargetPlatformPreferencePage2_16,
            null);
    fReloadButton.addSelectionListener(new SelectionAdapter() {
        @Override
        public void widgetSelected(SelectionEvent e) {
            handleReload();
        }
    });

    SWTFactory.createVerticalSpacer(buttonComposite, 1);

    fAddButton = SWTFactory.createPushButton(buttonComposite, PDEUIMessages.TargetPlatformPreferencePage2_3,
            null);
    fAddButton.addSelectionListener(new SelectionAdapter() {
        @Override
        public void widgetSelected(SelectionEvent e) {
            handleAdd();
        }
    });

    fEditButton = SWTFactory.createPushButton(buttonComposite, PDEUIMessages.TargetPlatformPreferencePage2_5,
            null);
    fEditButton.addSelectionListener(new SelectionAdapter() {
        @Override
        public void widgetSelected(SelectionEvent e) {
            handleEdit();
        }
    });

    fRemoveButton = SWTFactory.createPushButton(buttonComposite, PDEUIMessages.TargetPlatformPreferencePage2_7,
            null);
    fRemoveButton.addSelectionListener(new SelectionAdapter() {
        @Override
        public void widgetSelected(SelectionEvent e) {
            handleRemove();
        }
    });

    fMoveButton = SWTFactory.createPushButton(buttonComposite, PDEUIMessages.TargetPlatformPreferencePage2_13,
            null);
    fMoveButton.addSelectionListener(new SelectionAdapter() {
        @Override
        public void widgetSelected(SelectionEvent e) {
            handleMove();
        }
    });

    updateButtons();

    Composite detailsComposite = SWTFactory.createComposite(comp, 1, 1, GridData.FILL_HORIZONTAL, 0, 0);
    SWTFactory.createLabel(detailsComposite, PDEUIMessages.TargetPlatformPreferencePage2_25, 1);
    fDetails = new TreeViewer(detailsComposite);
    fDetails.setLabelProvider(new TargetLocationLabelProvider(true, true));
    fDetails.setContentProvider(new TargetLocationContentProvider());
    gd = new GridData(GridData.FILL_HORIZONTAL);
    gd.heightHint = 50;
    fDetails.getControl().setLayoutData(gd);

    if (service != null) {
        try {
            fPrevious = service.getWorkspaceTargetDefinition();
            Iterator<ITargetDefinition> iterator = fTargets.iterator();
            while (iterator.hasNext()) {
                ITargetDefinition target = iterator.next();
                if (target.getHandle().equals(fPrevious.getHandle())) {
                    fActiveTarget = target;
                    fTableViewer.setCheckedElements(new Object[] { fActiveTarget });
                    fTableViewer.refresh(target);
                    break;
                }
            }
        } catch (CoreException e) {
            PDEPlugin.log(e);
            setErrorMessage(PDEUIMessages.TargetPlatformPreferencePage2_23);
        }
        if (getMessage() == null && fActiveTarget == null) {
            setMessage(PDEUIMessages.TargetPlatformPreferencePage2_22, IMessageProvider.INFORMATION);
        }
    }
}

From source file:org.eclipse.pde.internal.ui.properties.SelfHostingPropertyPage.java

License:Open Source License

/**
 * @see PreferencePage#createContents(Composite)
 *//* w w  w. ja v  a2s  . c o m*/
protected Control createContents(Composite parent) {
    Composite composite = new Composite(parent, SWT.NONE);
    composite.setLayout(new GridLayout());
    composite.setLayoutData(new GridData(GridData.FILL_BOTH));

    Label label = new Label(composite, SWT.WRAP);
    label.setText(PDEUIMessages.SelfHostingPropertyPage_label);
    GridData gd = new GridData(GridData.FILL_HORIZONTAL);
    gd.widthHint = 300;
    label.setLayoutData(gd);

    new Label(composite, SWT.NONE);

    label = new Label(composite, SWT.WRAP);
    label.setText(PDEUIMessages.SelfHostingPropertyPage_viewerLabel);

    fViewer = CheckboxTableViewer.newCheckList(composite, SWT.BORDER);
    fViewer.setContentProvider(new ContentProvider());
    fViewer.setLabelProvider(new FolderLabelProvider());
    fViewer.setInput(getElement());
    fViewer.setComparator(new ViewerComparator());
    fViewer.getControl().setLayoutData(new GridData(GridData.FILL_BOTH));

    initialize();

    Dialog.applyDialogFont(composite);
    return composite;
}

From source file:org.eclipse.pde.internal.ui.shared.target.TargetLocationsGroup.java

License:Open Source License

/**
 * Sets up the tree viewer using the given tree
 * @param tree/*from   ww  w  .  j  a  v  a  2s  .c o m*/
 */
private void initializeTreeViewer(Tree tree) {
    fTreeViewer = new TreeViewer(tree);
    fTreeViewer.setContentProvider(new TargetLocationContentProvider());
    fTreeViewer.setLabelProvider(new TargetLocationLabelProvider(true, false));
    fTreeViewer.setComparator(new ViewerComparator() {
        @Override
        public int compare(Viewer viewer, Object e1, Object e2) {
            // Status at the end of the list
            if (e1 instanceof IStatus && !(e2 instanceof IStatus)) {
                return 1;
            }
            if (e2 instanceof IStatus && !(e1 instanceof IStatus)) {
                return -1;
            }
            return super.compare(viewer, e1, e2);
        }
    });
    fTreeViewer.addSelectionChangedListener(new ISelectionChangedListener() {
        public void selectionChanged(SelectionChangedEvent event) {
            updateButtons();
        }
    });
    fTreeViewer.addDoubleClickListener(new IDoubleClickListener() {
        public void doubleClick(DoubleClickEvent event) {
            if (!event.getSelection().isEmpty()) {
                handleEdit();
            }
        }
    });
    fTreeViewer.setAutoExpandLevel(AbstractTreeViewer.ALL_LEVELS);
}

From source file:org.eclipse.pde.internal.ui.wizards.RequiredPluginsContainerPage.java

License:Open Source License

/**
 * Insert the method's description here.
 * @see WizardPage#createControl/*from   w  w w.j  a va 2 s  .  c o  m*/
 */
public void createControl(Composite parent) {
    Composite container = new Composite(parent, SWT.NULL);
    container.setLayout(new GridLayout());
    Label label = new Label(container, SWT.NULL);
    label.setText(PDEUIMessages.RequiredPluginsContainerPage_label);
    viewer = new TableViewer(container, SWT.BORDER | SWT.V_SCROLL | SWT.H_SCROLL);
    viewer.setContentProvider(new EntryContentProvider());
    viewer.setLabelProvider(new EntryLabelProvider());
    viewer.setComparator(new ViewerComparator());

    GridData gd = new GridData(GridData.FILL_BOTH);
    gd.widthHint = 400;
    gd.heightHint = 300;
    viewer.getTable().setLayoutData(gd);

    PlatformUI.getWorkbench().getHelpSystem().setHelp(container, IHelpContextIds.PLUGINS_CONTAINER_PAGE);
    setControl(container);
    Dialog.applyDialogFont(container);
    if (realEntries != null)
        initializeView();

    PlatformUI.getWorkbench().getHelpSystem().setHelp(container, IHelpContextIds.REQUIRED_PLUINGS_CONTAINER);
}

From source file:org.eclipse.pde.internal.ui.wizards.target.TargetDefinitionContentPage.java

License:Open Source License

private void createImpTable(Composite container) {
    fElementViewer = new TableViewer(container, SWT.MULTI | SWT.V_SCROLL | SWT.BORDER);
    GridData gd = new GridData(GridData.FILL_BOTH);
    gd.heightHint = 250;//from  w w  w.  java2 s.  co  m
    fElementViewer.getControl().setLayoutData(gd);
    fElementViewer.getControl().setFont(container.getFont());
    fElementViewer.setContentProvider(new DefaultTableProvider() {
        public Object[] getElements(Object inputElement) {
            ITargetDefinition target = getTargetDefinition();
            if (target != null) {
                NameVersionDescriptor[] bundles = target.getImplicitDependencies();
                if (bundles != null) {
                    return bundles;
                }
            }
            return new NameVersionDescriptor[0];
        }
    });
    fElementViewer.setLabelProvider(new StyledBundleLabelProvider(false, false));
    fElementViewer.setInput(PDEPlugin.getDefault());
    fElementViewer.setComparator(new ViewerComparator() {
        @Override
        public int compare(Viewer viewer, Object e1, Object e2) {
            NameVersionDescriptor bundle1 = (NameVersionDescriptor) e1;
            NameVersionDescriptor bundle2 = (NameVersionDescriptor) e2;
            return super.compare(viewer, bundle1.getId(), bundle2.getId());
        }
    });
    fElementViewer.addSelectionChangedListener(new ISelectionChangedListener() {
        public void selectionChanged(SelectionChangedEvent event) {
            updateImpButtons();
        }
    });
    fElementViewer.getTable().addKeyListener(new KeyAdapter() {
        @Override
        public void keyPressed(KeyEvent e) {
            if (e.character == SWT.DEL && e.stateMask == 0) {
                handleRemove();
            }
        }
    });
}