Search in sources :

Example 36 with ICheckStateListener

use of org.eclipse.jface.viewers.ICheckStateListener in project bndtools by bndtools.

the class JpmDependencyWizardPage method createControl.

@Override
@SuppressWarnings("unused")
public void createControl(Composite parent) {
    // CREATE CONTROLS
    Composite container = new Composite(parent, SWT.NULL);
    setControl(container);
    Label lblDirect = new Label(container, SWT.NONE);
    lblDirect.setFont(JFaceResources.getBannerFont());
    lblDirect.setText("Direct Dependencies:");
    Table tblDirect = new Table(container, SWT.MULTI | SWT.FULL_SELECTION | SWT.BORDER | SWT.V_SCROLL);
    viewerDirect = new TableViewer(tblDirect);
    viewerDirect.setContentProvider(ArrayContentProvider.getInstance());
    viewerDirect.setLabelProvider(new ResourceDescriptorLabelProvider());
    createHelpLabel(container, "The above dependencies will be added to the project and, if necessary, to the Searchable Repository local index.");
    Label separator = new Label(container, SWT.SEPARATOR | SWT.HORIZONTAL);
    Label lblIndirect = new Label(container, SWT.NONE);
    lblIndirect.setFont(JFaceResources.getBannerFont());
    lblIndirect.setText("Transitive Dependencies:");
    Composite cmpIndirect = new Composite(container, SWT.NONE);
    Table tblIndirect = new Table(cmpIndirect, SWT.CHECK | SWT.MULTI | SWT.FULL_SELECTION | SWT.BORDER | SWT.V_SCROLL);
    viewerIndirect = new CheckboxTableViewer(tblIndirect);
    viewerIndirect.setContentProvider(ArrayContentProvider.getInstance());
    viewerIndirect.setLabelProvider(new ResourceDescriptorLabelProvider());
    Button btnSelectAll = new Button(cmpIndirect, SWT.PUSH);
    btnSelectAll.setText("All");
    Button btnSelectNone = new Button(cmpIndirect, SWT.PUSH);
    btnSelectNone.setText("None");
    new Label(cmpIndirect, SWT.NONE);
    createHelpLabel(container, "The above dependencies will be added to the Searchable Repository local index. Checked dependencies will also be added directly to the project.");
    // LISTENERS
    // Query JPM and show results *after* dialog is shown. This ensures progress is visible in the dialog's
    // progress bar
    getContainer().getShell().addShellListener(new ShellAdapter() {

        @Override
        public void shellActivated(ShellEvent e) {
            runQuery();
        }
    });
    viewerIndirect.addCheckStateListener(new ICheckStateListener() {

        @Override
        public void checkStateChanged(CheckStateChangedEvent ev) {
            if (selectedIndirectResources == null)
                selectedIndirectResources = new HashSet<ResourceDescriptor>();
            ResourceDescriptor resource = (ResourceDescriptor) ev.getElement();
            if (ev.getChecked())
                selectedIndirectResources.add(resource);
            else
                selectedIndirectResources.remove(resource);
        }
    });
    btnSelectAll.addSelectionListener(new SelectionAdapter() {

        @Override
        public void widgetSelected(SelectionEvent e) {
            selectedIndirectResources.addAll(indirectResources);
            updateSelectedCheckboxes();
        }
    });
    btnSelectNone.addSelectionListener(new SelectionAdapter() {

        @Override
        public void widgetSelected(SelectionEvent e) {
            selectedIndirectResources.clear();
            updateSelectedCheckboxes();
        }
    });
    viewerDirect.addSelectionChangedListener(new ISelectionChangedListener() {

        @Override
        public void selectionChanged(SelectionChangedEvent event) {
            ISelection sel = event.getSelection();
            if (sel.isEmpty())
                selection = (ResourceDescriptor) ((IStructuredSelection) viewerIndirect.getSelection()).getFirstElement();
            else
                selection = (ResourceDescriptor) ((IStructuredSelection) sel).getFirstElement();
            getContainer().updateMessage();
        }
    });
    viewerIndirect.addSelectionChangedListener(new ISelectionChangedListener() {

        @Override
        public void selectionChanged(SelectionChangedEvent event) {
            ISelection sel = event.getSelection();
            if (sel.isEmpty())
                selection = (ResourceDescriptor) ((IStructuredSelection) viewerDirect.getSelection()).getFirstElement();
            else
                selection = (ResourceDescriptor) ((IStructuredSelection) sel).getFirstElement();
            getContainer().updateMessage();
        }
    });
    // LAYOUT
    GridLayout layout;
    GridData gd;
    layout = new GridLayout(1, true);
    container.setLayout(layout);
    gd = new GridData(SWT.FILL, SWT.FILL, true, false);
    gd.heightHint = 30;
    tblDirect.setLayoutData(gd);
    gd = new GridData(SWT.FILL, SWT.FILL, true, false);
    separator.setLayoutData(gd);
    gd = new GridData(SWT.FILL, SWT.FILL, true, true);
    cmpIndirect.setLayoutData(gd);
    layout = new GridLayout(2, false);
    layout.marginHeight = 0;
    layout.marginWidth = 0;
    layout.horizontalSpacing = 2;
    layout.verticalSpacing = 2;
    cmpIndirect.setLayout(layout);
    gd = new GridData(SWT.FILL, SWT.FILL, true, true, 1, 3);
    gd.heightHint = 100;
    tblIndirect.setLayoutData(gd);
    gd = new GridData(SWT.FILL, SWT.FILL, false, false);
    btnSelectAll.setLayoutData(gd);
    gd = new GridData(SWT.FILL, SWT.FILL, false, false);
    btnSelectNone.setLayoutData(gd);
}
Also used : ShellAdapter(org.eclipse.swt.events.ShellAdapter) Table(org.eclipse.swt.widgets.Table) Composite(org.eclipse.swt.widgets.Composite) CheckboxTableViewer(org.eclipse.jface.viewers.CheckboxTableViewer) ICheckStateListener(org.eclipse.jface.viewers.ICheckStateListener) SelectionAdapter(org.eclipse.swt.events.SelectionAdapter) ISelectionChangedListener(org.eclipse.jface.viewers.ISelectionChangedListener) Label(org.eclipse.swt.widgets.Label) ShellEvent(org.eclipse.swt.events.ShellEvent) SelectionChangedEvent(org.eclipse.jface.viewers.SelectionChangedEvent) IStructuredSelection(org.eclipse.jface.viewers.IStructuredSelection) GridLayout(org.eclipse.swt.layout.GridLayout) Button(org.eclipse.swt.widgets.Button) SelectionEvent(org.eclipse.swt.events.SelectionEvent) ISelection(org.eclipse.jface.viewers.ISelection) GridData(org.eclipse.swt.layout.GridData) CheckStateChangedEvent(org.eclipse.jface.viewers.CheckStateChangedEvent) TableViewer(org.eclipse.jface.viewers.TableViewer) CheckboxTableViewer(org.eclipse.jface.viewers.CheckboxTableViewer) ResourceDescriptor(aQute.bnd.service.repository.SearchableRepository.ResourceDescriptor)

Example 37 with ICheckStateListener

use of org.eclipse.jface.viewers.ICheckStateListener in project bndtools by bndtools.

the class PackageInfoDialog method createDialogArea.

/**
 * Create contents of the dialog.
 *
 * @param parent
 */
@SuppressWarnings("unused")
@Override
protected Control createDialogArea(Composite parent) {
    setMessage(Messages.PackageInfoDialog_Message);
    setTitle(Messages.PackageInfoDialog_Title);
    Composite container = (Composite) super.createDialogArea(parent);
    Composite composite = new Composite(container, SWT.NONE);
    composite.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));
    GridLayout layout = new GridLayout();
    layout.numColumns = 2;
    layout.marginHeight = 10;
    layout.marginWidth = 10;
    composite.setLayout(layout);
    table = new Table(composite, SWT.BORDER | SWT.CHECK | SWT.FULL_SELECTION);
    table.setHeaderVisible(true);
    GridData gd_table = new GridData(SWT.FILL, SWT.FILL, true, true, 1, 2);
    gd_table.heightHint = 100;
    table.setLayoutData(gd_table);
    table.setLinesVisible(true);
    TableColumn tblclmnPackage = new TableColumn(table, SWT.NONE);
    tblclmnPackage.setWidth(267);
    tblclmnPackage.setText(Messages.PackageInfoDialog_ExportedPackage);
    TableColumn tblclmnVersion = new TableColumn(table, SWT.NONE);
    tblclmnVersion.setWidth(77);
    tblclmnVersion.setText(Messages.PackageInfoDialog_Version);
    Button btnCheckAll = new Button(composite, SWT.NONE);
    btnCheckAll.setText(Messages.PackageInfoDialog_btnCheckAll_text);
    btnCheckAll.setLayoutData(new GridData(SWT.FILL, SWT.TOP, false, false, 1, 1));
    btnCheckAll.addSelectionListener(new SelectionAdapter() {

        @Override
        public void widgetSelected(SelectionEvent e) {
            selection.clear();
            selection.addAll(packages);
            viewer.setCheckedElements(selection.toArray());
            validate();
        }
    });
    Button btnUncheckAll = new Button(composite, SWT.NONE);
    btnUncheckAll.setText(Messages.PackageInfoDialog_btnUncheckAll_text_1);
    btnUncheckAll.setLayoutData(new GridData(SWT.FILL, SWT.TOP, false, false, 1, 1));
    btnUncheckAll.addSelectionListener(new SelectionAdapter() {

        @Override
        public void widgetSelected(SelectionEvent e) {
            selection.clear();
            viewer.setCheckedElements(selection.toArray());
            validate();
        }
    });
    final Button btnAlwaysGenerate = new Button(composite, SWT.CHECK);
    btnAlwaysGenerate.setText(Messages.PackageInfoDialog_AlwaysGenerate);
    viewer = new CheckboxTableViewer(table);
    TableViewerColumn tblViewerClmnPackage = new TableViewerColumn(viewer, tblclmnPackage);
    tblViewerClmnPackage.setLabelProvider(new PackageNameLabelProvider(table.getDisplay()));
    TableViewerColumn tblViewerClmnVersion = new TableViewerColumn(viewer, tblclmnVersion);
    tblViewerClmnVersion.setLabelProvider(new PackageVersionLabelProvider());
    tblViewerClmnVersion.setEditingSupport(new VersionEditingSupport(viewer));
    viewer.setContentProvider(ArrayContentProvider.getInstance());
    viewer.setSorter(new ViewerSorter() {

        @Override
        public int compare(Viewer viewer, Object e1, Object e2) {
            FileVersionTuple f1 = (FileVersionTuple) e1;
            FileVersionTuple f2 = (FileVersionTuple) e2;
            return f1.compareTo(f2);
        }
    });
    viewer.setInput(packages);
    viewer.setCheckedElements(selection.toArray());
    new Label(composite, SWT.NONE);
    btnAlwaysGenerate.addSelectionListener(new SelectionAdapter() {

        @Override
        public void widgetSelected(SelectionEvent e) {
            dontAsk = btnAlwaysGenerate.getSelection();
        }
    });
    viewer.addCheckStateListener(new ICheckStateListener() {

        @Override
        public void checkStateChanged(CheckStateChangedEvent event) {
            FileVersionTuple pkg = (FileVersionTuple) event.getElement();
            if (event.getChecked())
                selection.add(pkg);
            else
                selection.remove(pkg);
            validate();
        }
    });
    return container;
}
Also used : Table(org.eclipse.swt.widgets.Table) Composite(org.eclipse.swt.widgets.Composite) CheckboxTableViewer(org.eclipse.jface.viewers.CheckboxTableViewer) ICheckStateListener(org.eclipse.jface.viewers.ICheckStateListener) SelectionAdapter(org.eclipse.swt.events.SelectionAdapter) ViewerSorter(org.eclipse.jface.viewers.ViewerSorter) Label(org.eclipse.swt.widgets.Label) TableViewer(org.eclipse.jface.viewers.TableViewer) CheckboxTableViewer(org.eclipse.jface.viewers.CheckboxTableViewer) Viewer(org.eclipse.jface.viewers.Viewer) TableColumn(org.eclipse.swt.widgets.TableColumn) GridLayout(org.eclipse.swt.layout.GridLayout) Button(org.eclipse.swt.widgets.Button) GridData(org.eclipse.swt.layout.GridData) SelectionEvent(org.eclipse.swt.events.SelectionEvent) CheckStateChangedEvent(org.eclipse.jface.viewers.CheckStateChangedEvent) TableViewerColumn(org.eclipse.jface.viewers.TableViewerColumn)

Example 38 with ICheckStateListener

use of org.eclipse.jface.viewers.ICheckStateListener in project bndtools by bndtools.

the class WorkspacePreviewPage method createControl.

@Override
public void createControl(Composite parent) {
    setTitle("Preview Changes");
    // $NON-NLS-1$
    setImageDescriptor(Plugin.imageDescriptorFromPlugin("icons/bndtools-wizban.png"));
    imgAdded = AbstractUIPlugin.imageDescriptorFromPlugin(Plugin.PLUGIN_ID, "icons/incoming.gif").createImage(parent.getDisplay());
    imgOverwrite = AbstractUIPlugin.imageDescriptorFromPlugin(Plugin.PLUGIN_ID, "icons/conflict.gif").createImage(parent.getDisplay());
    imgError = AbstractUIPlugin.imageDescriptorFromPlugin(Plugin.PLUGIN_ID, "icons/error_obj.gif").createImage(parent.getDisplay());
    int columns = 4;
    Composite composite = new Composite(parent, SWT.NONE);
    GridLayout layout = new GridLayout(columns, false);
    composite.setLayout(layout);
    setControl(composite);
    Label lblTitle = new Label(composite, SWT.NONE);
    lblTitle.setLayoutData(new GridData(SWT.FILL, SWT.FILL, false, false, columns, 1));
    // Table
    tblOutputs = new Table(composite, SWT.BORDER | SWT.CHECK);
    tblOutputs.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true, columns, 1));
    vwrOutputs = new CheckboxTableViewer(tblOutputs);
    vwrOutputs.setContentProvider(ArrayContentProvider.getInstance());
    vwrOutputs.setLabelProvider(new StyledCellLabelProvider() {

        @Override
        public void update(ViewerCell cell) {
            StyledString label;
            Image icon;
            String path = (String) cell.getElement();
            String error = resourceErrors.get(path);
            if (error != null) {
                label = new StyledString(path, ItalicStyler.INSTANCE_ERROR);
                icon = imgError;
            } else {
                label = new StyledString(path);
                icon = existingFiles.contains(path) ? imgOverwrite : imgAdded;
            }
            cell.setText(path);
            cell.setStyleRanges(label.getStyleRanges());
            cell.setImage(icon);
        }
    });
    vwrOutputs.setSorter(new ViewerSorter(Collator.getInstance()));
    // Details display
    final Label lblDetails = new Label(composite, SWT.NONE);
    lblDetails.setLayoutData(new GridData(SWT.FILL, SWT.FILL, false, false, columns, 1));
    lblDetails.setText(MSG_NOTHING_SELECTED);
    // Button Panel
    Label spacer1 = new Label(composite, SWT.NONE);
    spacer1.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false));
    Button btnSelectNonConflict = new Button(composite, SWT.PUSH);
    btnSelectNonConflict.setText("Select Non-Conflicting");
    btnSelectNonConflict.addSelectionListener(new SelectionAdapter() {

        @Override
        public void widgetSelected(SelectionEvent e) {
            modifyLock.modifyOperation(new Runnable() {

                @Override
                public void run() {
                    checkedPaths.clear();
                    for (Entry<String, Resource> entry : templateOutputs.entries()) {
                        String path = entry.getKey();
                        if (!existingFiles.contains(path))
                            checkedPaths.add(path);
                    }
                    vwrOutputs.setCheckedElements(checkedPaths.toArray());
                }
            });
        }
    });
    Button btnSelectAll = new Button(composite, SWT.PUSH);
    btnSelectAll.setText("Select All");
    btnSelectAll.addSelectionListener(new SelectionAdapter() {

        @Override
        public void widgetSelected(SelectionEvent e) {
            vwrOutputs.setAllChecked(true);
        }
    });
    Button btnSelectNone = new Button(composite, SWT.PUSH);
    btnSelectNone.setText("Select None");
    btnSelectNone.addSelectionListener(new SelectionAdapter() {

        @Override
        public void widgetSelected(SelectionEvent e) {
            vwrOutputs.setAllChecked(false);
        }
    });
    // Listeners
    vwrOutputs.addSelectionChangedListener(new ISelectionChangedListener() {

        @Override
        public void selectionChanged(SelectionChangedEvent event) {
            IStructuredSelection sel = (IStructuredSelection) vwrOutputs.getSelection();
            if (sel.isEmpty()) {
                lblDetails.setText(MSG_NOTHING_SELECTED);
            } else {
                String path = (String) sel.getFirstElement();
                String resourceError = resourceErrors.get(path);
                if (resourceError != null) {
                    lblDetails.setText(resourceError);
                } else if (existingFiles.contains(path)) {
                    lblDetails.setText("This file already exists and will be overwritten");
                } else {
                    lblDetails.setText("This file will be created");
                }
            }
        }
    });
    vwrOutputs.addCheckStateListener(new ICheckStateListener() {

        @Override
        public void checkStateChanged(final CheckStateChangedEvent event) {
            modifyLock.ifNotModifying(new Runnable() {

                @Override
                public void run() {
                    final String updatedPath = (String) event.getElement();
                    if (event.getChecked()) {
                        checkedPaths.add(updatedPath);
                        // Check any directories that are parents of this path
                        modifyLock.modifyOperation(new Runnable() {

                            @Override
                            public void run() {
                                for (Entry<String, Resource> entry : templateOutputs.entries()) {
                                    String path = entry.getKey();
                                    if (path.endsWith("/") && updatedPath.startsWith(path)) {
                                        checkedPaths.add(path);
                                        vwrOutputs.setChecked(path, true);
                                    }
                                }
                            }
                        });
                    } else {
                        checkedPaths.remove(updatedPath);
                        // Uncheck any paths that are descendants of this path
                        if (updatedPath.endsWith("/")) {
                            modifyLock.modifyOperation(new Runnable() {

                                @Override
                                public void run() {
                                    for (Entry<String, Resource> entry : templateOutputs.entries()) {
                                        String path = entry.getKey();
                                        if (path.startsWith(updatedPath)) {
                                            checkedPaths.remove(path);
                                            vwrOutputs.setChecked(path, false);
                                        }
                                    }
                                }
                            });
                        }
                    }
                }
            });
        }
    });
}
Also used : CheckboxTableViewer(org.eclipse.jface.viewers.CheckboxTableViewer) ICheckStateListener(org.eclipse.jface.viewers.ICheckStateListener) Label(org.eclipse.swt.widgets.Label) ViewerSorter(org.eclipse.jface.viewers.ViewerSorter) SelectionChangedEvent(org.eclipse.jface.viewers.SelectionChangedEvent) StyledString(org.eclipse.jface.viewers.StyledString) IStructuredSelection(org.eclipse.jface.viewers.IStructuredSelection) Image(org.eclipse.swt.graphics.Image) GridLayout(org.eclipse.swt.layout.GridLayout) Entry(java.util.Map.Entry) Button(org.eclipse.swt.widgets.Button) SelectionEvent(org.eclipse.swt.events.SelectionEvent) StyledCellLabelProvider(org.eclipse.jface.viewers.StyledCellLabelProvider) Table(org.eclipse.swt.widgets.Table) Composite(org.eclipse.swt.widgets.Composite) SelectionAdapter(org.eclipse.swt.events.SelectionAdapter) ISelectionChangedListener(org.eclipse.jface.viewers.ISelectionChangedListener) Resource(org.bndtools.templating.Resource) StyledString(org.eclipse.jface.viewers.StyledString) ViewerCell(org.eclipse.jface.viewers.ViewerCell) GridData(org.eclipse.swt.layout.GridData) CheckStateChangedEvent(org.eclipse.jface.viewers.CheckStateChangedEvent)

Example 39 with ICheckStateListener

use of org.eclipse.jface.viewers.ICheckStateListener in project tesb-studio-se by Talend.

the class CheckedCamelDependenciesPanel method createTableViewer.

@Override
protected TableViewer createTableViewer() {
    final CheckboxTableViewer viewer = CheckboxTableViewer.newCheckList(this, SWT.MULTI | SWT.H_SCROLL | SWT.V_SCROLL | SWT.BORDER);
    viewer.setCheckStateProvider(checkStateProvider);
    viewer.addCheckStateListener(new ICheckStateListener() {

        @Override
        public void checkStateChanged(CheckStateChangedEvent event) {
            if (((ManifestItem) event.getElement()).isBuiltIn()) {
                viewer.setChecked(event.getElement(), !event.getChecked());
            } else {
                ((ManifestItem) event.getElement()).setOptional(!event.getChecked());
                fireDependenciesChangedListener();
            }
        }
    });
    return viewer;
}
Also used : CheckboxTableViewer(org.eclipse.jface.viewers.CheckboxTableViewer) ICheckStateListener(org.eclipse.jface.viewers.ICheckStateListener) CheckStateChangedEvent(org.eclipse.jface.viewers.CheckStateChangedEvent)

Example 40 with ICheckStateListener

use of org.eclipse.jface.viewers.ICheckStateListener in project applause by applause.

the class GeneratorFragmentSelectionWizardPage method createControl.

/**
 * Create contents of the wizard.
 * @param parent
 */
public void createControl(Composite parent) {
    Composite container = new Composite(parent, SWT.NULL);
    setControl(container);
    container.setLayout(new GridLayout(1, false));
    checkboxTableViewer = CheckboxTableViewer.newCheckList(container, SWT.BORDER | SWT.FULL_SELECTION);
    table = checkboxTableViewer.getTable();
    GridData gd_table = new GridData(SWT.LEFT, SWT.CENTER, true, false, 1, 1);
    gd_table.heightHint = 272;
    gd_table.widthHint = 581;
    table.setLayoutData(gd_table);
    checkboxTableViewer.setLabelProvider(new TableLabelProvider());
    checkboxTableViewer.setContentProvider(new ArrayContentProvider());
    checkboxTableViewer.setInput(BuildStrategyRegistry.getSupportedMobilePlatforms());
    checkboxTableViewer.addCheckStateListener((new ICheckStateListener() {

        @Override
        public void checkStateChanged(CheckStateChangedEvent event) {
            validatePage();
        }
    }));
}
Also used : GridLayout(org.eclipse.swt.layout.GridLayout) Composite(org.eclipse.swt.widgets.Composite) ICheckStateListener(org.eclipse.jface.viewers.ICheckStateListener) GridData(org.eclipse.swt.layout.GridData) ArrayContentProvider(org.eclipse.jface.viewers.ArrayContentProvider) ITableLabelProvider(org.eclipse.jface.viewers.ITableLabelProvider) CheckStateChangedEvent(org.eclipse.jface.viewers.CheckStateChangedEvent)

Aggregations

ICheckStateListener (org.eclipse.jface.viewers.ICheckStateListener)101 CheckStateChangedEvent (org.eclipse.jface.viewers.CheckStateChangedEvent)97 GridData (org.eclipse.swt.layout.GridData)62 Composite (org.eclipse.swt.widgets.Composite)48 GridLayout (org.eclipse.swt.layout.GridLayout)44 SelectionEvent (org.eclipse.swt.events.SelectionEvent)40 SelectionAdapter (org.eclipse.swt.events.SelectionAdapter)34 Label (org.eclipse.swt.widgets.Label)32 CheckboxTreeViewer (org.eclipse.jface.viewers.CheckboxTreeViewer)31 Button (org.eclipse.swt.widgets.Button)30 CheckboxTableViewer (org.eclipse.jface.viewers.CheckboxTableViewer)22 Viewer (org.eclipse.jface.viewers.Viewer)21 Table (org.eclipse.swt.widgets.Table)21 ArrayList (java.util.ArrayList)19 TableColumn (org.eclipse.swt.widgets.TableColumn)17 ISelectionChangedListener (org.eclipse.jface.viewers.ISelectionChangedListener)16 SelectionChangedEvent (org.eclipse.jface.viewers.SelectionChangedEvent)16 Event (org.eclipse.swt.widgets.Event)16 Listener (org.eclipse.swt.widgets.Listener)15 List (java.util.List)13