Example usage for org.eclipse.jface.viewers ComboViewer getControl

List of usage examples for org.eclipse.jface.viewers ComboViewer getControl

Introduction

In this page you can find the example usage for org.eclipse.jface.viewers ComboViewer getControl.

Prototype

@Override
    public Control getControl() 

Source Link

Usage

From source file:org.eclipse.jst.jsf.ui.internal.tagregistry.TagRegistryMasterForm.java

License:Open Source License

/**
 *///from   w w  w. ja  va2  s .c o  m
@Override
protected void contributeToHeadArea(final FormToolkit toolkit, final Composite container) {
    final Label label = new Label(container, SWT.NONE);
    label.setText(Messages.TagRegistryMasterForm_Project);
    final ComboViewer combo = new ComboViewer(container, SWT.FLAT | SWT.READ_ONLY);
    getToolkit().adapt(combo.getControl(), true, false);
    combo.addSelectionChangedListener(new ISelectionChangedListener() {
        public void selectionChanged(SelectionChangedEvent event) {
            IStructuredSelection selection = (IStructuredSelection) event.getSelection();

            final IProject selectedProject = (IProject) selection.getFirstElement();
            _registryTreeViewer.setInput(selectedProject);
        }
    });
    combo.setLabelProvider(new CommonLabelProvider());
    combo.setContentProvider(new ProjectContentProvider());
    combo.setComparator(new WorkbenchViewerComparator());
    combo.setInput(_projectTracker);
    _projectTracker.addListener(new ProjectTrackingListener() {
        @Override
        protected void projectsChanged(IProject project, Reason reason) {
            combo.getControl().getDisplay().asyncExec(new Runnable() {
                public void run() {
                    combo.refresh();
                }
            });
        }
    });
}

From source file:org.eclipse.jubula.client.ui.wizards.pages.DatabaseConnectionWizardPage.java

License:Open Source License

/**
 * // w w  w. ja va 2  s .  c  o m
 * {@inheritDoc}
 */
public void createControl(Composite parent) {
    setTitle(I18n.getString("DatabaseConnectionWizardPage.title")); //$NON-NLS-1$
    setDescription(I18n.getString("DatabaseConnectionWizardPage.description")); //$NON-NLS-1$
    final DataBindingContext dbc = new DataBindingContext();
    WizardPageSupport.create(this, dbc);
    GridDataFactory textGridDataFactory = GridDataFactory.fillDefaults().grab(true, false);
    Composite composite = new Composite(parent, SWT.NONE);
    composite.setLayout(GridLayoutFactory.fillDefaults().numColumns(2).create());
    setControl(composite);

    UIComponentHelper.createLabel(composite, I18n.getString("DatabaseConnection.Name"), SWT.NONE); //$NON-NLS-1$
    Text nameText = new Text(composite, SWT.BORDER);
    DialogUtils.setWidgetName(nameText, "DatabaseConnection.Name"); //$NON-NLS-1$
    nameText.setLayoutData(textGridDataFactory.create());
    dbc.bindValue(SWTObservables.observeText(nameText, SWT.Modify),
            BeansObservables.observeValue(m_connectionToEdit, DatabaseConnection.PROP_NAME_NAME),
            new UpdateValueStrategy().setAfterGetValidator(new IValidator() {
                public IStatus validate(Object value) {
                    if (StringUtils.isEmpty((String) value)) {
                        return ValidationStatus
                                .error(I18n.getString("DatabaseConnectionWizardPage.Error.emptyName")); //$NON-NLS-1$
                    }
                    return ValidationStatus.ok();
                }
            }), new UpdateValueStrategy());
    nameText.setFocus();
    nameText.selectAll();

    UIComponentHelper.createLabel(composite, I18n.getString("DatabaseConnection.Type"), SWT.NONE); //$NON-NLS-1$
    ComboViewer typeComboViewer = new ComboViewer(composite);
    DialogUtils.setWidgetName(typeComboViewer.getControl(), "DatabaseConnection.Type"); //$NON-NLS-1$
    typeComboViewer.setContentProvider(new ArrayContentProvider());
    typeComboViewer.setLabelProvider(new LabelProvider() {
        @Override
        public String getText(Object element) {
            return ((IDetailAreaBuilder) element).getTypeName();
        }
    });
    typeComboViewer.setInput(m_detailAreaBuilders);
    typeComboViewer.getControl().setLayoutData(textGridDataFactory.create());

    final Composite detailArea = createDetailArea(composite, nameText.computeSize(SWT.DEFAULT, SWT.DEFAULT).y);
    DialogUtils.setWidgetName(detailArea, "DatabaseConnection.DetailArea"); //$NON-NLS-1$

    IObservableValue connectionInfoObservable = BeansObservables.observeValue(m_connectionToEdit,
            DatabaseConnection.PROP_NAME_CONN_INFO);

    bindComboViewer(dbc, typeComboViewer, detailArea, connectionInfoObservable);

    Text url = new Text(composite, SWT.BORDER);
    DialogUtils.setWidgetName(url, "DatabaseConnection.URL"); //$NON-NLS-1$
    url.setEditable(false);
    url.setBackground(composite.getBackground());
    url.setLayoutData(GridDataFactory.fillDefaults().grab(true, false).span(2, 1).create());
    dbc.bindValue(SWTObservables.observeText(url), BeansObservables.observeDetailValue(connectionInfoObservable,
            DatabaseConnectionInfo.PROP_NAME_CONN_URL, null));

    PlatformUI.getWorkbench().getHelpSystem().setHelp(composite,
            ContextHelpIds.DATABASE_CONNECTION_CONFIGURATION_DIALOG);
}

From source file:org.eclipse.languageserver.ui.NewContentTypeLSPLaunchDialog.java

License:Open Source License

@Override
protected Control createDialogArea(Composite parent) {
    Composite res = (Composite) super.createDialogArea(parent);
    res.setLayout(new GridLayout(2, false));
    new Label(res, SWT.NONE).setText(Messages.NewContentTypeLSPLaunchDialog_associateContentType);
    new Label(res, SWT.NONE).setText(Messages.NewContentTypeLSPLaunchDialog_withLSPLaunch);
    // copied from ContentTypesPreferencePage
    FilteredTree contentTypesFilteredTree = new FilteredTree(res, SWT.BORDER, new PatternFilter(), true);
    TreeViewer contentTypesViewer = contentTypesFilteredTree.getViewer();
    contentTypesFilteredTree.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));
    contentTypesViewer.setContentProvider(new ContentTypesContentProvider());
    contentTypesViewer.setLabelProvider(new ContentTypesLabelProvider());
    contentTypesViewer.setComparator(new ViewerComparator());
    contentTypesViewer.setInput(Platform.getContentTypeManager());
    contentTypesViewer.addSelectionChangedListener(new ISelectionChangedListener() {
        @Override/*  w  ww.  jav a 2  s .c o  m*/
        public void selectionChanged(SelectionChangedEvent event) {
            IContentType newContentType = null;
            if (event.getSelection() instanceof IStructuredSelection) {
                IStructuredSelection sel = (IStructuredSelection) event.getSelection();
                if (sel.size() == 1 && sel.getFirstElement() instanceof IContentType) {
                    newContentType = (IContentType) sel.getFirstElement();
                }
            }
            contentType = newContentType;
            updateButtons();
        }
    });
    // copied from LaunchConfigurationDialog : todo use LaunchConfigurationFilteredTree
    FilteredTree launchersFilteredTree = new FilteredTree(res, SWT.BORDER, new PatternFilter(), true);
    TreeViewer launchConfigViewer = launchersFilteredTree.getViewer();
    launchersFilteredTree.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));
    launchConfigViewer.setLabelProvider(new DecoratingLabelProvider(DebugUITools.newDebugModelPresentation(),
            PlatformUI.getWorkbench().getDecoratorManager().getLabelDecorator()));
    launchConfigViewer.setContentProvider(new LaunchConfigurationTreeContentProvider(null, getShell()));
    launchConfigViewer.setInput(DebugPlugin.getDefault().getLaunchManager());
    ComboViewer launchModeViewer = new ComboViewer(res);
    GridData comboGridData = new GridData(SWT.RIGHT, SWT.DEFAULT, true, false, 2, 1);
    comboGridData.widthHint = 100;
    launchModeViewer.getControl().setLayoutData(comboGridData);
    launchModeViewer.setContentProvider(new ArrayContentProvider());
    launchModeViewer.setLabelProvider(new LabelProvider() {
        @Override
        public String getText(Object o) {
            StringBuilder res = new StringBuilder();
            for (String s : (Set<String>) o) {
                res.append(s);
                res.append(',');
            }
            if (res.length() > 0) {
                res.deleteCharAt(res.length() - 1);
            }
            return res.toString();
        }
    });
    launchConfigViewer.addSelectionChangedListener(new ISelectionChangedListener() {
        @Override
        public void selectionChanged(SelectionChangedEvent event) {
            ILaunchConfiguration newLaunchConfig = null;
            if (event.getSelection() instanceof IStructuredSelection) {
                IStructuredSelection sel = (IStructuredSelection) event.getSelection();
                if (sel.size() == 1 && sel.getFirstElement() instanceof ILaunchConfiguration) {
                    newLaunchConfig = (ILaunchConfiguration) sel.getFirstElement();
                }
            }
            launchConfig = newLaunchConfig;
            updateLaunchModes(launchModeViewer);
            updateButtons();
        }
    });
    launchModeViewer.addSelectionChangedListener(event -> {
        ISelection sel = event.getSelection();
        if (sel.isEmpty()) {
            launchMode = null;
        } else if (sel instanceof IStructuredSelection) {
            launchMode = (Set<String>) ((IStructuredSelection) sel).getFirstElement();
        }
        updateButtons();
    });
    return res;
}

From source file:org.eclipse.n4js.ui.wizard.project.N4JSNewProjectWizardCreationPage.java

License:Open Source License

@Override
public void createControl(final Composite parent) {
    super.createControl(parent); // We need to create the UI controls from the parent class.

    final Composite control = (Composite) getControl();
    control.setLayout(GridLayoutFactory.fillDefaults().create());
    control.setLayoutData(fillDefaults().align(FILL, FILL).grab(true, true).create());

    final DataBindingContext dbc = new DataBindingContext();
    control.addDisposeListener(e -> dbc.dispose());

    createVendorIdControls(dbc, control);

    ComboViewer projectTypeCombo = new ComboViewer(control, READ_ONLY);
    projectTypeCombo.setLabelProvider(new ProjectTypeLabelProvider());
    projectTypeCombo.setContentProvider(ArrayContentProvider.getInstance());
    projectTypeCombo.getControl().setLayoutData(fillDefaults().grab(true, false).create());
    projectTypeCombo.setInput(ProjectType.values());

    Composite projectTypePropertyControls = new Composite(control, NONE);
    StackLayout changingStackLayout = new StackLayout();
    projectTypePropertyControls.setLayout(changingStackLayout);
    projectTypePropertyControls.setLayoutData(fillDefaults().align(FILL, FILL).grab(true, true).create());

    Composite defaultOptions = initDefaultOptionsUI(dbc, projectTypePropertyControls);
    Composite libraryProjectOptionsGroup = initLibraryOptionsUI(dbc, projectTypePropertyControls);
    Composite testProjectOptionsGroup = initTestProjectUI(dbc, projectTypePropertyControls);

    initProjectTypeBinding(dbc, projectTypeCombo);

    // Configure stack layout to show advanced options
    projectTypeCombo.addPostSelectionChangedListener(e -> {
        switch (projectInfo.getProjectType()) {
        case LIBRARY:
            changingStackLayout.topControl = libraryProjectOptionsGroup;
            break;
        case TEST:
            changingStackLayout.topControl = testProjectOptionsGroup;
            break;
        default://from  w ww  .ja v a2 s .  com
            changingStackLayout.topControl = defaultOptions;
        }
        projectTypePropertyControls.layout(true);
        setPageComplete(validatePage());
    });

    // IDs from: org.eclipse.jdt.internal.ui.workingsets.IWorkingSetIDs.class
    createWorkingSetGroup((Composite) getControl(), null,
            new String[] { "org.eclipse.ui.resourceWorkingSetPage", "org.eclipse.jdt.ui.JavaWorkingSetPage",
                    "org.eclipse.jdt.internal.ui.OthersWorkingSet" }); // $NON-NLS-1$
    Dialog.applyDialogFont(getControl());

    dbc.updateTargets();

    setControl(control);
}

From source file:org.eclipse.pde.emfforms.editor.PDEFormToolkit.java

License:Open Source License

public static ComboViewer createLabelAndComboViewer(String label, Composite composite,
        int labelHorizontalWidthHint) {
    GridLayoutFactory.fillDefaults().numColumns(2).applyTo(composite);

    Label labelName = new Label(composite, SWT.NONE);
    labelName.setText(label);/*w w  w . j a v  a 2  s.c  om*/
    GridDataFactory.fillDefaults().align(SWT.FILL, SWT.CENTER).hint(labelHorizontalWidthHint, SWT.DEFAULT)
            .applyTo(labelName);
    labelName.setAlignment(SWT.LEFT);

    ComboViewer comboViewer = new ComboViewer(composite, SWT.READ_ONLY);
    comboViewer.setContentProvider(new ArrayContentProvider());
    comboViewer.setLabelProvider(new LabelProvider());
    // sort the viewer using labels
    comboViewer.setSorter(new ViewerSorter());
    GridDataFactory.fillDefaults().grab(true, false).applyTo(comboViewer.getControl());
    return comboViewer;
}

From source file:org.eclipse.pde.emfforms.editor.PDEFormToolkit.java

License:Open Source License

/**
 * @param label/* ww w.  j a  v a  2s.c o m*/
 * @param composite
 * @param comboStyle
 * @return
 */
public static ComboViewer createLabelAndNonReadOnlyComboViewer(String label, Composite composite) {
    GridLayoutFactory.fillDefaults().numColumns(2).applyTo(composite);

    Label labelName = new Label(composite, SWT.NONE);
    labelName.setText(label);
    GridDataFactory.fillDefaults().align(SWT.FILL, SWT.CENTER).applyTo(labelName);
    labelName.setAlignment(SWT.LEFT);
    ComboViewer comboViewer;
    comboViewer = new ComboViewer(composite, SWT.BORDER);
    comboViewer.setContentProvider(new ArrayContentProvider());
    comboViewer.setLabelProvider(new LabelProvider());
    // sort the viewer using labels
    comboViewer.setSorter(new ViewerSorter());
    GridDataFactory.fillDefaults().grab(true, false).applyTo(comboViewer.getControl());
    return comboViewer;
}

From source file:org.eclipse.ui.internal.editors.text.SpellingConfigurationBlock.java

License:Open Source License

private ComboViewer createProviderViewer() {
    /* list viewer */
    final ComboViewer viewer = new ComboViewer(fProviderCombo);
    viewer.setContentProvider(new IStructuredContentProvider() {

        /*//from w  ww .  jav a  2s.  com
         * @see org.eclipse.jface.viewers.IContentProvider#dispose()
         */
        public void dispose() {
        }

        /*
         * @see org.eclipse.jface.viewers.IContentProvider#inputChanged(org.eclipse.jface.viewers.Viewer, java.lang.Object, java.lang.Object)
         */
        public void inputChanged(Viewer v, Object oldInput, Object newInput) {
        }

        /*
         * @see org.eclipse.jface.viewers.IStructuredContentProvider#getElements(java.lang.Object)
         */
        public Object[] getElements(Object inputElement) {
            return fProviderDescriptors.values().toArray();
        }
    });
    viewer.setLabelProvider(new LabelProvider() {
        /*
         * @see org.eclipse.jface.viewers.LabelProvider#getImage(java.lang.Object)
         */
        public Image getImage(Object element) {
            return null;
        }

        /*
         * @see org.eclipse.jface.viewers.LabelProvider#getText(java.lang.Object)
         */
        public String getText(Object element) {
            return ((SpellingEngineDescriptor) element).getLabel();
        }
    });
    viewer.addSelectionChangedListener(new ISelectionChangedListener() {

        public void selectionChanged(SelectionChangedEvent event) {
            IStructuredSelection sel = (IStructuredSelection) event.getSelection();
            if (sel.isEmpty())
                return;
            if (fCurrentBlock != null && fStatusMonitor.getStatus() != null
                    && fStatusMonitor.getStatus().matches(IStatus.ERROR))
                if (isPerformRevert()) {
                    ISafeRunnable runnable = new ISafeRunnable() {
                        public void run() throws Exception {
                            fCurrentBlock.performRevert();
                        }

                        public void handleException(Throwable x) {
                        }
                    };
                    SafeRunner.run(runnable);
                } else {
                    revertSelection();
                    return;
                }
            fStore.setValue(SpellingService.PREFERENCE_SPELLING_ENGINE,
                    ((SpellingEngineDescriptor) sel.getFirstElement()).getId());
            updateListDependencies();
        }

        private boolean isPerformRevert() {
            Shell shell = viewer.getControl().getShell();
            MessageDialog dialog = new MessageDialog(shell,
                    TextEditorMessages.SpellingConfigurationBlock_error_title, null,
                    TextEditorMessages.SpellingConfigurationBlock_error_message, MessageDialog.QUESTION,
                    new String[] { IDialogConstants.YES_LABEL, IDialogConstants.NO_LABEL }, 1);
            return dialog.open() == 0;
        }

        private void revertSelection() {
            try {
                viewer.removeSelectionChangedListener(this);
                SpellingEngineDescriptor desc = EditorsUI.getSpellingService()
                        .getActiveSpellingEngineDescriptor(fStore);
                if (desc != null)
                    viewer.setSelection(new StructuredSelection(desc), true);
            } finally {
                viewer.addSelectionChangedListener(this);
            }
        }
    });
    viewer.setInput(fProviderDescriptors);
    viewer.refresh();

    return viewer;
}

From source file:org.eclipse.viatra.query.tooling.ui.queryexplorer.AbstractBackendSelectionControl.java

License:Open Source License

@Override
protected Control createControl(Composite parent) {
    final ComboViewer viewer = new ComboViewer(parent, SWT.BORDER | SWT.READ_ONLY);
    viewer.setContentProvider(new ArrayContentProvider());
    viewer.setLabelProvider(new LabelProvider() {
        @Override//from   w  w w  .  j a v  a 2s.c  om
        public String getText(Object element) {
            if (element instanceof IQueryBackendFactory) {
                return DisplayUtil.getQueryBackendName((IQueryBackendFactory) element);
            }
            return super.getText(element);
        }
    });
    viewer.setInput(Iterables.toArray(getRegisteredQueryBackendImplementations(), IQueryBackendFactory.class));
    IQueryBackendFactory queryBackendFactory = getHints().getQueryBackendFactory();
    viewer.setSelection(queryBackendFactory != null ? new StructuredSelection(queryBackendFactory)
            : new StructuredSelection());

    viewer.addSelectionChangedListener(new ISelectionChangedListener() {

        @Override
        public void selectionChanged(SelectionChangedEvent event) {
            final ISelection select = event.getSelection();
            if (select instanceof IStructuredSelection) {
                IStructuredSelection selection = (IStructuredSelection) select;
                Object o = selection.getFirstElement();
                if (o instanceof IQueryBackendFactory) {
                    applyBackendSelection((IQueryBackendFactory) o);
                }
            }
        }
    });
    viewer.getControl().setToolTipText("Select query backend engine to be used on subsequent loads.");

    return viewer.getControl();
}

From source file:org.eclipse.viatra.query.tooling.ui.queryexplorer.BackendSelectionControl.java

License:Open Source License

@Override
protected Control createControl(Composite parent) {
    final ComboViewer viewer = new ComboViewer(parent, SWT.BORDER | SWT.READ_ONLY);
    viewer.setContentProvider(new ArrayContentProvider());
    viewer.setLabelProvider(new LabelProvider() {
        @Override/*from   w  w w.  ja  va 2s. c  o m*/
        public String getText(Object element) {
            if (element instanceof IQueryBackendFactory) {
                return DisplayUtil.getQueryBackendName((IQueryBackendFactory) element);
            }
            return super.getText(element);
        }
    });
    viewer.setInput(Iterables.toArray(getRegisteredQueryBackendImplementations(), IQueryBackendFactory.class));
    IQueryBackendFactory queryBackendFactory = getQueryExplorer().getHints().getQueryBackendFactory();
    viewer.setSelection(queryBackendFactory != null ? new StructuredSelection(queryBackendFactory)
            : new StructuredSelection());

    viewer.addSelectionChangedListener(new ISelectionChangedListener() {

        @Override
        public void selectionChanged(SelectionChangedEvent event) {
            final ISelection select = event.getSelection();
            if (select instanceof IStructuredSelection) {
                IStructuredSelection selection = (IStructuredSelection) select;
                Object o = selection.getFirstElement();
                if (o instanceof IQueryBackendFactory) {
                    applyBackendSelection((IQueryBackendFactory) o);
                }
            }
        }
    });
    viewer.getControl().setToolTipText("Select query backend engine to be used on subsequent loads.");

    return viewer.getControl();
}

From source file:org.eclipse.viatra.query.tooling.ui.queryresult.BackendSelectionControl.java

License:Open Source License

@Override
protected Control createControl(Composite parent) {
    final ComboViewer viewer = new ComboViewer(parent, SWT.BORDER | SWT.READ_ONLY);
    viewer.setContentProvider(new ArrayContentProvider());
    viewer.setLabelProvider(new LabelProvider() {
        @Override/*from w w  w . j  a  v a  2s .  c  o m*/
        public String getText(Object element) {
            if (element instanceof IQueryBackendFactory) {
                return QueryBackendRegistry.getInstance().getQueryBackendName((IQueryBackendFactory) element);
            }
            return super.getText(element);
        }
    });
    viewer.setInput(Iterables.toArray(getRegisteredQueryBackendImplementations(), IQueryBackendFactory.class));
    IQueryBackendFactory queryBackendFactory = getHints().getQueryBackendFactory();
    viewer.setSelection(queryBackendFactory != null ? new StructuredSelection(queryBackendFactory)
            : new StructuredSelection());

    viewer.addSelectionChangedListener(event -> {
        final ISelection select = event.getSelection();
        if (select instanceof IStructuredSelection) {
            IStructuredSelection selection = (IStructuredSelection) select;
            Object o = selection.getFirstElement();
            if (o instanceof IQueryBackendFactory) {
                applyBackendSelection((IQueryBackendFactory) o);
            }
        }
    });
    viewer.getControl().setToolTipText("Select query backend engine to be used on subsequent loads.");

    return viewer.getControl();
}