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:gov.redhawk.sca.internal.ui.wizards.app.InstallApplicationWizardPage.java

License:Open Source License

@Override
public void createControl(final Composite parent) {
    final FormFilteredTree filtered = new FormFilteredTree(parent, SWT.H_SCROLL | SWT.V_SCROLL | SWT.BORDER,
            new PatternFilter()) {
        @Override/*from w w  w . j ava  2  s  .co m*/
        protected TreeViewer doCreateTreeViewer(final Composite parent, final int style) {
            InstallApplicationWizardPage.this.viewer = new CheckboxTreeViewer(parent, style);
            InstallApplicationWizardPage.this.viewer
                    .setContentProvider(new InstallApplicationContentProvider());
            InstallApplicationWizardPage.this.viewer.setLabelProvider(
                    new AdapterFactoryLabelProvider(new WizardSadItemProviderAdapterFactory()));
            InstallApplicationWizardPage.this.viewer.setComparator(new ViewerComparator());
            InstallApplicationWizardPage.this.viewer.addCheckStateListener(new ICheckStateListener() {
                @Override
                public void checkStateChanged(final CheckStateChangedEvent event) {
                    setPageComplete(InstallApplicationWizardPage.this.viewer.getCheckedElements().length > 0);
                }
            });

            InstallApplicationWizardPage.this.viewer.setInput(InstallApplicationWizardPage.this.domMgr);
            return InstallApplicationWizardPage.this.viewer;
        }
    };

    this.setPageComplete(false);

    this.setControl(filtered.getViewer().getControl());
}

From source file:gov.redhawk.sca.internal.ui.wizards.WaveformSelectionWizardPage.java

License:Open Source License

@Override
public void createControl(final Composite parent) {
    setupDialogSettings();//from w  ww  . j a  va  2s .co  m

    GridData gd;
    // create the top level composite for the dialog area
    final Composite composite = new Composite(parent, SWT.NONE);
    setControl(composite);

    final GridLayout layout = new GridLayout();
    layout.numColumns = 2;
    layout.makeColumnsEqualWidth = false;
    layout.marginHeight = 0;
    layout.marginWidth = 0;
    layout.verticalSpacing = 5; // SUPPRESS CHECKSTYLE MagicNumber
    layout.horizontalSpacing = 5; // SUPPRESS CHECKSTYLE MagicNumber
    composite.setLayout(layout);
    composite.setLayoutData(new GridData(GridData.FILL_BOTH));
    composite.setFont(parent.getFont());
    // Build the separator line
    final Label titleBarSeparator = new Label(composite, SWT.HORIZONTAL | SWT.SEPARATOR);
    gd = new GridData(GridData.FILL_HORIZONTAL);
    gd.horizontalSpan = 2;
    titleBarSeparator.setLayoutData(gd);

    this.waveformSelectionList = new FormFilteredTree(composite, SWT.H_SCROLL | SWT.V_SCROLL | SWT.BORDER,
            new PatternFilter());
    gd = new GridData(SWT.FILL, SWT.FILL, true, true);
    gd.horizontalSpan = 2;
    this.waveformSelectionList.setLayoutData(gd);

    this.contentProvider = new InstallApplicationContentProvider();
    this.contentProvider.addContentCompletionListener(new JobChangeAdapter() {

        @Override
        public void done(final IJobChangeEvent event) {
            String waveformId = WaveformSelectionWizardPage.this.sadSelection;
            if (waveformId == null) {
                waveformId = WaveformSelectionWizardPage.this.waveformSelectionPageSettings
                        .get(WaveformSelectionWizardPage.WAVEFORM_ID);
            }
            final String id = waveformId;
            if (!getControl().isDisposed()) {
                getControl().getDisplay().asyncExec(new Runnable() {

                    @Override
                    public void run() {
                        final IStatus loadStatus = WaveformSelectionWizardPage.this.contentProvider
                                .getLoadStatus();
                        if (loadStatus != null && !loadStatus.isOK()) {
                            int severity = 0;
                            if (loadStatus.getSeverity() == IStatus.WARNING) {
                                severity = IMessageProvider.WARNING;
                            } else if (loadStatus.getSeverity() == IStatus.ERROR) {
                                severity = IMessageProvider.ERROR;
                            }
                            ScaUiPlugin.getDefault().getLog().log(loadStatus);
                            setMessage("Problems occurred while scanning for waveforms.\nSee log for details.",
                                    severity);
                        }
                        restorePreviousWaveformSelection(id);
                    }

                });
            }
        }
    });
    this.waveformSelectionList.getViewer().setContentProvider(this.contentProvider);
    this.waveformSelectionList.getViewer()
            .setLabelProvider(new AdapterFactoryLabelProvider(new WizardSadItemProviderAdapterFactory()));
    this.waveformSelectionList.getViewer().addDoubleClickListener(new IDoubleClickListener() {

        @Override
        public void doubleClick(final DoubleClickEvent event) {
            if (getWizard().canFinish()) {
                if (getWizard().performFinish()) {
                    getWizard().getContainer().getShell().dispose();
                }
            }
        }
    });

    this.waveformSelectionList.getViewer().setComparator(new ViewerComparator() {
        private Comparator<String> viewerComparator;

        @Override
        protected Comparator<String> getComparator() {
            if (this.viewerComparator == null) {
                this.viewerComparator = new Comparator<String>() {
                    @Override
                    public int compare(final String s1, final String s2) {
                        return s1.compareToIgnoreCase(s2);
                    }
                };
            }
            return this.viewerComparator;
        }
    });

    this.waveformSelectionList.getViewer().setInput(this.domMgr);

    final Label label = new Label(composite, SWT.NONE);
    label.setText("Waveform Name:");
    gd = new GridData(SWT.LEFT, SWT.CENTER, false, false);
    label.setLayoutData(gd);
    final Text waveformNameTextBox = new Text(composite, SWT.BORDER);
    gd = new GridData(SWT.FILL, SWT.CENTER, true, false);
    waveformNameTextBox.setLayoutData(gd);

    waveformNameTextBox.addModifyListener(new ModifyListener() {

        @Override
        public void modifyText(final ModifyEvent e) {
            WaveformSelectionWizardPage.this.defaultNameChanged = true;
            WaveformSelectionWizardPage.this.waveformName = waveformNameTextBox.getText();
            updateFinished();
        }

    });

    this.startWaveform = new Button(composite, SWT.CHECK);
    this.startWaveform.setText("Start the Waveform after launching");
    this.startWaveform.setLayoutData(GridDataFactory.fillDefaults().span(2, 1).grab(false, false).create());
    restoreShouldAutoStartWaveform();

    this.startWaveform.addSelectionListener(new SelectionListener() {

        @Override
        public void widgetSelected(final SelectionEvent e) {
            WaveformSelectionWizardPage.this.autoStart = WaveformSelectionWizardPage.this.startWaveform
                    .getSelection();
        }

        @Override
        public void widgetDefaultSelected(final SelectionEvent e) {
            // PASS
        }
    });

    this.waveformSelectionList.getViewer().addSelectionChangedListener(new ISelectionChangedListener() {

        @Override
        public void selectionChanged(final SelectionChangedEvent event) {
            final Object selected = ((StructuredSelection) event.getSelection()).getFirstElement();
            if (selected instanceof SoftwareAssembly) {
                if (WaveformSelectionWizardPage.this.sad == selected) {
                    return;
                }
                WaveformSelectionWizardPage.this.sad = (SoftwareAssembly) selected;

                if (WaveformSelectionWizardPage.this.getWizard() instanceof BasicLaunchWaveformWizard) {
                    ((BasicLaunchWaveformWizard) WaveformSelectionWizardPage.this.getWizard())
                            .reinitalizePages();
                }

                if (WaveformSelectionWizardPage.this.defaultNameChanged) {
                    // PASS since user had explicitly set the Waveform name
                } else if (WaveformSelectionWizardPage.this.sad == null) {
                    waveformNameTextBox.setText("");
                    WaveformSelectionWizardPage.this.defaultNameChanged = false;
                } else {
                    final SimpleDateFormat dateFormat = new SimpleDateFormat("DDD_HHmmssSSS");
                    final String initialValue = WaveformSelectionWizardPage.this.sad.getName() + "_"
                            + dateFormat.format(new Date());
                    waveformNameTextBox.setText(initialValue);
                    WaveformSelectionWizardPage.this.defaultNameChanged = false;
                }
            }
            updateFinished();
        }

    });

    this.setPageComplete(false);
}

From source file:gov.redhawk.sca.launch.ui.tabs.WaveformMainTab.java

License:Open Source License

/**
 * {@inheritDoc}/*from  www.  j ava2 s  .c om*/
 */
@Override
public void createControl(final Composite parent) {
    // create the top level composite for the dialog area
    final Composite composite = new Composite(parent, SWT.NONE);
    setControl(composite);
    composite.setFont(parent.getFont());

    composite.setLayout(new GridLayout(2, false));

    final Label domainName = new Label(composite, SWT.None);
    domainName.setText("Domain:");

    this.domainCombo = new ComboViewer(composite, SWT.BORDER);
    this.domainCombo.setContentProvider(new ArrayContentProvider());
    this.domainCombo.setLabelProvider(new AdapterFactoryLabelProvider(new ScaItemProviderAdapterFactory()));
    this.domainCombo
            .setInput(ScaPlugin.getDefault().getDomainManagerRegistry(parent.getDisplay()).getDomains());
    this.domainCombo.getControl().setLayoutData(GridDataFactory.fillDefaults().grab(true, false).create());
    this.domainCombo.addSelectionChangedListener(new ISelectionChangedListener() {

        @Override
        public void selectionChanged(final SelectionChangedEvent event) {
            final IStructuredSelection selection = (IStructuredSelection) event.getSelection();
            final Object element = selection.getFirstElement();
            if (element instanceof ScaDomainManager) {
                final ScaDomainManager domain = (ScaDomainManager) element;
                WaveformMainTab.this.waveformSelectionList.getViewer().setInput(domain);
            } else {
                WaveformMainTab.this.waveformSelectionList.getViewer().setInput("");
            }
            WaveformMainTab.this.support.firePropertyChange(WaveformMainTab.DOMAIN, null,
                    getScaDomainManager());
            updateLaunchConfigurationDialog();
        }
    });

    this.waveformSelectionList = new FormFilteredTree(composite, SWT.H_SCROLL | SWT.V_SCROLL | SWT.BORDER,
            new PatternFilter());
    this.waveformSelectionList
            .setLayoutData(GridDataFactory.fillDefaults().grab(true, true).span(2, 1).create());
    this.contentProvider = new InstallApplicationContentProvider();
    this.contentProvider.addContentCompletionListener(new JobChangeAdapter() {

        @Override
        public void done(final IJobChangeEvent event) {
            WorkbenchJob job = new WorkbenchJob("Restore Selection") {

                @Override
                public IStatus runInUIThread(IProgressMonitor monitor) {
                    if (!getControl().isDisposed()) {
                        restorePreviousWaveformSelection();
                    }
                    return Status.OK_STATUS;
                }
            };
            job.schedule();
        }
    });
    this.waveformSelectionList.getViewer().setContentProvider(this.contentProvider);
    this.waveformSelectionList.getViewer()
            .setLabelProvider(new AdapterFactoryLabelProvider(new WizardSadItemProviderAdapterFactory()));
    this.waveformSelectionList.getViewer().setComparator(new ViewerComparator() {
        private Comparator<String> viewerComparator;

        @Override
        protected Comparator<String> getComparator() {
            if (this.viewerComparator == null) {
                this.viewerComparator = new Comparator<String>() {
                    @Override
                    public int compare(final String s1, final String s2) {
                        return s1.compareToIgnoreCase(s2);
                    }
                };
            }
            return this.viewerComparator;
        }
    });

    this.startWaveform = new Button(composite, SWT.CHECK);
    this.startWaveform.setText("Start the waveform after launching");
    this.startWaveform.setLayoutData(GridDataFactory.fillDefaults().span(2, 1).grab(false, false).create());
    this.startWaveform.addSelectionListener(new SelectionAdapter() {
        @Override
        public void widgetSelected(final SelectionEvent e) {
            updateLaunchConfigurationDialog();
        }
    });

    this.openEditorButton = new Button(composite, SWT.CHECK);
    this.openEditorButton.setText("Open editor after launch");
    this.openEditorButton.setLayoutData(GridDataFactory.fillDefaults().span(2, 1).grab(false, false).create());
    this.openEditorButton.addSelectionListener(new SelectionAdapter() {
        @Override
        public void widgetSelected(final SelectionEvent e) {
            updateLaunchConfigurationDialog();
        }
    });

    this.waveformSelectionList.getViewer().addSelectionChangedListener(new ISelectionChangedListener() {

        @Override
        public void selectionChanged(final SelectionChangedEvent event) {
            final Object selected = ((StructuredSelection) event.getSelection()).getFirstElement();
            if (selected instanceof SoftwareAssembly) {
                final SoftwareAssembly sad = (SoftwareAssembly) selected;
                WaveformMainTab.this.waveformProfile = sad.eResource().getURI().path();
            } else {
                WaveformMainTab.this.waveformProfile = "";
            }
            WaveformMainTab.this.support.firePropertyChange(WaveformMainTab.SAD, null, getSoftwareAssembly());
            updateLaunchConfigurationDialog();
        }

    });
}

From source file:gov.redhawk.ui.actions.SortAction.java

License:Open Source License

/**
 * The Constructor.//from   www . j a  va  2  s .  c  o m
 * 
 * @param viewer the viewer
 * @param tooltipText the tooltip text
 * @param sorter the sorter
 * @param defaultSorter the default sorter
 * @param listener the listener
 */
public SortAction(final StructuredViewer viewer, final String tooltipText, final ViewerComparator sorter,
        final ViewerComparator defaultSorter, final IPropertyChangeListener listener) {

    super(tooltipText, IAction.AS_CHECK_BOX);
    // Set the tooltip
    setToolTipText(tooltipText);
    // Set the image
    setImageDescriptor(ScaPluginImages.DESC_ALPHAB_SORT_CO);
    // Set the default comparator
    this.fDefaultComparator = defaultSorter;
    // Set the viewer
    this.fViewer = viewer;
    // Set the comparator
    // If one was not specified, use the default
    if (sorter == null) {
        this.fComparator = new ViewerComparator();
    } else {
        this.fComparator = sorter;
    }
    // Determine if the viewer is already sorted
    // Note: Most likely the default comparator is null
    if (viewer.getComparator() == this.fDefaultComparator) {
        this.fSorted = false;
    } else {
        this.fSorted = true;
    }
    // Set the status of this action depending on whether it is sorted or
    // not
    setChecked(this.fSorted);
    // If a listener was specified, use it
    if (listener != null) {
        addListenerObject(listener);
    }
}

From source file:gov.redhawk.ui.editor.FormOutlinePage.java

License:Open Source License

/**
 * Creates the outline sorter.
 * 
 * @return the viewer comparator
 */
public ViewerComparator createOutlineSorter() {
    return new ViewerComparator();
}

From source file:gov.redhawk.ui.parts.ContainerSelectionGroup.java

License:Open Source License

/**
 * Returns a new drill down viewer for this dialog.
 * //from www .  j ava2s . co  m
 * @param heightHint height hint for the drill down composite
 */
protected void createTreeViewer(final int heightHint) {
    // Create drill down.
    final DrillDownComposite drillDown = new DrillDownComposite(this, SWT.BORDER);
    final GridData spec = new GridData(SWT.FILL, SWT.FILL, true, true);
    spec.widthHint = ContainerSelectionGroup.SIZING_SELECTION_PANE_WIDTH;
    spec.heightHint = heightHint;
    drillDown.setLayoutData(spec);

    // Create tree viewer inside drill down.
    this.treeViewer = new TreeViewer(drillDown, SWT.NONE);
    drillDown.setChildTree(this.treeViewer);
    final ContainerContentProvider cp = new ContainerContentProvider();
    cp.showClosedProjects(this.showClosedProjects);
    this.treeViewer.setContentProvider(cp);
    this.treeViewer.setLabelProvider(WorkbenchLabelProvider.getDecoratingWorkbenchLabelProvider());
    this.treeViewer.setComparator(new ViewerComparator());
    this.treeViewer.setUseHashlookup(true);
    this.treeViewer.addSelectionChangedListener(new ISelectionChangedListener() {
        @Override
        public void selectionChanged(final SelectionChangedEvent event) {
            final IStructuredSelection selection = (IStructuredSelection) event.getSelection();
            containerSelectionChanged((IContainer) selection.getFirstElement()); // allow null
        }
    });
    this.treeViewer.addDoubleClickListener(new IDoubleClickListener() {
        @Override
        public void doubleClick(final DoubleClickEvent event) {
            final ISelection selection = event.getSelection();
            if (selection instanceof IStructuredSelection) {
                final Object item = ((IStructuredSelection) selection).getFirstElement();
                if (item == null) {
                    return;
                }
                if (ContainerSelectionGroup.this.treeViewer.getExpandedState(item)) {
                    ContainerSelectionGroup.this.treeViewer.collapseToLevel(item, 1);
                } else {
                    ContainerSelectionGroup.this.treeViewer.expandToLevel(item, 1);
                }
            }
        }
    });

    // This has to be done after the viewer has been laid out
    this.treeViewer.setInput(this.root);
}

From source file:gov.redhawk.ui.views.domainbrowser.view.DomainBrowserView.java

License:Open Source License

@Override
public void createPartControl(final Composite parent) {
    parent.setLayout(new GridLayout(3, false));

    final Label label = new Label(parent, SWT.NONE);
    label.setText("Domain:");
    label.setLayoutData(new GridData(SWT.CENTER, SWT.CENTER, false, false, 1, 1));

    this.domainCombo = new ComboViewer(parent, SWT.BORDER);
    this.domainCombo.getCombo().setToolTipText(
            "Valid input: \n <DOMAIN_NAME> ie: REDHAWK_DEV \n <DOMAIN_NAME>@<HOST:PORT> ie: REDHAWK_DEV@localhost:2809");
    this.domainCombo.getCombo().setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false, 1, 1));

    this.domainCombo.setContentProvider(ArrayContentProvider.getInstance());

    // Creating a comparator so that the objects within the ComboViewer will be sorted correctly.
    this.domainCombo.setComparator(new ViewerComparator() {
        @Override//from  w w  w . j a  v a2s.com
        public int compare(Viewer viewer, Object e1, Object e2) {
            String s1 = null, s2 = null;

            if (e1 instanceof String) {
                s1 = (String) e1;
            }

            if (e1 instanceof ScaDomainManager) {
                ScaDomainManager dom = ((ScaDomainManager) e1);
                String[] tokens = dom.getConnectionProperties().get(ScaDomainManager.NAMING_SERVICE_PROP)
                        .split("::");
                s1 = ((ScaDomainManager) e1).getName() + "@" + tokens[1];
            }

            if (e2 instanceof String) {
                s2 = (String) e2;
            }

            if (e2 instanceof ScaDomainManager) {
                ScaDomainManager dom = ((ScaDomainManager) e2);
                String[] tokens = dom.getConnectionProperties().get(ScaDomainManager.NAMING_SERVICE_PROP)
                        .split("::");
                s2 = dom.getName() + "@" + tokens[1];
            }

            if (s1 != null && s2 != null) {
                return s1.compareToIgnoreCase(s2);
            } else {
                return 0;
            }
        }
    });

    this.domainCombo.setLabelProvider(new LabelProvider() {
        @Override
        public String getText(Object element) {
            if (element instanceof String) {
                return (String) element;
            } else if (element instanceof ScaDomainManager) {
                String[] tokens;
                ScaDomainManager domain = (ScaDomainManager) element;
                tokens = domain.getConnectionProperties().get(ScaDomainManager.NAMING_SERVICE_PROP).split("::");
                if (tokens.length == 2) {
                    return domain.getName() + "@" + tokens[1]; // Is this a safe way of doing this?
                } else {
                    return domain.getName();
                }
            }
            return super.getText(element);
        }
    });

    // If there are any domains within the domain registry we want to set them onto our combo list
    this.domainCombo.setInput(ScaPlugin.getDefault()
            .getDomainManagerRegistry(domainCombo.getControl().getDisplay()).getDomains());

    // If the domain register logs any new domains or removes any we want to add / remove them from the combo
    ScaPlugin.getDefault().getDomainManagerRegistry(domainCombo.getControl().getDisplay()).eAdapters()
            .add(domainChangeAdapter);

    // Now to make it so that the text box in the combo will have an auto-complete like feel to it.
    final ComboContentAdapter controlAdapter = new ComboContentAdapter();
    final ContentProposalAdapter contentProposalAdapter = CompatibilityFactory.createContentProposalAdapter(
            this.domainCombo.getCombo(), controlAdapter, this.proposalProvider, null);

    contentProposalAdapter.setProposalAcceptanceStyle(ContentProposalAdapter.PROPOSAL_REPLACE);

    // We want to connect when there is a selection of when the user hits enter.
    this.domainCombo.addSelectionChangedListener(new ISelectionChangedListener() {
        @Override
        public void selectionChanged(SelectionChangedEvent event) {
            connect();
        }
    });

    createDomainViewer(parent);

    final MenuManager menuManager = new MenuManager();
    final Menu menu = menuManager.createContextMenu(this.domainTree.getTree());
    this.domainTree.getTree().setMenu(menu);
    getSite().registerContextMenu(DomainBrowserView.ID + ".popupMenu", menuManager, this.domainTree);
    getSite().setSelectionProvider(this.domainTree);

    final AdvancedPropertiesAction action = new AdvancedPropertiesAction("Advanced Properties",
            IAction.AS_CHECK_BOX);
    final IActionBars actionBars = getViewSite().getActionBars();
    final IMenuManager dropDownMenu = actionBars.getMenuManager();
    dropDownMenu.add(action);
}

From source file:gov.redhawk.ui.views.namebrowser.view.NameBrowserView.java

License:Open Source License

@Override
public void createPartControl(final Composite parent) {

    final GridLayout gridLayout = new GridLayout(3, false);
    parent.setLayout(gridLayout);/*from  w ww . j a  v a 2  s  . c o m*/

    final Label nameServerLabel = new Label(parent, SWT.NONE);
    nameServerLabel.setLayoutData(new GridData(GridData.BEGINNING, GridData.CENTER, false, false, 1, 1));
    nameServerLabel.setText("Name Server:");

    this.nameServerField = new Combo(parent, SWT.BORDER);
    final ComboContentAdapter controlAdapter = new ComboContentAdapter();
    final ContentProposalAdapter contentProposalAdapter = CompatibilityFactory
            .createContentProposalAdapter(this.nameServerField, controlAdapter, this.proposalProvider, null);
    contentProposalAdapter.setProposalAcceptanceStyle(ContentProposalAdapter.PROPOSAL_REPLACE);
    this.nameServerField.setToolTipText("The CORBA URI of the NameServer");
    this.nameServerField.setLayoutData(new GridData(GridData.FILL, GridData.CENTER, true, false, 1, 1));
    this.nameServerField.setText("");
    // disable connect button when name server text empty
    nameServerField.addModifyListener(new ModifyListener() {
        @Override
        public void modifyText(ModifyEvent e) {
            final String newRef = NameBrowserView.this.nameServerField.getText().trim();
            connectButton.setEnabled(!newRef.isEmpty());
        }
    });
    // this listener doesn't seem to do anything.
    this.nameServerField.addSelectionListener(new SelectionAdapter() {
        @Override
        public void widgetDefaultSelected(final SelectionEvent e) {
            final String newRef = NameBrowserView.this.nameServerField.getText().trim();
            if ("".equals(newRef)) {
                return;
            }
            addConnection(newRef);
        }
    });

    connectButton = new Button(parent, SWT.PUSH);
    connectButton.setImage(NameBrowserPlugin.getDefault().getImageRegistry().get(NameBrowserPlugin.CONNECT));
    connectButton.setToolTipText("Connect to the specified host");
    connectButton.setLayoutData(new GridData(GridData.BEGINNING, GridData.CENTER, false, false, 1, 1));
    connectButton.addSelectionListener(new SelectionAdapter() {
        @Override
        public void widgetSelected(final SelectionEvent e) {
            final String newRef = NameBrowserView.this.nameServerField.getText().trim();
            addConnection(newRef);
        }
    });

    this.treeViewer = new TreeViewer(parent, SWT.BORDER | SWT.MULTI | SWT.V_SCROLL | SWT.VIRTUAL);
    this.treeViewer.getControl().setLayoutData(new GridData(GridData.FILL, GridData.FILL, true, true, 3, 1)); // SUPPRESS CHECKSTYLE MagicNumber

    getSite().setSelectionProvider(this.treeViewer);
    this.contentProvider = new BindingContentProvider();
    this.treeViewer.setContentProvider(this.contentProvider);
    ILabelDecorator decorator = PlatformUI.getWorkbench().getDecoratorManager().getLabelDecorator();
    this.treeViewer.setLabelProvider(new DecoratingLabelProvider(new WorkbenchLabelProvider(), decorator));
    this.treeViewer.setComparator(new ViewerComparator() {
        @Override
        public int compare(final Viewer viewer, final Object e1, final Object e2) {
            if (e1 instanceof BindingNode && e2 instanceof BindingNode) {
                final BindingNode b1 = (BindingNode) e1;
                final BindingNode b2 = (BindingNode) e2;
                if (b1.getType() != b2.getType()) {
                    switch (b1.getType()) {
                    case CONTEXT:
                        return -1;
                    case OBJECT:
                        switch (b2.getType()) {
                        case CONTEXT:
                            return 1;
                        default:
                            break;
                        }
                        break;
                    case ROOT:
                        return -1;
                    default:
                        break;
                    }
                }
            }
            return super.compare(viewer, e1, e2);
        }
    });
    this.treeViewer.setInput(this.connectedHosts);

    // Setup right click menu
    final MenuManager manager = new MenuManager();
    final Menu menu = manager.createContextMenu(this.treeViewer.getTree());
    this.treeViewer.getTree().setMenu(menu);
    getSite().registerContextMenu(NameBrowserView.ID, manager, this.treeViewer);

    for (final String nameServer : this.nameServerHistory) {
        this.nameServerField.add(nameServer);
    }

    NameBrowserPlugin.getDefault().setSessionDisplay(getSite().getShell().getDisplay());
}

From source file:io.mapzone.controller.ui.admin.AdminUsersDashlet.java

License:Open Source License

@Override
public void createContents(Composite parent) {
    parent.setLayout(FormLayoutFactory.defaults().create());

    MdToolkit tk = (MdToolkit) site().toolkit();
    viewer = tk.createListViewer(parent, SWT.FULL_SELECTION, SWT.SINGLE, SWT.V_SCROLL);
    viewer.linesVisible.set(true);//w w w  . j  av  a 2s  .  c  o m
    viewer.setContentProvider(new ListTreeContentProvider());
    viewer.iconProvider.set(new CellLabelProvider() {
        @Override
        public void update(ViewerCell cell) {
            cell.setImage(ControllerPlugin.images().svgImage("account.svg", SvgImageRegistryHelper.NORMAL24));
        }
    });
    viewer.firstLineLabelProvider.set(new CellLabelProvider() {
        @Override
        public void update(ViewerCell cell) {
            User user = (User) cell.getElement();
            cell.setText(user.name.get() + " - " + user.fullname.get());
        }
    });
    viewer.setComparator(new ViewerComparator() {
        @Override
        public int compare(Viewer _viewer, Object e1, Object e2) {
            return ((User) e1).name.get().compareToIgnoreCase(((User) e2).name.get());
        }
    });

    ProjectUnitOfWork puow = ProjectRepository.session();
    ResultSet<User> rs = puow.query(User.class).execute();
    viewer.setInput(rs);

    //        viewer.addOpenListener( ev -> {
    //            SelectionAdapter.on( ev.getSelection() ).first( User.class ).get();
    //            selected.set( (ILayer)elm );
    //                BatikApplication.instance().getContext().openPanel( site().panelSite().getPath(), UserInfoPanel.ID );
    //        });

    FormDataFactory.on(viewer.getControl()).fill().noBottom().height(300);
}

From source file:io.mapzone.controller.ui.project.ProjectsDashlet.java

License:Open Source License

protected void createListContents() {
    viewer = tk.createListViewer(parent, SWT.FULL_SELECTION);
    viewer.setContentProvider(new ListTreeContentProvider());

    viewer.firstLineLabelProvider.set(new ProjectLabelProvider(Type.Name));
    viewer.secondLineLabelProvider.set(new ProjectLabelProvider(Type.Description));
    viewer.iconProvider.set(new CellLabelProvider() {
        @Override//w  w w .  j a  v a2  s .  c  om
        public void update(ViewerCell cell) {
            cell.setImage(ControllerPlugin.images().svgImage("map.svg", NORMAL24));
        }
    });
    //        viewer.firstSecondaryActionProvider.set( new ActionProvider() {
    //            @Override public void update( ViewerCell cell ) {
    //                cell.setImage( BatikPlugin.images().svgImage( "chevron-right.svg", SvgImageRegistryHelper.DISABLED24 ) );
    //            }
    //            @Override public void perform( MdListViewer _viewer, Object elm ) {
    //                selected.set( (Project)elm );
    //                BatikApplication.instance().getContext().openPanel( getSite().panelSite().getPath(), ProjectInfoPanel.ID );                        
    //            }
    //        });
    viewer.setComparator(new ViewerComparator() {
        @Override
        public int compare(Viewer _viewer, Object elm1, Object elm2) {
            Date modified1 = ((Project) elm1).modified.get();
            Date modified2 = ((Project) elm2).modified.get();
            return modified2.compareTo(modified1);
        }
    });

    viewer.addOpenListener(new IOpenListener() {
        @Override
        public void open(OpenEvent ev) {
            SelectionAdapter.on(ev.getSelection()).forEach(elm -> {
                selected.set((Project) elm);
                openedPanel = (ProjectInfoPanel) BatikApplication.instance().getContext()
                        .openPanel(getSite().panelSite().getPath(), ProjectInfoPanel.ID).orElse(null);
            });
        }
    });
    viewer.setInput(user.get().projects());

    //viewer.getControl().setLayoutData( FormDataFactory.filled()/*.height( dp(72)*2  )*/.create() );
}