Example usage for org.eclipse.jface.viewers CheckboxTableViewer newCheckList

List of usage examples for org.eclipse.jface.viewers CheckboxTableViewer newCheckList

Introduction

In this page you can find the example usage for org.eclipse.jface.viewers CheckboxTableViewer newCheckList.

Prototype

public static CheckboxTableViewer newCheckList(Composite parent, int style) 

Source Link

Document

Creates a table viewer on a newly-created table control under the given parent.

Usage

From source file:org.eclipse.lsp4e.ui.LanguageServerPreferencePage.java

License:Open Source License

private void createStaticServersTable(Composite res) {
    Link staticServersIntro = new Link(res, SWT.WRAP);
    GridDataFactory.swtDefaults().align(SWT.FILL, SWT.TOP).grab(true, false).span(2, 1).hint(400, SWT.DEFAULT)
            .applyTo(staticServersIntro);
    staticServersIntro.setText(Messages.PreferencesPage_staticServers);
    staticServersIntro.addSelectionListener(this.contentTypeLinkListener);
    checkboxViewer = CheckboxTableViewer.newCheckList(res, SWT.NONE);
    checkboxViewer.getControl().setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));
    checkboxViewer.setContentProvider(new ArrayContentProvider());

    TableViewerColumn enablementColumn = new TableViewerColumn(checkboxViewer, SWT.NONE);
    enablementColumn.getColumn().setText(Messages.PreferencesPage_Enabled);
    enablementColumn.getColumn().setWidth(70);
    enablementColumn.setLabelProvider(new ColumnLabelProvider() {
        @Override//from w  w  w  .j ava2 s  . c  o  m
        public String getText(Object element) {
            return null;
        }
    });

    TableViewerColumn contentTypeColumn = new TableViewerColumn(checkboxViewer, SWT.NONE);
    contentTypeColumn.getColumn().setText(Messages.PreferencesPage_contentType);
    contentTypeColumn.getColumn().setWidth(200);
    contentTypeColumn.setLabelProvider(new ColumnLabelProvider() {
        @Override
        public String getText(Object element) {
            return ((ContentTypeToLanguageServerDefinition) element).getKey().getName();
        }
    });

    TableViewerColumn launchConfigColumn = new TableViewerColumn(checkboxViewer, SWT.NONE);
    launchConfigColumn.getColumn().setText(Messages.PreferencesPage_languageServer);
    launchConfigColumn.getColumn().setWidth(300);
    launchConfigColumn.setLabelProvider(new ColumnLabelProvider() {
        @Override
        public String getText(Object element) {
            return ((ContentTypeToLanguageServerDefinition) element).getValue().label;
        }
    });

    List<ContentTypeToLanguageServerDefinition> contentTypeToLanguageServerDefinitions = registry
            .getContentTypeToLSPExtensions();
    if (contentTypeToLanguageServerDefinitions.stream()
            .anyMatch(definition -> definition.getEnablementCondition() != null)) {

        TableViewerColumn conditionColumn = new TableViewerColumn(checkboxViewer, SWT.NONE);
        conditionColumn.getColumn().setText(Messages.PreferencesPage_enablementCondition);
        conditionColumn.getColumn().setWidth(150);
        conditionColumn.setLabelProvider(new ColumnLabelProvider() {
            @Override
            public String getText(Object element) {
                EnablementTester tester = ((ContentTypeToLanguageServerDefinition) element)
                        .getEnablementCondition();

                if (tester == null) {
                    // table does not support mnemonic
                    return Action.removeMnemonics(IDialogConstants.NO_LABEL);

                }
                String extensionStatus = ((ContentTypeToLanguageServerDefinition) element).isExtensionEnabled()
                        ? Messages.PreferencePage_enablementCondition_true
                        : Messages.PreferencePage_enablementCondition_false;
                return tester.getDescription() + " (" + extensionStatus + ")"; //$NON-NLS-1$ //$NON-NLS-2$
            }

            @Override
            public Color getBackground(Object element) {
                EnablementTester tester = ((ContentTypeToLanguageServerDefinition) element)
                        .getEnablementCondition();
                if (tester == null) {
                    return null;
                }
                Color red = Display.getDefault().getSystemColor(SWT.COLOR_RED);
                Color green = Display.getDefault().getSystemColor(SWT.COLOR_GREEN);
                return ((ContentTypeToLanguageServerDefinition) element).isExtensionEnabled() ? green : red;
            }
        });
    }

    checkboxViewer.setInput(contentTypeToLanguageServerDefinitions);
    checkboxViewer.getControl().setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true, 2, 1));
    checkboxViewer.getTable().setHeaderVisible(true);
    checkboxViewer.getTable().setLinesVisible(true);

    this.checkboxViewer.setCheckedElements(contentTypeToLanguageServerDefinitions.stream()
            .filter(definition -> definition.isUserEnabled()).toArray());

    checkboxViewer.addCheckStateListener(new ICheckStateListener() {

        @Override
        public void checkStateChanged(CheckStateChangedEvent event) {
            if (event.getElement() instanceof ContentTypeToLanguageServerDefinition) {
                ContentTypeToLanguageServerDefinition contentTypeToLanguageServerDefinition = (ContentTypeToLanguageServerDefinition) event
                        .getElement();
                contentTypeToLanguageServerDefinition.setUserEnabled(event.getChecked());
                changedDefinitions.add(contentTypeToLanguageServerDefinition);
            }

        }
    });
}

From source file:org.eclipse.m2e.core.ui.internal.preferences.launch.MavenInstallationsPreferencePage.java

License:Open Source License

private void createTable(Composite composite) {
    runtimesViewer = CheckboxTableViewer.newCheckList(composite, SWT.BORDER | SWT.FULL_SELECTION);

    runtimesViewer.setLabelProvider(new RuntimesLabelProvider());

    runtimesViewer.setContentProvider(new IStructuredContentProvider() {

        public Object[] getElements(Object input) {
            if (input instanceof List<?>) {
                List<?> list = (List<?>) input;
                if (list.size() > 0) {
                    return list.toArray(new AbstractMavenRuntime[list.size()]);
                }/*from  w ww. j  av  a 2s .co  m*/
            }
            return new Object[0];
        }

        public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {
        }

        public void dispose() {
        }

    });

    Table table = runtimesViewer.getTable();
    table.setLinesVisible(true);
    table.setHeaderVisible(true);
    GridData gd_table = new GridData(SWT.FILL, SWT.FILL, true, true, 2, 3);
    gd_table.heightHint = 151;
    gd_table.widthHint = 333;
    table.setLayoutData(gd_table);

    TableColumn tblclmnName = new TableColumn(table, SWT.NONE);
    tblclmnName.setWidth(100);
    tblclmnName.setText(Messages.MavenInstallationsPreferencePage_tblclmnName_text);

    TableColumn tblclmnDetails = new TableColumn(table, SWT.NONE);
    tblclmnDetails.setWidth(100);
    tblclmnDetails.setText(Messages.MavenInstallationsPreferencePage_tblclmnDetails_text);

    Button addButton = new Button(composite, SWT.NONE);
    addButton.setLayoutData(new GridData(SWT.FILL, SWT.TOP, false, false));
    addButton.setText(Messages.MavenInstallationsPreferencePage_btnAdd);
    addButton.addSelectionListener(new SelectionAdapter() {
        public void widgetSelected(SelectionEvent e) {
            MavenInstallationWizard wizard = new MavenInstallationWizard(getForbiddenNames(null));
            WizardDialog dialog = new WizardDialog(getShell(), wizard);
            if (dialog.open() == Window.OK) {
                runtimes.add(wizard.getResult());
                refreshRuntimesViewer();
            }
        }
    });

    final Button editButton = new Button(composite, SWT.NONE);
    editButton.setLayoutData(new GridData(SWT.FILL, SWT.TOP, false, false));
    editButton.setEnabled(false);
    editButton.setText(Messages.MavenInstallationsPreferencePage_btnEdit);
    editButton.addSelectionListener(new SelectionAdapter() {
        public void widgetSelected(SelectionEvent e) {
            AbstractMavenRuntime runtime = getSelectedMavenRuntime();
            MavenInstallationWizard wizard = new MavenInstallationWizard(runtime, getForbiddenNames(runtime));
            WizardDialog dialog = new WizardDialog(getShell(), wizard);
            if (dialog.open() == Window.OK) {
                AbstractMavenRuntime updatedRuntime = wizard.getResult();
                for (int i = 0; i < runtimes.size(); i++) {
                    if (runtime == runtimes.get(i)) {
                        runtimes.set(i, updatedRuntime);
                        break;
                    }
                }
                refreshRuntimesViewer();
            }
        }
    });

    final Button removeButton = new Button(composite, SWT.NONE);
    removeButton.setEnabled(false);
    removeButton.setLayoutData(new GridData(SWT.FILL, SWT.TOP, false, false));
    removeButton.setText(Messages.MavenInstallationsPreferencePage_btnRemove);
    removeButton.addSelectionListener(new SelectionAdapter() {
        public void widgetSelected(SelectionEvent e) {
            AbstractMavenRuntime runtime = getSelectedMavenRuntime();
            runtimes.remove(runtime);
            refreshRuntimesViewer();
        }
    });

    runtimesViewer.addSelectionChangedListener(new ISelectionChangedListener() {
        public void selectionChanged(SelectionChangedEvent event) {
            if (runtimesViewer.getSelection() instanceof IStructuredSelection) {
                AbstractMavenRuntime runtime = getSelectedMavenRuntime();
                boolean isEnabled = runtime != null && runtime.isEditable();
                removeButton.setEnabled(isEnabled);
                editButton.setEnabled(isEnabled);
            }
        }
    });

    runtimesViewer.addCheckStateListener(new ICheckStateListener() {
        public void checkStateChanged(CheckStateChangedEvent event) {
            setCheckedRuntime((AbstractMavenRuntime) event.getElement());
        }
    });
    Label noteLabel = new Label(composite, SWT.WRAP);
    GridData noteLabelData = new GridData(SWT.FILL, SWT.TOP, false, false, 2, 1);
    noteLabelData.widthHint = 100;

    noteLabel.setLayoutData(noteLabelData);
    noteLabel.setText(Messages.MavenInstallationsPreferencePage_lblNote);
}

From source file:org.eclipse.m2e.core.ui.internal.preferences.MavenInstallationsPreferencePage.java

License:Open Source License

private void createTable(Composite composite) {
    runtimesViewer = CheckboxTableViewer.newCheckList(composite, SWT.BORDER | SWT.FULL_SELECTION);

    runtimesViewer.setLabelProvider(new RuntimesLabelProvider());

    runtimesViewer.setContentProvider(new IStructuredContentProvider() {

        @SuppressWarnings("unchecked")
        public Object[] getElements(Object input) {
            if (input instanceof List) {
                List list = (List) input;
                if (list.size() > 0) {
                    return list.toArray(new MavenRuntime[list.size()]);
                }//from w  w w  .  j  av a  2 s . c  o m
            }
            return new Object[0];
        }

        public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {
        }

        public void dispose() {
        }

    });

    Table table = runtimesViewer.getTable();
    table.setLinesVisible(false);
    table.setHeaderVisible(false);
    GridData gd_table = new GridData(SWT.FILL, SWT.FILL, true, false, 2, 3);
    gd_table.heightHint = 151;
    gd_table.widthHint = 333;
    table.setLayoutData(gd_table);

    Button addButton = new Button(composite, SWT.NONE);
    addButton.setLayoutData(new GridData(SWT.FILL, SWT.TOP, false, false));
    addButton.setText(Messages.MavenInstallationsPreferencePage_btnAdd);
    addButton.addSelectionListener(new SelectionAdapter() {
        public void widgetSelected(SelectionEvent e) {
            DirectoryDialog dlg = new DirectoryDialog(getShell());
            dlg.setText(Messages.MavenInstallationsPreferencePage_dialog_install_title);
            dlg.setMessage(Messages.MavenInstallationsPreferencePage_dialog_install_message);
            String dir = dlg.open();
            if (dir == null) {
                return;
            }
            boolean ok = validateMavenInstall(dir);
            if (ok) {
                MavenRuntime runtime = MavenRuntimeManager.createExternalRuntime(dir);
                if (runtimes.contains(runtime)) {
                    MessageDialog.openError(getShell(), Messages.MavenInstallationsPreferencePage_error_title,
                            Messages.MavenInstallationsPreferencePage_error3_message);
                } else {
                    runtimes.add(runtime);
                    runtimesViewer.refresh();
                    runtimesViewer.setAllChecked(false);
                    runtimesViewer.setChecked(runtime, true);
                    if (runtime != null) {
                        setCheckedRuntime(runtime);
                    }
                }
            }
        }
    });

    final Button editButton = new Button(composite, SWT.NONE);
    editButton.setLayoutData(new GridData(SWT.FILL, SWT.TOP, false, false));
    editButton.setEnabled(false);
    editButton.setText(Messages.MavenInstallationsPreferencePage_btnEdit);
    editButton.addSelectionListener(new SelectionAdapter() {
        public void widgetSelected(SelectionEvent e) {
            MavenRuntime runtime = getSelectedMavenRuntime();
            DirectoryDialog dlg = new DirectoryDialog(Display.getCurrent().getActiveShell());
            dlg.setText(Messages.MavenInstallationsPreferencePage_dialog_title);
            dlg.setMessage(Messages.MavenInstallationsPreferencePage_dialog_message);
            dlg.setFilterPath(runtime.getLocation());
            String dir = dlg.open();
            boolean ok = validateMavenInstall(dir);
            if (ok && !dir.equals(runtime.getLocation())) {
                MavenRuntime newRuntime = MavenRuntimeManager.createExternalRuntime(dir);
                if (runtimes.contains(newRuntime)) {
                    MessageDialog.openError(getShell(), Messages.MavenInstallationsPreferencePage_error_title,
                            Messages.MavenInstallationsPreferencePage_error4_message);
                } else {
                    runtimes.set(runtimes.indexOf(runtime), newRuntime);
                    runtimesViewer.refresh();
                    setDirty(true);
                    if (newRuntime != null) {
                        setCheckedRuntime(newRuntime);
                    }
                }
            }
        }
    });

    final Button removeButton = new Button(composite, SWT.NONE);
    removeButton.setEnabled(false);
    removeButton.setLayoutData(new GridData(SWT.FILL, SWT.TOP, false, false));
    removeButton.setText(Messages.MavenInstallationsPreferencePage_btnRemove);
    removeButton.addSelectionListener(new SelectionAdapter() {
        public void widgetSelected(SelectionEvent e) {
            MavenRuntime runtime = getSelectedMavenRuntime();
            runtimes.remove(runtime);
            runtimesViewer.refresh();
            Object[] checkedElements = runtimesViewer.getCheckedElements();
            if (checkedElements == null || checkedElements.length == 0) {
                defaultRuntime = runtimeManager.getRuntime(MavenRuntimeManager.EMBEDDED);
                runtimesViewer.setChecked(defaultRuntime, true);
                setCheckedRuntime(defaultRuntime);
            }
            setDirty(true);
        }
    });

    runtimesViewer.addSelectionChangedListener(new ISelectionChangedListener() {
        public void selectionChanged(SelectionChangedEvent event) {
            if (runtimesViewer.getSelection() instanceof IStructuredSelection) {
                MavenRuntime runtime = getSelectedMavenRuntime();
                boolean isEnabled = runtime != null && runtime.isEditable();
                removeButton.setEnabled(isEnabled);
                editButton.setEnabled(isEnabled);
            }
        }
    });

    runtimesViewer.addCheckStateListener(new ICheckStateListener() {
        public void checkStateChanged(CheckStateChangedEvent event) {
            if (event.getElement() != null && event.getChecked()) {

                setCheckedRuntime((MavenRuntime) event.getElement());
            }
        }
    });
    Link noteLabel = new Link(composite, SWT.WRAP | SWT.READ_ONLY);
    GridData noteLabelData = new GridData(SWT.FILL, SWT.TOP, false, false, 2, 1);
    noteLabelData.horizontalIndent = 15;
    noteLabelData.widthHint = 100;

    noteLabel.setLayoutData(noteLabelData);
    noteLabel.setText(Messages.MavenInstallationsPreferencePage_lblNote1
            + Messages.MavenInstallationsPreferencePage_lblNote2);
    noteLabel.addSelectionListener(new SelectionAdapter() {
        public void widgetSelected(SelectionEvent e) {
            try {
                URL url = new URL(e.text);
                IWebBrowser browser = PlatformUI.getWorkbench().getBrowserSupport().getExternalBrowser();
                browser.openURL(url);
            } catch (MalformedURLException ex) {
                log.error("Malformed URL", ex); //$NON-NLS-1$
            } catch (PartInitException ex) {
                log.error(ex.getMessage(), ex);
            }
        }
    });
}

From source file:org.eclipse.m2e.core.ui.internal.search.MavenSearchPage.java

License:Open Source License

public void createControl(Composite parent) {
    Composite composite = new Composite(parent, SWT.NONE);
    composite.setLayout(new GridLayout(3, false));
    composite.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));

    setControl(parent);// w  w  w. j  a  v  a2  s  . c  o m

    Label groupIdLabel = new Label(composite, SWT.NONE);
    groupIdLabel.setText(Messages.MavenSearchPage_lblGroupid);

    groupIdText = new Combo(composite, SWT.NONE);
    groupIdText.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false, 2, 1));

    Label artifactIdLabel = new Label(composite, SWT.NONE);
    artifactIdLabel.setText(Messages.MavenSearchPage_lblArtifactid);

    artifactIdText = new Combo(composite, SWT.NONE);
    artifactIdText.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false, 2, 1));

    Label versionLabel = new Label(composite, SWT.NONE);
    versionLabel.setText(Messages.MavenSearchPage_lblVersion);

    versionText = new Combo(composite, SWT.NONE);
    versionText.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false, 2, 1));

    Label packagingIdLabel = new Label(composite, SWT.NONE);
    packagingIdLabel.setText(Messages.MavenSearchPage_lblPackaging);

    packagingIdText = new Combo(composite, SWT.NONE);
    GridData packagingIdTextData = new GridData(SWT.LEFT, SWT.CENTER, true, false, 2, 1);
    packagingIdTextData.widthHint = 208;
    packagingIdText.setLayoutData(packagingIdTextData);

    Label sha1Label = new Label(composite, SWT.NONE);
    sha1Label.setText(Messages.MavenSearchPage_lblSha);

    sha1Text = new Combo(composite, SWT.NONE);
    sha1Text.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false));

    Button browseButton = new Button(composite, SWT.NONE);
    browseButton.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, false, false));
    browseButton.setText(Messages.MavenSearchPage_btnBrowse);

    Label classNameLabel = new Label(composite, SWT.NONE);
    classNameLabel.setText(Messages.MavenSearchPage_lblClass);

    classNameText = new Combo(composite, SWT.NONE);
    classNameText.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false, 2, 1));

    Label separator = new Label(composite, SWT.HORIZONTAL | SWT.SEPARATOR);
    GridData separatorData = new GridData(SWT.FILL, SWT.TOP, false, false, 3, 1);
    separatorData.heightHint = 15;
    separatorData.minimumHeight = 15;
    separator.setLayoutData(separatorData);
    separator.setText(Messages.MavenSearchPage_separator);

    Label repositoriesLabel = new Label(composite, SWT.NONE);
    repositoriesLabel.setLayoutData(new GridData(SWT.LEFT, SWT.TOP, false, false));
    repositoriesLabel.setText(Messages.MavenSearchPage_lblRepos);

    CheckboxTableViewer tableViewer = CheckboxTableViewer.newCheckList(composite, SWT.BORDER);
    table = tableViewer.getTable();
    table.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true, 1, 2));

    Button selectAllButton = new Button(composite, SWT.NONE);
    selectAllButton.setLayoutData(new GridData(SWT.FILL, SWT.TOP, false, false));
    selectAllButton.setText(Messages.MavenSearchPage_btnSelect);
    new Label(composite, SWT.NONE);

    Button deselectAllButton = new Button(composite, SWT.NONE);
    deselectAllButton.setLayoutData(new GridData(SWT.FILL, SWT.TOP, false, false));
    deselectAllButton.setText(Messages.MavenSearchPage_btnUnselect);
}

From source file:org.eclipse.m2e.pr.internal.wizard.ProblemDescriptionPage.java

License:Open Source License

public void createControl(Composite parent) {
    Composite composite = new Composite(parent, SWT.NONE);
    composite.setLayout(new GridLayout());
    setControl(composite);//from w ww .j  av  a2  s  .co m

    Label summaryLabel = new Label(composite, SWT.NONE);
    summaryLabel.setData("name", "summaryLabel"); //$NON-NLS-1$ //$NON-NLS-2$
    summaryLabel.setText(Messages.ProblemDescriptionPage_lblSummary);

    final Text summaryText = new Text(composite, SWT.BORDER);
    summaryText.setData("name", "summaryText"); //$NON-NLS-1$ //$NON-NLS-2$
    summaryText.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false));
    summaryText.addModifyListener(new ModifyListener() {
        public void modifyText(ModifyEvent e) {
            summary = summaryText.getText();
            updatePage();
        }
    });

    Label descriptionLabel = new Label(composite, SWT.NONE);
    descriptionLabel.setData("name", "descriptionLabel"); //$NON-NLS-1$ //$NON-NLS-2$
    descriptionLabel.setText(Messages.ProblemDescriptionPage_lblDesc);

    final Text descriptionText = new Text(composite, SWT.MULTI | SWT.BORDER | SWT.WRAP);
    descriptionText.setData("name", "descriptionText"); //$NON-NLS-1$ //$NON-NLS-2$
    GridData gd = new GridData(SWT.FILL, SWT.FILL, true, false);
    gd.heightHint = 100;
    descriptionText.setLayoutData(gd);
    descriptionText.addModifyListener(new ModifyListener() {
        public void modifyText(ModifyEvent e) {
            description = descriptionText.getText();
            updatePage();
        }
    });

    Label projectsLabel = new Label(composite, SWT.NONE);
    projectsLabel.setData("name", "projectsLabel"); //$NON-NLS-1$ //$NON-NLS-2$
    projectsLabel.setText(Messages.ProblemDescriptionPage_lblProjects);

    projectsViewer = CheckboxTableViewer.newCheckList(composite,
            SWT.H_SCROLL | SWT.V_SCROLL | SWT.BORDER | SWT.MULTI);
    projectsViewer.setData("name", "projectsViewer"); //$NON-NLS-1$ //$NON-NLS-2$
    projectsViewer.addCheckStateListener(new ICheckStateListener() {
        public void checkStateChanged(CheckStateChangedEvent event) {
            updatePage();
        }
    });
    GridData gridData = new GridData(SWT.FILL, SWT.FILL, true, true);
    gridData.heightHint = 62;
    projectsViewer.getTable().setLayoutData(gridData);

    projectsViewer.setContentProvider(new WorkbenchContentProvider());
    projectsViewer.setLabelProvider(new WorkbenchLabelProvider());

    projectsViewer.setInput(ResourcesPlugin.getWorkspace().getRoot());
    if (selection != null && selection.getFirstElement() instanceof IProject) {
        projectsViewer.setCheckedElements(new Object[] { (IProject) selection.getFirstElement() });
    }

    Link link = new Link(composite, SWT.NONE);
    link.setFont(composite.getFont());
    link.setText(Messages.ProblemDescriptionPage_lblLink);
    link.addSelectionListener(new SelectionListener() {
        public void widgetSelected(SelectionEvent e) {
            doLaunchProblemReportingPrefs();
        }

        public void widgetDefaultSelected(SelectionEvent e) {
            doLaunchProblemReportingPrefs();
        }
    });
    new Label(composite, SWT.NONE);

    Button button = new Button(composite, SWT.NONE);
    button.setLayoutData(new GridData(SWT.CENTER, SWT.TOP, true, false));
    button.addSelectionListener(new SelectionAdapter() {
        @Override
        public void widgetSelected(SelectionEvent e) {
            captureScreenFromClipboard();
        }
    });
    button.setText(Messages.ProblemDescriptionPage_btnScreenshot);

}

From source file:org.eclipse.m2e.profiles.ui.internal.dialog.SelectProfilesDialog.java

License:Open Source License

private void displayProfilesTable(Composite container) {
    GridData gd = new GridData(SWT.FILL, SWT.FILL, true, true, 2, 4);
    gd.heightHint = 200;/*from  w w  w . j  av  a  2s.com*/
    gd.widthHint = 500;

    profileTableViewer = CheckboxTableViewer.newCheckList(container, SWT.BORDER | SWT.MULTI);
    Table table = profileTableViewer.getTable();
    table.setFocus();
    table.setLayoutData(gd);
    table.setLinesVisible(true);
    table.setHeaderVisible(true);

    TableColumn profileColumn = new TableColumn(table, SWT.NONE);
    profileColumn.setText(Messages.SelectProfilesDialog_Profile_id_header);
    profileColumn.setWidth(350);

    TableColumn sourceColumn = new TableColumn(table, SWT.NONE);
    sourceColumn.setText(Messages.SelectProfilesDialog_Profile_source_header);
    sourceColumn.setWidth(120);

    profileTableViewer.setContentProvider(ArrayContentProvider.getInstance());

    profileTableViewer.setLabelProvider(new ProfileLabelProvider(container.getFont()));

    profileTableViewer.addCheckStateListener(new ICheckStateListener() {

        public void checkStateChanged(CheckStateChangedEvent event) {
            ProfileSelection profile = (ProfileSelection) event.getElement();
            if (profileTableViewer.getGrayed(profile)) {
                profileTableViewer.setGrayed(profile, false);
            }
            profile.setSelected(profileTableViewer.getChecked(profile));
            if (Boolean.FALSE.equals(profile.getSelected()) || profile.getActivationState() == null) {
                profile.setActivationState(ProfileState.Active);
            }

            updateProfilesAsText();
            profileTableViewer.refresh();
        }
    });

    profileTableViewer.setInput(sharedProfiles);

    createMenu();
}

From source file:org.eclipse.m2e.ui.internal.launch.MavenLaunchExtensionsTab.java

License:Open Source License

/**
 * @wbp.parser.entryPoint//w w  w  .j  ava  2  s.c  o m
 */
public void createControl(Composite parent) {
    Composite composite = new Composite(parent, SWT.NONE);
    setControl(composite);
    composite.setLayout(new GridLayout(1, false));

    Label lblMavenLaunchExtensions = new Label(composite, SWT.NONE);
    lblMavenLaunchExtensions.setText(Messages.MavenLaunchExtensionsTab_lblExtensions);

    checkboxTableViewer = CheckboxTableViewer.newCheckList(composite, SWT.BORDER | SWT.FULL_SELECTION);
    checkboxTableViewer.addCheckStateListener(new ICheckStateListener() {
        public void checkStateChanged(CheckStateChangedEvent event) {
            if (event.getElement() instanceof MavenLaunchParticipantInfo) {
                MavenLaunchParticipantInfo participant = (MavenLaunchParticipantInfo) event.getElement();
                if (event.getChecked()) {
                    disabledParticipants.remove(participant.getId());
                } else {
                    disabledParticipants.add(participant.getId());
                }
                setDirty(true);
                updateLaunchConfigurationDialog();
            }
        }
    });
    Table table = checkboxTableViewer.getTable();
    table.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true, 1, 1));

    checkboxTableViewer.setContentProvider(new IStructuredContentProvider() {
        public void dispose() {
        }

        public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {
        }

        public Object[] getElements(Object inputElement) {
            if (inputElement instanceof Collection<?>) {
                return ((Collection<?>) inputElement).toArray();
            }
            return null;
        }
    });

    checkboxTableViewer.setCheckStateProvider(new ICheckStateProvider() {
        public boolean isChecked(Object element) {
            if (element instanceof MavenLaunchParticipantInfo) {
                return !disabledParticipants.contains(((MavenLaunchParticipantInfo) element).getId());
            }
            return false;
        }

        public boolean isGrayed(Object element) {
            return false;
        }
    });

    checkboxTableViewer.setLabelProvider(new ILabelProvider() {

        public void addListener(ILabelProviderListener listener) {
        }

        public void dispose() {
        }

        public boolean isLabelProperty(Object element, String property) {
            return false;
        }

        public void removeListener(ILabelProviderListener listener) {
        }

        public Image getImage(Object element) {
            return null;
        }

        public String getText(Object element) {
            if (element instanceof MavenLaunchParticipantInfo) {
                return ((MavenLaunchParticipantInfo) element).getName();
            }
            return null;
        }
    });
}

From source file:org.eclipse.mylyn.internal.commons.notifications.ui.NotificationsPreferencesPage.java

License:Open Source License

@Override
protected Control createContents(Composite parent) {
    model = NotificationsPlugin.getDefault().createModelWorkingCopy();

    Composite composite = new Composite(parent, SWT.NONE);
    composite.setLayout(new GridLayout(2, false));

    enableNotificationsButton = new Button(composite, SWT.CHECK);
    GridDataFactory.fillDefaults().span(2, 1).applyTo(enableNotificationsButton);
    enableNotificationsButton.setText(Messages.NotificationsPreferencesPage_Enable_Notifications_Text);
    enableNotificationsButton.addSelectionListener(new SelectionAdapter() {
        @Override//ww w.  j a  v  a2s .  com
        public void widgetSelected(SelectionEvent e) {
            updateEnablement();
        }
    });

    Label label = new Label(composite, SWT.NONE);
    label.setText(" "); //$NON-NLS-1$
    GridDataFactory.fillDefaults().span(2, 1).applyTo(label);

    label = new Label(composite, SWT.NONE);
    label.setText(Messages.NotificationsPreferencesPage_Events_Label);

    label = new Label(composite, SWT.NONE);
    label.setText(Messages.NotificationsPreferencesPage_Notifiers_Label);
    // Create the tree showing all the various notification types
    FilteredTree tree = new FilteredTree(composite, SWT.BORDER, new SubstringPatternFilter(), true);
    eventsViewer = tree.getViewer();
    GridDataFactory.fillDefaults().span(1, 2).grab(false, true).applyTo(tree);
    eventsViewer.setComparer(new NotificationEventComparer());
    eventsViewer.setContentProvider(new EventContentProvider());
    eventsViewer.setLabelProvider(new EventLabelProvider());
    eventsViewer.setInput(model.getCategories().toArray());
    eventsViewer.expandAll();
    eventsViewer.addSelectionChangedListener(new ISelectionChangedListener() {
        public void selectionChanged(SelectionChangedEvent event) {
            Object input = getDetailsInput((IStructuredSelection) event.getSelection());
            notifiersViewer.setInput(input);

            Object item = ((IStructuredSelection) event.getSelection()).getFirstElement();
            if (item instanceof NotificationEvent) {
                descriptionText.setText(((NotificationEvent) item).getDescription());
                notifiersViewer.getControl().setEnabled(true);
            } else {
                descriptionText.setText(" "); //$NON-NLS-1$
                notifiersViewer.getControl().setEnabled(false);
            }
        }

        private Object getDetailsInput(IStructuredSelection selection) {
            Object item = selection.getFirstElement();
            if (item instanceof NotificationEvent) {
                return model.getOrCreateNotificationHandler((NotificationEvent) item);
            }
            return null;
        }
    });
    // Create the table listing all notification sinks available for the selected event type.
    notifiersViewer = CheckboxTableViewer.newCheckList(composite, SWT.BORDER);
    GridDataFactory.fillDefaults().grab(true, true).applyTo(notifiersViewer.getControl());
    notifiersViewer.setContentProvider(new NotifiersContentProvider());
    notifiersViewer.setLabelProvider(new EventLabelProvider());
    notifiersViewer.addCheckStateListener(new ICheckStateListener() {
        public void checkStateChanged(CheckStateChangedEvent event) {
            NotificationAction action = (NotificationAction) event.getElement();
            action.setSelected(event.getChecked());
            model.setDirty(true);
            eventsViewer.refresh();
        }
    });
    notifiersViewer.setCheckStateProvider(new ICheckStateProvider() {
        public boolean isChecked(Object element) {
            return ((NotificationAction) element).isSelected();
        }

        public boolean isGrayed(Object element) {
            return false;
        }
    });
    notifiersViewer.addSelectionChangedListener(new ISelectionChangedListener() {
        public void selectionChanged(SelectionChangedEvent event) {
            Object item = ((IStructuredSelection) event.getSelection()).getFirstElement();
            if (item instanceof NotificationAction) {
                // TODO show configuration pane
            }
        }
    });

    Group group = new Group(composite, SWT.NONE);
    GridDataFactory.fillDefaults().hint(150, SWT.DEFAULT).grab(true, true).applyTo(group);
    group.setText(Messages.NotificationsPreferencesPage_Descriptions_Label);
    FillLayout layout = new FillLayout();
    layout.marginHeight = 5;
    layout.marginWidth = 5;
    group.setLayout(layout);

    descriptionText = new Text(group, SWT.WRAP);
    descriptionText.setBackground(group.getBackground());

    //      Button testButton = new Button(composite, SWT.NONE);
    //      testButton.setText("Test");
    //      testButton.addSelectionListener(new SelectionAdapter() {
    //         @Override
    //         public void widgetSelected(SelectionEvent e) {
    //            ISelection selection = eventsViewer.getSelection();
    //            if (selection instanceof IStructuredSelection) {
    //               Object object = ((IStructuredSelection) selection).getFirstElement();
    //               if (object instanceof NotificationEvent) {
    //                  final NotificationEvent event = (NotificationEvent) object;
    //                  getControl().getDisplay().asyncExec(new Runnable() {
    //                     public void run() {
    //                        Notifications.getService().notify(
    //                              Collections.singletonList(new TestNotification(event)));
    //                     }
    //                  });
    //               }
    //            }
    //         }
    //
    //      });

    reset();
    Dialog.applyDialogFont(composite);
    return composite;
}

From source file:org.eclipse.mylyn.internal.commons.ui.notifications.NotificationsPreferencesPage.java

License:Open Source License

@Override
protected Control createContents(Composite parent) {
    model = NotificationsPlugin.getDefault().createModelWorkingCopy();

    Composite composite = new Composite(parent, SWT.NONE);
    composite.setLayout(new GridLayout(2, false));

    enableNotificationsButton = new Button(composite, SWT.CHECK);
    GridDataFactory.fillDefaults().span(2, 1).applyTo(enableNotificationsButton);
    enableNotificationsButton.setText(Messages.NotificationsPreferencesPage_Enable_Notifications_Text);
    enableNotificationsButton.addSelectionListener(new SelectionAdapter() {
        @Override/*from w ww . ja  v  a2 s.c  om*/
        public void widgetSelected(SelectionEvent e) {
            updateEnablement();
        }
    });

    Label label = new Label(composite, SWT.NONE);
    label.setText(" "); //$NON-NLS-1$
    GridDataFactory.fillDefaults().span(2, 1).applyTo(label);

    label = new Label(composite, SWT.NONE);
    label.setText(Messages.NotificationsPreferencesPage_Events_Label);

    label = new Label(composite, SWT.NONE);
    label.setText(Messages.NotificationsPreferencesPage_Notifiers_Label);
    // Create the tree showing all the various notification types
    FilteredTree tree = new FilteredTree(composite, SWT.BORDER, new SubstringPatternFilter(), true);
    eventsViewer = tree.getViewer();
    GridDataFactory.fillDefaults().span(1, 2).grab(false, true).applyTo(tree);
    eventsViewer.setComparer(new NotificationEventComparer());
    eventsViewer.setContentProvider(new EventContentProvider());
    eventsViewer.setLabelProvider(new NotificationLabelProvider());
    eventsViewer.setInput(model.getCategories().toArray());
    eventsViewer.expandAll();
    eventsViewer.addSelectionChangedListener(new ISelectionChangedListener() {
        public void selectionChanged(SelectionChangedEvent event) {
            Object input = getDetailsInput((IStructuredSelection) event.getSelection());
            notifiersViewer.setInput(input);

            Object item = ((IStructuredSelection) event.getSelection()).getFirstElement();
            if (item instanceof NotificationEvent) {
                descriptionText.setText(((NotificationEvent) item).getDescription());
                notifiersViewer.getControl().setEnabled(true);
            } else {
                descriptionText.setText(" "); //$NON-NLS-1$
                notifiersViewer.getControl().setEnabled(false);
            }
        }

        private Object getDetailsInput(IStructuredSelection selection) {
            Object item = selection.getFirstElement();
            if (item instanceof NotificationEvent) {
                return model.getOrCreateNotificationHandler((NotificationEvent) item);
            }
            return null;
        }
    });
    // Create the table listing all notification sinks available for the selected event type.
    notifiersViewer = CheckboxTableViewer.newCheckList(composite, SWT.BORDER);
    GridDataFactory.fillDefaults().grab(true, true).applyTo(notifiersViewer.getControl());
    notifiersViewer.setContentProvider(new NotifiersContentProvider());
    notifiersViewer.setLabelProvider(new NotificationLabelProvider());
    notifiersViewer.addCheckStateListener(new ICheckStateListener() {
        public void checkStateChanged(CheckStateChangedEvent event) {
            NotificationAction action = (NotificationAction) event.getElement();
            action.setSelected(event.getChecked());
            model.updateStates();
            model.setDirty(true);
            eventsViewer.refresh();
        }
    });
    notifiersViewer.setCheckStateProvider(new ICheckStateProvider() {
        public boolean isChecked(Object element) {
            return ((NotificationAction) element).isSelected();
        }

        public boolean isGrayed(Object element) {
            return false;
        }
    });
    notifiersViewer.addSelectionChangedListener(new ISelectionChangedListener() {
        public void selectionChanged(SelectionChangedEvent event) {
            Object item = ((IStructuredSelection) event.getSelection()).getFirstElement();
            if (item instanceof NotificationAction) {
                // TODO show configuration pane
            }
        }
    });

    Group group = new Group(composite, SWT.NONE);
    GridDataFactory.fillDefaults().hint(150, SWT.DEFAULT).grab(true, true).applyTo(group);
    group.setText(Messages.NotificationsPreferencesPage_Descriptions_Label);
    FillLayout layout = new FillLayout();
    layout.marginHeight = 5;
    layout.marginWidth = 5;
    group.setLayout(layout);

    descriptionText = new Text(group, SWT.WRAP);
    descriptionText.setBackground(group.getBackground());

    //      Button testButton = new Button(composite, SWT.NONE);
    //      testButton.setText("Test");
    //      testButton.addSelectionListener(new SelectionAdapter() {
    //         @Override
    //         public void widgetSelected(SelectionEvent e) {
    //            ISelection selection = eventsViewer.getSelection();
    //            if (selection instanceof IStructuredSelection) {
    //               Object object = ((IStructuredSelection) selection).getFirstElement();
    //               if (object instanceof NotificationEvent) {
    //                  final NotificationEvent event = (NotificationEvent) object;
    //                  getControl().getDisplay().asyncExec(new Runnable() {
    //                     public void run() {
    //                        Notifications.getService().notify(
    //                              Collections.singletonList(new TestNotification(event)));
    //                     }
    //                  });
    //               }
    //            }
    //         }
    //
    //      });

    reset();
    Dialog.applyDialogFont(composite);
    return composite;
}

From source file:org.eclipse.mylyn.internal.github.ui.issue.IssueRepositoryQueryPage.java

License:Open Source License

private void createLabelsArea(Composite parent) {
    Group labelsArea = new Group(parent, SWT.NONE);
    labelsArea.setText(Messages.IssueRepositoryQueryPage_LabelsLabel);
    GridDataFactory.fillDefaults().grab(true, true).applyTo(labelsArea);
    GridLayoutFactory.swtDefaults().applyTo(labelsArea);

    labelsViewer = CheckboxTableViewer.newCheckList(labelsArea, SWT.BORDER | SWT.V_SCROLL | SWT.H_SCROLL);
    GridDataFactory.fillDefaults().grab(true, true).hint(100, 80).applyTo(labelsViewer.getControl());
    labelsViewer.setContentProvider(ArrayContentProvider.getInstance());
    labelsViewer.setLabelProvider(new LabelProvider() {

        public Image getImage(Object element) {
            return GitHubImages.get(GitHubImages.GITHUB_ISSUE_LABEL_OBJ);
        }// w w  w .  j  a va  2s .  com

    });
    labelsViewer.addSelectionChangedListener(new ISelectionChangedListener() {

        public void selectionChanged(SelectionChangedEvent event) {
            setPageComplete(isPageComplete());
        }
    });
}