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.nokia.s60ct.gui.editors.ConfigurationBrowser.java

License:Open Source License

@Override
protected void createPages() {
    createModel();//from  w  w  w.  ja v a2s  . co m
    {
        ViewerPane viewerPane = new ViewerPane(getSite().getPage(), ConfigurationBrowser.this) {

            public Viewer createViewer(Composite composite) {

                TreeViewer treeViewer = new TreeViewer(composite,
                        SWT.MULTI | SWT.H_SCROLL | SWT.V_SCROLL | SWT.BORDER | SWT.VIRTUAL);

                TextCellEditor textCellEditot = new TextCellEditor(treeViewer.getTree());
                CellEditor[] cellEditor = { textCellEditot };

                String[] properties = { "Main" };
                treeViewer.setCellEditors(cellEditor);
                treeViewer.setColumnProperties(properties);

                TreeEditor treeEditor = new TreeEditor(treeViewer.getTree());
                treeEditor.horizontalAlignment = SWT.LEFT;
                treeEditor.minimumWidth = 10;

                treeViewer.addFilter(FeatureViewFilter.INSTANCE);
                treeViewer.addFilter(ReadOnlyFilter.INSTANCE);
                ReadOnlyFilter.INSTANCE.addViewer(treeViewer);
                treeViewer.getTree().setData("name", getString("_UI_Configuration_pane"));
                return treeViewer;
            }

            public void requestActivation() {
                super.requestActivation();
                setCurrentViewerPane(this);
            }
        };
        viewerPane.createControl(getContainer());

        selectionViewer = (TreeViewer) viewerPane.getViewer();
        selectionViewer.setContentProvider(new AdapterFactoryContentProvider(adapterFactory));
        selectionViewer.setLabelProvider(new AdapterFactoryLabelProvider(adapterFactory));
        selectionViewer.setInput(editingDomain.getResourceSet());
        selectionViewer.setSelection(
                new StructuredSelection(editingDomain.getResourceSet().getResources().get(0)), true);

        createContextMenuFor(selectionViewer);
        int pageIndex = addPage(viewerPane.getControl());
        setPageText(pageIndex, getString("_UI_Configuration_pane"));
    }
    {
        ViewerPane viewerPane = new ViewerPane(getSite().getPage(), ConfigurationBrowser.this) {

            public Viewer createViewer(Composite composite) {

                TreeViewer treeViewer = new TreeViewer(composite,
                        SWT.MULTI | SWT.H_SCROLL | SWT.V_SCROLL | SWT.BORDER | SWT.VIRTUAL);

                TextCellEditor textCellEditot = new TextCellEditor(treeViewer.getTree());
                CellEditor[] cellEditor = { textCellEditot };

                String[] properties = { "Main" };
                treeViewer.setCellEditors(cellEditor);
                treeViewer.setColumnProperties(properties);

                TreeEditor treeEditor = new TreeEditor(treeViewer.getTree());
                treeEditor.horizontalAlignment = SWT.LEFT;
                treeEditor.minimumWidth = 10;

                treeViewer.addFilter(FeatureViewFilter.INSTANCE);
                treeViewer.addFilter(new FeaturePathFilter());
                treeViewer.setComparator(new ViewerComparator() {

                    @Override
                    public int compare(Viewer viewer, Object e1, Object e2) {
                        // Auto-generated method stub
                        if (e1 instanceof Feature) {
                            Feature f1 = (Feature) e1;
                            Feature f2 = (Feature) e2;
                            return super.compare(viewer, f1.getName(), f2.getName());
                        } else if (e1 instanceof Setting) //should setting be here in alphabetical order or in the same order as in confml?
                        {
                            Setting s1 = (Setting) e1;
                            Setting s2 = (Setting) e2;
                            return super.compare(viewer, s1.getName(), s2.getName());
                        } else {
                            return super.compare(viewer, e1, e2);
                        }
                    }
                });
                treeViewer.addFilter(ReadOnlyFilter.INSTANCE);
                ReadOnlyFilter.INSTANCE.addViewer(treeViewer);
                return treeViewer;
            }

            public void requestActivation() {
                super.requestActivation();
                setCurrentViewerPane(this);
            }
        };
        viewerPane.createControl(getContainer());

        parentViewer = (TreeViewer) viewerPane.getViewer();
        parentViewer.setContentProvider(new AdapterFactoryContentProvider(adapterFactory));
        parentViewer.setLabelProvider(new AdapterFactoryLabelProvider(adapterFactory));
        parentViewer.setInput(editingDomain.getResourceSet());
        parentViewer.setSelection(new StructuredSelection(editingDomain.getResourceSet().getResources().get(0)),
                true);

        createContextMenuFor(parentViewer);
        int pageIndex = addPage(viewerPane.getControl());
        setPageText(pageIndex, getString("_UI_Feature_pane"));
    }
    {
        ViewerPane viewerPane = new ViewerPane(getSite().getPage(), ConfigurationBrowser.this) {

            @Override
            public Viewer createViewer(Composite composite) {

                TreeViewer treeViewer = new TreeViewer(composite,
                        SWT.MULTI | SWT.H_SCROLL | SWT.V_SCROLL | SWT.BORDER | SWT.VIRTUAL);

                TextCellEditor textCellEditot = new TextCellEditor(treeViewer.getTree());
                CellEditor[] cellEditor = { textCellEditot };

                String[] properties = { "Main" };
                treeViewer.setCellEditors(cellEditor);
                treeViewer.setColumnProperties(properties);

                TreeEditor treeEditor = new TreeEditor(treeViewer.getTree());
                treeEditor.horizontalAlignment = SWT.LEFT;
                treeEditor.minimumWidth = 10;

                treeViewer.addFilter(FeatureViewFilter.INSTANCE);
                treeViewer.addFilter(new ViewPathFilter());
                treeViewer.addFilter(ReadOnlyFilter.INSTANCE);
                ReadOnlyFilter.INSTANCE.addViewer(treeViewer);
                return treeViewer;
            }

            @Override
            public void requestActivation() {
                super.requestActivation();
                setCurrentViewerPane(this);
            }
        };

        viewerPane.createControl(getContainer());
        parentViewer = (TreeViewer) viewerPane.getViewer();
        parentViewer.setContentProvider(new AdapterFactoryContentProvider(adapterFactory));
        parentViewer.setLabelProvider(new AdapterFactoryLabelProvider(adapterFactory));
        parentViewer.setInput(editingDomain.getResourceSet());
        parentViewer.setSelection(new StructuredSelection(editingDomain.getResourceSet().getResources().get(0)),
                true);

        createContextMenuFor(parentViewer);
        int pageIndex = addPage(viewerPane.getControl());
        setPageText(pageIndex, getString("_UI_View_pane"));

        addExpandAndCollapseButtons(viewerPane.getControl().getParent());

    }

}

From source file:com.nokia.testfw.codegen.ui.preferences.TESTFWTemplatePreferencePage.java

License:Open Source License

protected Control createContents(Composite ancestor) {
    Composite parent = new Composite(ancestor, SWT.NONE);
    GridLayout layout = new GridLayout();
    layout.numColumns = 2;//from www .j  a va 2  s .co  m
    layout.marginHeight = 0;
    layout.marginWidth = 0;
    parent.setLayout(layout);

    Composite innerParent = new Composite(parent, SWT.NONE);
    GridLayout innerLayout = new GridLayout();
    innerLayout.numColumns = 2;
    innerLayout.marginHeight = 0;
    innerLayout.marginWidth = 0;
    innerParent.setLayout(innerLayout);
    GridData gd = new GridData(GridData.FILL_BOTH);
    gd.horizontalSpan = 2;
    innerParent.setLayoutData(gd);

    Composite treeComposite = new Composite(innerParent, SWT.NONE);
    GridData data = new GridData(GridData.FILL_BOTH);
    data.widthHint = 360;
    data.heightHint = convertHeightInCharsToPixels(10);
    treeComposite.setLayoutData(data);

    FillLayout treeLayout = new FillLayout();
    treeComposite.setLayout(treeLayout);

    TESTFWTemplateAdapter adapter = new TESTFWTemplateAdapter();

    iTreeViewer = new TreeViewer(treeComposite, SWT.BORDER | SWT.H_SCROLL | SWT.V_SCROLL);
    iTreeViewer.setLabelProvider(new TESTFWTemplateLabelProvider());
    iTreeViewer.setContentProvider(adapter);
    iTreeViewer.addSelectionChangedListener(adapter);
    iTreeViewer.addDoubleClickListener(adapter);

    iTreeViewer.setComparator(new ViewerComparator() {
        public int compare(Viewer viewer, Object object1, Object object2) {
            if ((object1 instanceof PathNode) && (object2 instanceof PathNode)) {
                String leftName = ((PathNode) object1).getName();
                String rightName = ((PathNode) object2).getName();
                int result = Collator.getInstance().compare(leftName, rightName);
                return result;
            }
            return super.compare(viewer, object1, object2);
        }

        public boolean isSorterProperty(Object element, String property) {
            return true;
        }
    });

    Composite buttons = new Composite(innerParent, SWT.NONE);
    buttons.setLayoutData(new GridData(GridData.VERTICAL_ALIGN_BEGINNING));
    layout = new GridLayout();
    layout.marginHeight = 0;
    layout.marginWidth = 0;
    buttons.setLayout(layout);

    iAddButton = new Button(buttons, SWT.PUSH);
    iAddButton.setText(Messages.getString("TemplatePreferencePage_new"));
    iAddButton.setLayoutData(new GridData(768));
    iAddButton.addListener(SWT.Selection, new Listener() {
        public void handleEvent(Event e) {
            add();
        }
    });

    iEditButton = new Button(buttons, SWT.PUSH);
    iEditButton.setText(Messages.getString("TemplatePreferencePage_edit"));
    iEditButton.setLayoutData(new GridData(768));
    iEditButton.addListener(SWT.Selection, new Listener() {
        public void handleEvent(Event e) {
            edit();
        }
    });

    iRemoveButton = new Button(buttons, SWT.PUSH);
    iRemoveButton.setText(Messages.getString("TemplatePreferencePage_remove"));
    iRemoveButton.setLayoutData(new GridData(768));
    iRemoveButton.addListener(SWT.Selection, new Listener() {
        public void handleEvent(Event e) {
            remove();
        }
    });

    createSeparator(buttons);

    iRestoreButton = new Button(buttons, SWT.PUSH);
    iRestoreButton.setText(Messages.getString("TemplatePreferencePage_restore"));
    iRestoreButton.setLayoutData(new GridData(768));
    iRestoreButton.addListener(SWT.Selection, new Listener() {
        public void handleEvent(Event e) {
            restoreDeleted();
        }
    });

    iRevertButton = new Button(buttons, SWT.PUSH);
    iRevertButton.setText(Messages.getString("TemplatePreferencePage_revert"));
    iRevertButton.setLayoutData(new GridData(768));
    iRevertButton.addListener(SWT.Selection, new Listener() {
        public void handleEvent(Event e) {
            revert();
        }
    });

    createSeparator(buttons);

    iImportButton = new Button(buttons, SWT.PUSH);
    iImportButton.setText(Messages.getString("TemplatePreferencePage_import"));
    iImportButton.setLayoutData(new GridData(768));
    iImportButton.addListener(SWT.Selection, new Listener() {
        public void handleEvent(Event e) {
            import_();
        }
    });

    iExportButton = new Button(buttons, SWT.PUSH);
    iExportButton.setText(Messages.getString("TemplatePreferencePage_export"));
    iExportButton.setLayoutData(new GridData(768));
    iExportButton.addListener(SWT.Selection, new Listener() {
        public void handleEvent(Event e) {
            export();
        }
    });

    iPatternViewer = createViewer(parent, 2);

    iTreeViewer.setInput(getTemplateStore());

    updateButtons();
    Dialog.applyDialogFont(parent);
    innerParent.layout();

    return parent;
}

From source file:com.nokia.testfw.codegen.ui.wizard.GenTestMethodPage.java

License:Open Source License

/**
 * Implement method of IDialogPage to create UI of this wizard page
 *//*from  w ww . j  av  a2s.  com*/
public void createControl(Composite aComposite) {
    initializeDialogUnits(aComposite);

    final Composite lComposite = new Composite(aComposite, SWT.NONE);
    {
        lComposite.setLayout(new GridLayout(1, false));
        lComposite.setLayoutData(new GridData(GridData.FILL_BOTH));

        setControl(lComposite);

        iTreeViewer = new TreeViewer(lComposite, SWT.BORDER);

        // Content Provider
        iTreeViewer.setContentProvider(new ClassMethodContentProvider());

        // Label Provider
        iTreeViewer.setLabelProvider(new ClassMethodLabelProvider());

        // Filter
        iTreeViewer.addFilter(new ClassMethodViewerFilter());

        // Selection Changed listener
        iTreeViewer.addSelectionChangedListener(new ISelectionChangedListener() {
            public void selectionChanged(SelectionChangedEvent event) {
                checkButtonState();
            }
        });

        iTreeViewer.setComparator(new ViewerComparator());

        // Double Click Listener
        iTreeViewer.addDoubleClickListener(new IDoubleClickListener() {
            public void doubleClick(DoubleClickEvent event) {
                IStructuredSelection selection = (IStructuredSelection) event.getSelection();
                iSelectedItem = (NodeImpl) selection.getFirstElement();
                if (iSelectedItem instanceof MethodNodeImpl) {
                    iBtnEditMethod.notifyListeners(SWT.Selection, null);
                }
            }
        });
        iTree = iTreeViewer.getTree();
        iTree.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));
    }

    final Composite lBtnComposite = new Composite(lComposite, SWT.NONE);
    {
        lBtnComposite.setLayout(new GridLayout(4, true));
        lBtnComposite.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));

        // Add Method Button
        iBtnAddMethod = new Button(lBtnComposite, SWT.PUSH);
        iBtnAddMethod.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
        iBtnAddMethod.setText(Messages.getString("GenTestMethodPage.AddMethod"));
        iBtnAddMethod.addSelectionListener(new SelectionAdapter() {
            public void widgetSelected(SelectionEvent event) {
                try {

                    MethodEditDialog dialog = new MethodEditDialog(lBtnComposite.getShell(),
                            Messages.getString("MethodDialog.AddMethodTitle"), iClassNode);
                    if (dialog.open()) {
                        addMethod(dialog.getMethodItem().getName());
                        iTreeViewer.refresh();
                    }
                    setPageComplete(isPageComplete());
                } catch (Exception e) {
                    IStatus lStatus = new Status(IStatus.WARNING, GenTestMethodPage.class.getName(),
                            "Exception was thrown while adding method.", e);
                    CodegenUIPlugin.getDefault().getLog().log(lStatus);
                }
            }
        });

        // Edit Method Button
        iBtnEditMethod = new Button(lBtnComposite, SWT.PUSH);
        iBtnEditMethod.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
        iBtnEditMethod.setText(Messages.getString("GenTestMethodPage.EditMethod"));
        iBtnEditMethod.addSelectionListener(new SelectionAdapter() {
            public void widgetSelected(SelectionEvent event) {
                MethodNodeImpl item = (MethodNodeImpl) iSelectedItem;
                MethodEditDialog dialog = new MethodEditDialog(lBtnComposite.getShell(),
                        Messages.getString("MethodDialog.EditMethodTitle"), item);
                if (dialog.open()) {
                    iTreeViewer.update(item, null);
                }
                setPageComplete(isPageComplete());
            }
        });

        // Delete Method Button
        iBtnDeleteMethod = new Button(lBtnComposite, SWT.PUSH);
        iBtnDeleteMethod.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
        iBtnDeleteMethod.setText(Messages.getString("GenTestMethodPage.DeleteMethod"));
        iBtnDeleteMethod.addSelectionListener(new SelectionAdapter() {
            public void widgetSelected(SelectionEvent event) {
                MethodNodeImpl item = (MethodNodeImpl) iSelectedItem;
                boolean rlt = MessageDialog.openQuestion(lBtnComposite.getShell(),
                        Messages.getString("GenTestMethodPage.ConfirmDelete"),
                        Messages.getString("GenTestMethodPage.WhetherDeleteMethod", item.getName()));
                if (rlt) {
                    ((ClassNodeImpl) item.getParent()).removeChild(item);
                    iTreeViewer.remove(item);
                }
                setPageComplete(isPageComplete());
            }
        });

        // HeaderButton
        iHeaderButton = new Button(lBtnComposite, SWT.PUSH);
        iHeaderButton.setText(Messages.getString("GenTestMethodPage.BindMethod"));
        iHeaderButton.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
        iHeaderButton.addSelectionListener(new SelectionAdapter() {
            public void widgetSelected(SelectionEvent event) {
                iHeaderButton.setEnabled(false);

                IRunnableWithProgress op = new IRunnableWithProgress() {
                    public void run(IProgressMonitor monitor) throws InvocationTargetException {
                        iTargetProject = ((AbstractTemplateWizard) getWizard()).getTargetProject();
                        if (iTargetProject == null) {
                            try {
                                iTargetProject = ((AbstractTemplateWizard) getWizard())
                                        .createTargetProject(monitor);
                            } catch (CoreException e) {
                                CodegenUIPlugin.getDefault().getLog().log(e.getStatus());
                                MessageDialog.openError(getShell(),
                                        "Exception was thrown while generating files", e.getMessage());
                            }
                        }

                    }
                };
                try {
                    new ProgressMonitorDialog(getShell()).run(true, false, op);
                } catch (InterruptedException e) {
                } catch (InvocationTargetException e) {
                    IStatus lStatus = new Status(IStatus.ERROR, AbstractTemplateWizard.class.getName(),
                            "Exception was thrown while creating project.", e.getTargetException());
                    CodegenUIPlugin.getDefault().getLog().log(lStatus);
                    MessageDialog.openError(getShell(), "Exception was thrown while creating project.",
                            e.getTargetException().getMessage());
                }

                ISymbianSDK sdk = ((AbstractTemplateWizard) getWizard()).getDefaultSDK();
                GenTestMethodDialog dialog = new GenTestMethodDialog(iHeaderButton.getShell(), iTargetProject,
                        sdk);
                try {
                    if (dialog.open()) {
                        IPath includePath = new Path(dialog.getHeaderFilePath());
                        iClassNode.addIIncludeHeader(includePath.lastSegment());
                        includePath = includePath.removeLastSegments(1);
                        int match = includePath.matchingFirstSegments(new Path(sdk.getEPOCROOT()));
                        if (match > 0) {
                            includePath = includePath.removeFirstSegments(match);
                        }
                        includePath = includePath.setDevice(null);
                        iProjectNode.getSystemIncludes().add(includePath.toString());
                        iProjectNode.getLibrarys().add(dialog.getLib());
                        for (INode classNode : dialog.getHeaderNode().getChildren()) {
                            for (INode methodNode : classNode.getChildren()) {
                                if (((UIMethodNode) methodNode).isSelected()) {
                                    addMethod(classNode.getName() + "_" + methodNode.getName());
                                }
                            }
                        }
                        iTreeViewer.refresh();
                        setPageComplete(isPageComplete());
                    }
                } catch (Exception e) {
                    IStatus lStatus = new Status(IStatus.ERROR, AbstractTemplateWizard.class.getName(),
                            "Exception was thrown while creating project.", e);
                    CodegenUIPlugin.getDefault().getLog().log(lStatus);
                } finally {
                    iHeaderButton.setEnabled(true);
                }
            }
        });
    }
}

From source file:com.nokia.tools.s60.preferences.ExampleThemesPreferencePage.java

License:Open Source License

@Override
protected Control createContents(Composite parent) {
    PlatformUI.getWorkbench().getHelpSystem().setHelp(parent, PREFERENCES_CONTEXT);

    Composite generalComposite = new Composite(parent, SWT.NULL);
    GridLayout layout = new GridLayout();
    layout.marginHeight = 0;// ww w  .j  ava  2s . c om
    layout.marginWidth = 0;
    layout.verticalSpacing = 7;
    generalComposite.setLayout(layout);

    GridData gd = new GridData(GridData.FILL_BOTH);
    generalComposite.setLayoutData(gd);

    setDescription(Messages.ExampleThemesPreferencePage_PreferencesDescriptionLabel);
    createDescriptionLabel(generalComposite);
    Composite exampleThemesComposite = new Composite(generalComposite, SWT.NONE);
    gd = new GridData(GridData.FILL_BOTH);
    exampleThemesComposite.setLayoutData(gd);
    layout = new GridLayout();
    layout.numColumns = 2;
    layout.marginHeight = 0;
    layout.marginWidth = 0;
    layout.verticalSpacing = 7;
    exampleThemesComposite.setLayout(layout);

    Label lblPlugins = new Label(exampleThemesComposite, SWT.NONE);
    lblPlugins.setText(Messages.ExampleThemesPreferencePage_PluginsTitleLabel);
    gd = new GridData();
    gd.verticalIndent = 5;
    gd.horizontalSpan = 2;
    lblPlugins.setLayoutData(gd);

    Composite tableComposite = new Composite(exampleThemesComposite, SWT.NONE);
    FillLayout layout2 = new FillLayout();
    layout2.marginHeight = 0;
    layout2.marginWidth = 0;
    tableComposite.setLayout(layout2);
    gd = new GridData(GridData.FILL_BOTH);
    gd.verticalSpan = 2;
    tableComposite.setLayoutData(gd);

    exampleThemesViewer = new TableViewer(tableComposite, SWT.SINGLE | SWT.FULL_SELECTION | SWT.BORDER);

    Table exampleThemesTable = exampleThemesViewer.getTable();
    final TableColumn colName = new TableColumn(exampleThemesTable, SWT.LEFT);
    colName.setText("Name");
    colName.setWidth(150);

    final TableColumn colModel = new TableColumn(exampleThemesTable, SWT.LEFT);
    colModel.setText("Platform");
    colModel.setWidth(150);

    exampleThemesTable.setHeaderVisible(true);
    exampleThemesTable.setLinesVisible(true);

    exampleThemesViewer.setColumnProperties(new String[] { "Name", "Platform" });

    exampleThemesViewer.addSelectionChangedListener(new ISelectionChangedListener() {
        public void selectionChanged(SelectionChangedEvent event) {
            // refresh buttons state
            ISelection s = event.getSelection();
            int index = exampleThemesViewer.getTable().getSelectionIndex();

            if (index >= 0) {
                btnRemove.setEnabled(true);
                // getting the selected bean object, later this will
                // used on delete operation
                selectedBean = (ExampleThemesBean) ((IStructuredSelection) s).getFirstElement();
            }
        }
    });

    exampleThemesViewer.getTable().addListener(SWT.Resize, new Listener() {
        public void handleEvent(Event event) {
            if (updateColSizes) {
                Table tbl = exampleThemesViewer.getTable();
                int w = tbl.getClientArea().width;
                int c1 = w / 5 * 3;
                int c2 = w - c1;
                updateColSizes = false;
                colName.setWidth(c1);
                colModel.setWidth(c2);
                updateColSizes = true;
            }
        }
    });

    exampleThemesViewer.setContentProvider(new ArrayContentProvider() {
        /*
         * (non-Javadoc)
         * 
         * @see
         * org.eclipse.jface.viewers.ArrayContentProvider#getElements(java
         * .lang.Object)
         */
        @Override
        public Object[] getElements(Object inputElement) {
            List<ExampleThemesBean> list = (List<ExampleThemesBean>) inputElement;
            return list.toArray();
        }
    });
    exampleThemesViewer.setLabelProvider(new ExampleThemesLabelProvider());
    exampleThemesViewer.setComparator(new ViewerComparator() {
        @Override
        public int compare(Viewer viewer, Object e1, Object e2) {
            ExampleThemesBean a = (ExampleThemesBean) e1;
            ExampleThemesBean b = (ExampleThemesBean) e2;

            return a.getName().compareTo(b.getName());
        }
    });

    exampleThemesViewer.setInput(createInput());

    btnAdd = new Button(exampleThemesComposite, SWT.PUSH);
    btnAdd.setText(Messages.ExampleThemesPreferencePage_AddButtonLabel);
    calculateButtonSize(btnAdd);
    btnAdd.addSelectionListener(this);

    btnRemove = new Button(exampleThemesComposite, SWT.PUSH);
    btnRemove.setText(Messages.ExampleThemesPreferencePage_RemoveButtonLabel);
    calculateButtonSize(btnRemove);
    btnRemove.setEnabled(false);
    gd = new GridData(SWT.FILL, SWT.TOP, false, false);
    btnRemove.setLayoutData(gd);
    btnRemove.addSelectionListener(this);
    noDefaultAndApplyButton();
    return parent;
}

From source file:com.nokia.tools.s60.preferences.PluginHandlingPreferencePage.java

License:Open Source License

@Override
protected Control createContents(Composite parent) {

    PlatformUI.getWorkbench().getHelpSystem().setHelp(parent, PREFERENCES_CONTEXT);

    Composite generalComposite = new Composite(parent, SWT.NULL);
    GridLayout layout = new GridLayout();
    layout.marginHeight = 0;//from  ww w. java 2 s. c om
    layout.marginWidth = 0;
    layout.verticalSpacing = 7;
    generalComposite.setLayout(layout);
    GridData gd = new GridData(GridData.FILL_BOTH);
    generalComposite.setLayoutData(gd);

    setDescription(Messages.PluginHandlingPreferencePage_PreferencesDescriptionLabel);
    createDescriptionLabel(generalComposite);

    SashForm sash = new SashForm(generalComposite, SWT.VERTICAL);
    gd = new GridData(GridData.FILL_BOTH);
    sash.setLayoutData(gd);

    Composite pluginsComposite = new Composite(sash, SWT.NONE);
    gd = new GridData(GridData.FILL_BOTH);
    pluginsComposite.setLayoutData(gd);
    layout = new GridLayout();
    layout.numColumns = 2;
    layout.marginHeight = 0;
    layout.marginWidth = 0;
    layout.verticalSpacing = 7;
    pluginsComposite.setLayout(layout);

    Label lblPlugins = new Label(pluginsComposite, SWT.NONE);
    lblPlugins.setText(Messages.PluginHandlingPreferencePage_PluginsTitleLabel);
    gd = new GridData();
    gd.verticalIndent = 5;
    gd.horizontalSpan = 2;
    lblPlugins.setLayoutData(gd);

    Composite tableComposite = new Composite(pluginsComposite, SWT.NONE);
    FillLayout layout2 = new FillLayout();
    layout2.marginHeight = 0;
    layout2.marginWidth = 0;
    tableComposite.setLayout(layout2);
    gd = new GridData(GridData.FILL_BOTH);
    gd.verticalSpan = 2;
    tableComposite.setLayoutData(gd);

    pluginViewer = new TableViewer(tableComposite, SWT.SINGLE | SWT.FULL_SELECTION | SWT.BORDER);
    Table pluginTable = pluginViewer.getTable();
    final TableColumn colUid = new TableColumn(pluginTable, SWT.LEFT);
    colUid.setText("Id");
    colUid.setWidth(100);

    final TableColumn colName = new TableColumn(pluginTable, SWT.LEFT);
    colName.setText("Name");
    colName.setWidth(80);

    pluginTable.setHeaderVisible(true);
    pluginTable.setLinesVisible(true);

    pluginViewer.setColumnProperties(new String[] { "Id", "Name" });

    pluginViewer.addSelectionChangedListener(new ISelectionChangedListener() {

        public void selectionChanged(SelectionChangedEvent event) {
            // refresh buttons state
            ISelection s = event.getSelection();
            int index = pluginViewer.getTable().getSelectionIndex();
            if (index >= 0) {
                // selection will be lost when a plugin is
                // uninstalled
                String pluginId = pluginViewer.getTable().getItem(index).getText();
                btnRemove.setEnabled(!s.isEmpty() && !isSystemPlugin(pluginId));

                // refreshes the properties viewer
                if (s instanceof IStructuredSelection) {
                    contentViewer.setPlugin(((IStructuredSelection) s).getFirstElement());
                }
            }
        }
    });

    pluginViewer.getTable().addListener(SWT.Resize, new Listener() {
        public void handleEvent(Event event) {
            if (updateColSizes) {
                Table tbl = pluginViewer.getTable();
                int w = tbl.getClientArea().width;
                int c1 = w / 5 * 3;
                int c2 = w - c1;
                updateColSizes = false;
                colUid.setWidth(c1);
                colName.setWidth(c2);
                updateColSizes = true;
            }
        }
    });

    pluginViewer.setContentProvider(new ArrayContentProvider() {

        /*
         * (non-Javadoc)
         * 
         * @see org.eclipse.jface.viewers.ArrayContentProvider#getElements(java.lang.Object)
         */
        @Override
        public Object[] getElements(Object inputElement) {
            Set<Bundle> namespaces = new HashSet<Bundle>();
            for (String pointId : new String[] { PlatformExtensionManager.DEVICE_CONTRIBUTOR_ID,
                    PlatformExtensionManager.LAYOUT_CONTRIBUTOR_ID,
                    PlatformExtensionManager.THEME_CONTRIBUTOR_ID }) {
                IExtensionPoint point = Platform.getExtensionRegistry().getExtensionPoint(pointId);
                for (IExtension extension : point.getExtensions()) {
                    Bundle bundle = Platform.getBundle(extension.getNamespaceIdentifier());
                    if (bundle != null) {
                        namespaces.add(bundle);
                    }
                }
            }
            return namespaces.toArray();
        }

    });
    pluginViewer.setLabelProvider(new BundleLabelProvider());
    pluginViewer.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) {
            Bundle a = (Bundle) e1;
            Bundle b = (Bundle) e2;

            if (isSystemPlugin(a.getSymbolicName())) {
                if (isSystemPlugin(b.getSymbolicName())) {
                    return a.getSymbolicName().compareTo(b.getSymbolicName());
                }
                return -1;
            }
            if (isSystemPlugin(b.getSymbolicName())) {
                return 1;
            }

            return a.getSymbolicName().compareTo(b.getSymbolicName());
        }

    });
    pluginViewer.setInput(PlatformExtensionManager.class);

    btnAdd = new Button(pluginsComposite, SWT.PUSH);
    btnAdd.setText(Messages.PluginHandlingPreferencePage_AddButtonLabel);
    calculateButtonSize(btnAdd);
    btnAdd.addSelectionListener(this);

    btnRemove = new Button(pluginsComposite, SWT.PUSH);
    btnRemove.setText(Messages.PluginHandlingPreferencePage_RemoveButtonLabel);
    calculateButtonSize(btnRemove);
    btnRemove.setEnabled(false);
    gd = new GridData(SWT.FILL, SWT.TOP, false, false);
    btnRemove.setLayoutData(gd);
    btnRemove.addSelectionListener(this);

    Composite pluginInfoComposite = new Composite(sash, SWT.NONE);
    gd = new GridData(GridData.FILL_BOTH);
    gd.minimumHeight = 48;
    pluginInfoComposite.setLayoutData(gd);
    layout = new GridLayout();
    layout.marginHeight = 0;
    layout.marginWidth = 0;
    layout.verticalSpacing = 7;
    pluginInfoComposite.setLayout(layout);

    Label lblPluginInfo = new Label(pluginInfoComposite, SWT.NONE);
    lblPluginInfo.setText(Messages.PluginHandlingPreferencePage_PluginInfoTitleLabel);
    gd = new GridData();
    gd.verticalIndent = 3;
    lblPluginInfo.setLayoutData(gd);

    contentViewer = new PluginContentViewer(pluginInfoComposite);

    sash.setWeights(new int[] { 40, 60 });

    noDefaultAndApplyButton();
    setSystemPluginsGrayed();
    return parent;
}

From source file:com.nsn.squirrel.preferences.handlers.E4PreferencesHandler.java

License:Open Source License

@Execute
public void execute(@Named(IServiceConstants.ACTIVE_SHELL) Shell shell, E4PreferenceRegistry prefReg) {

    PreferenceManager pm = prefReg.getPreferenceManager();
    PreferenceDialog dialog = new PreferenceDialog(shell, pm);
    dialog.create();// www.  j  av a2s. c o m
    dialog.getTreeViewer().setComparator(new ViewerComparator());
    dialog.getTreeViewer().expandAll();
    dialog.open();
}

From source file:com.opcoach.e4.preferences.handlers.E4PreferencesHandler.java

License:Open Source License

@Execute
public void execute(@Named(IServiceConstants.ACTIVE_SHELL) Shell shell, E4PreferenceRegistry prefReg) {
    PreferenceManager pm = prefReg.getPreferenceManager();
    PreferenceDialog dialog = new PreferenceDialog(shell, pm);
    dialog.create();//www. j ava2 s.c o m
    dialog.getTreeViewer().setComparator(new ViewerComparator());
    dialog.getTreeViewer().expandAll();
    dialog.open();
}

From source file:com.quantcomponents.ui.marketdata.NewHistoricalDataPage2.java

License:Open Source License

@Override
public void createControl(Composite parent) {
    // root container
    Composite rootContainer = new Composite(parent, SWT.NULL);
    GridLayout rootLayout = new GridLayout();
    rootLayout.verticalSpacing = 15;//from  w  w w  . ja va  2s  . c om
    rootLayout.numColumns = 1;
    rootContainer.setLayout(rootLayout);

    Composite contractTableContainer = new Composite(rootContainer, SWT.NULL);
    GridData contractTableLayoutData = new GridData(GridData.FILL_BOTH);
    contractTableContainer.setLayoutData(contractTableLayoutData);
    contractTableContainer.setLayout(new FillLayout());

    contractListViewer = new TableViewer(contractTableContainer,
            SWT.V_SCROLL | SWT.H_SCROLL | SWT.FULL_SELECTION | SWT.BORDER);

    TableViewerColumn viewColId = new TableViewerColumn(contractListViewer, SWT.NONE);
    viewColId.setLabelProvider(new ColumnLabelProvider() {
        @Override
        public String getText(Object element) {
            IContract c = (IContract) element;
            return c.getBrokerID();
        }
    });
    TableColumn columnId = viewColId.getColumn();
    columnId.setText("Broker ID");
    columnId.setWidth(100);
    columnId.setResizable(true);

    TableViewerColumn viewColDesc = new TableViewerColumn(contractListViewer, SWT.NONE);
    viewColDesc.setLabelProvider(new ColumnLabelProvider() {
        @Override
        public String getText(Object element) {
            IContract c = (IContract) element;
            return c.getContractDescription().getLongName();
        }
    });
    TableColumn columnDesc = viewColDesc.getColumn();
    columnDesc.setText("Description");
    columnDesc.setWidth(140);
    columnDesc.setResizable(true);

    TableViewerColumn viewColTicker = new TableViewerColumn(contractListViewer, SWT.NONE);
    viewColTicker.setLabelProvider(new ColumnLabelProvider() {
        @Override
        public String getText(Object element) {
            IContract c = (IContract) element;
            return c.getSymbol();
        }
    });
    TableColumn columnTicker = viewColTicker.getColumn();
    columnTicker.setText("Ticker");
    columnTicker.setWidth(50);
    columnTicker.setResizable(true);

    TableViewerColumn viewColType = new TableViewerColumn(contractListViewer, SWT.NONE);
    viewColType.setLabelProvider(new ColumnLabelProvider() {
        @Override
        public String getText(Object element) {
            IContract c = (IContract) element;
            return c.getSecurityType().name();
        }
    });
    TableColumn columnType = viewColType.getColumn();
    columnType.setText("Type");
    columnType.setWidth(40);
    columnType.setResizable(true);

    TableViewerColumn viewColCcy = new TableViewerColumn(contractListViewer, SWT.NONE);
    viewColCcy.setLabelProvider(new ColumnLabelProvider() {
        @Override
        public String getText(Object element) {
            IContract c = (IContract) element;
            return c.getCurrency().getCurrencyCode();
        }
    });
    TableColumn columnCcy = viewColCcy.getColumn();
    columnCcy.setText("Ccy");
    columnCcy.setWidth(40);
    columnCcy.setResizable(true);

    TableViewerColumn viewColExchange = new TableViewerColumn(contractListViewer, SWT.NONE);
    viewColExchange.setLabelProvider(new ColumnLabelProvider() {
        @Override
        public String getText(Object element) {
            IContract c = (IContract) element;
            return c.getExchange();
        }
    });
    TableColumn columnExchange = viewColExchange.getColumn();
    columnExchange.setText("Exchange");
    columnExchange.setWidth(100);
    columnExchange.setResizable(true);

    TableViewerColumn viewColExpiry = new TableViewerColumn(contractListViewer, SWT.NONE);
    viewColExpiry.setLabelProvider(new ColumnLabelProvider() {
        @Override
        public String getText(Object element) {
            IContract c = (IContract) element;
            BareDate expiryDate = c.getExpiryDate();
            if (expiryDate != null) {
                return sdf.format(expiryDate.getDate(TimeZone.getDefault()));
            } else {
                return "";
            }
        }
    });
    TableColumn columnExpiry = viewColExpiry.getColumn();
    columnExpiry.setText("Expiry");
    columnExpiry.setWidth(90);
    columnExpiry.setResizable(true);

    TableViewerColumn viewColStrike = new TableViewerColumn(contractListViewer, SWT.NONE);
    viewColStrike.setLabelProvider(new ColumnLabelProvider() {
        private DecimalFormat doubleFormat = new DecimalFormat("0.000");

        @Override
        public String getText(Object element) {
            IContract c = (IContract) element;
            Double strike = c.getStrike();
            if (strike != null) {
                return doubleFormat.format(strike);
            } else {
                return "";
            }
        }
    });
    TableColumn columnStrike = viewColStrike.getColumn();
    columnStrike.setText("Strike");
    columnStrike.setWidth(80);
    columnStrike.setResizable(true);

    Table table = contractListViewer.getTable();
    table.setHeaderVisible(true);
    table.setLinesVisible(true);
    table.setSortColumn(columnDesc);
    table.setSortDirection(SORT_ASCENDING);

    contractListViewer.setContentProvider(new ArrayContentProvider());
    contractListViewer.addSelectionChangedListener(new ISelectionChangedListener() {
        @Override
        public void selectionChanged(SelectionChangedEvent event) {
            selection = (IStructuredSelection) event.getSelection();
            if (selection != null) {
                Object firstElement = selection.getFirstElement();
                if (firstElement != null && firstElement instanceof IContract) {
                    selectedContract = (IContract) firstElement;
                    setPageComplete(true);
                }
            }
        }
    });
    contractListViewer.setComparator(new ViewerComparator() {
        @Override
        public int compare(Viewer viewer, Object e1, Object e2) {
            IContract c1 = (IContract) e1;
            IContract c2 = (IContract) e2;
            int cmp = c1.getContractDescription().getLongName()
                    .compareToIgnoreCase(c2.getContractDescription().getLongName());
            if (cmp != 0) {
                return cmp;
            }
            if (c1.getExpiryDate() != null && c2.getExpiryDate() != null) {
                cmp = c1.getExpiryDate().compareTo(c2.getExpiryDate());
                if (cmp != 0) {
                    return cmp;
                }
            }
            if (c1.getExchange() != null && c2.getExchange() != null) {
                cmp = c1.getExchange().compareTo(c2.getExchange());
                if (cmp != 0) {
                    return cmp;
                }
            }
            return 0;
        }
    });

    setControl(rootContainer);
}

From source file:com.roumanoff.debug.sourceprovider.VariableComposite.java

License:Apache License

public VariableComposite(Composite parent, int style) {
    super(parent, style);
    this.setLayout(new FillLayout());
    viewer = new TableViewer(this, SWT.SINGLE | SWT.FULL_SELECTION | SWT.H_SCROLL | SWT.V_SCROLL);
    viewer.setContentProvider(new ArrayContentProvider());
    viewer.setLabelProvider(new SourceLabelProvider());
    viewer.setComparator(new ViewerComparator());
    Table table = viewer.getTable();/*from w  ww  . j av a 2s .  c om*/
    table.setHeaderVisible(true);
    table.setLinesVisible(true);
    TableColumn tc = new TableColumn(table, SWT.NONE);
    tc.setText("Name");
    tc.setWidth(200);
    tc = new TableColumn(table, SWT.NONE);
    tc.setText("Value");
    tc.setWidth(300);
    tc = new TableColumn(table, SWT.NONE);
    tc.setText("Priority");
    tc.setWidth(100);
    viewer.setInput(list);
}

From source file:com.salesforce.ide.ui.packagemanifest.PackageManifestTree.java

License:Open Source License

/**
 * Overriding this method is only necessary in 3.2 -- This should be removed when we no longer support 3.2 in favor
 * of doCreateTreeViewer/*from  w  ww . j  a  v  a  2s  .  c om*/
 */
@Override
protected Control createTreeControl(Composite parent, int style) {
    treeViewer = new PackageManifestTreeViewer(parent, style);

    GridData data = new GridData(SWT.FILL, SWT.FILL, true, true);
    treeViewer.getControl().setLayoutData(data);
    treeViewer.getControl().addDisposeListener(new DisposeListener() {
        public void widgetDisposed(DisposeEvent e) {
            refreshJob.cancel();
        }
    });

    refreshJob = new WorkbenchJob("Refresh Filter") { //$NON-NLS-1$
        @Override
        public IStatus runInUIThread(IProgressMonitor monitor) {
            try {
                if (treeViewer.getControl().isDisposed()) {
                    return Status.CANCEL_STATUS;
                }

                getTreeControl().setRedraw(false);
                // collapse all
                internalCollapseAll();

                if (isFiltered()) {
                    treeViewer.refresh(true);
                    treeViewer.expandAll();
                }

                else {
                    ((PackageManifestTreeViewer) getTreeViewer()).checkedAndFiltered = false;

                    List<PackageTreeNode> list = ((PackageManifestTreeViewer) getTreeViewer()).filteredList;
                    for (PackageTreeNode node : list) {
                        node.setFiltered(false);
                    }
                    list.clear();
                }

                // filtered out non-enabled component nodes
                if (controller.getRoot() != null) {
                    Object[] enabledComponents = controller.getEnabledCompTypeTreeNodes();
                    if (logger.isDebugEnabled()) {
                        logger.debug("Found [" + enabledComponents.length //$NON-NLS-1$
                                + "] enabled components to display"); //$NON-NLS-1$
                    }

                    for (Object o : enabledComponents) {
                        ComponentTypeNode componentTypeNode = (ComponentTypeNode) o;

                        if (componentTypeNode.isFiltered()) {
                            continue;
                        }

                        refreshComponentChecks(componentTypeNode);
                    }
                }
            } finally {
                getTreeControl().setRedraw(true);
                getViewer().refresh();
            }
            validate();
            return Status.OK_STATUS;
        }
    };

    refreshJob.setSystem(true);

    treeViewer.addFilter(getPatternFilter());

    final Tree tree = treeViewer.getTree();
    tree.setHeaderVisible(true);

    treeViewer.setContentProvider(new ManifestContentProvider());
    treeViewer.setLabelProvider(new ManifestLabelProvider());
    treeViewer.setInput(doc);

    clmComponent = new TreeColumn(tree, SWT.NONE);
    clmComponent.setText(Messages.PackageManifestTree_columnName_component);
    clmComponent.setResizable(true);
    clmComponent.setWidth(400);

    clmWildcard = new TreeColumn(tree, SWT.NONE);
    clmWildcard.setText(Messages.PackageManifestTree_columnName_wildcard);
    clmWildcard.setResizable(true);
    clmWildcard.setWidth(300);

    treeViewer.setColumnProperties(new String[] { Messages.PackageManifestTree_columnName_component,
            Messages.PackageManifestTree_columnName_wildcard });

    tree.getVerticalBar().addSelectionListener(new SelectionAdapter() {
        @Override
        public void widgetSelected(SelectionEvent e) {
            if (e.detail == SWT.NONE) {
                tree.redraw();
            }
        }
    });

    getTreeViewer().addCheckStateListener(new ICheckStateListener() {
        public void checkStateChanged(CheckStateChangedEvent event) {
            PackageTreeNode node = (PackageTreeNode) event.getElement();
            handleItemSelection(node);
            ComponentTypeNode componentTypeNode = getComponentTypeNode(node);

            if (isBlackChecked(node)) {
                addComponentNode(node, true);
            }

            else {
                removeComponentNode(node);
            }

            if (componentTypeNode.getComponent().isWildCardSupported()) {
                componentTypeNode.setWildcardSelected(shouldAddWildcard(componentTypeNode));
                treeViewer.update(componentTypeNode, null);

                if (componentTypeNode.isWildcardSelected()) {
                    addWildCardNode(componentTypeNode);
                }
            }

            validate();
        }
    });

    treeViewer.setComparator(new ViewerComparator() {

        @Override
        public int category(Object element) {
            if (element instanceof ComponentTypeNode) {
                return 1;
            }
            if (element instanceof ComponentFolderNode) {
                return 2;
            }

            return 3;
        }

        @Override
        public int compare(Viewer viewer, Object e1, Object e2) {
            int cat1 = category(e1);
            int cat2 = category(e2);

            if (cat1 != cat2) {
                return cat1 - cat2;
            }

            return Collator.getInstance().compare(((PackageTreeNode) e1).getName(),
                    ((PackageTreeNode) e2).getName());
        }
    });

    return treeViewer.getControl();
}