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

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

Introduction

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

Prototype

public CheckboxTableViewer(Table table) 

Source Link

Document

Creates a table viewer on the given table control.

Usage

From source file:fr.opensagres.eclipse.jsbuild.ui.launchConfigurations.AbstractJSBUildFileTasksTab.java

License:Open Source License

/**
 * Creates the table which displays the available targets
 * // w w w .j a  va  2s  . c om
 * @param parent
 *            the parent composite
 */
private void createTargetsTable(Composite parent) {
    Font font = parent.getFont();
    Label label = new Label(parent, SWT.NONE);
    label.setFont(font);
    label.setText(JSBuildFileLaunchConfigurationMessages.AntTargetsTab_Check_targets_to_e_xecute__1);

    final Table table = new Table(parent, SWT.CHECK | SWT.BORDER | SWT.FULL_SELECTION);

    GridData data = new GridData(GridData.FILL_BOTH);
    int availableRows = availableRows(parent);
    data.heightHint = table.getItemHeight() * (availableRows / 20);
    data.widthHint = 250;
    table.setLayoutData(data);
    table.setFont(font);

    table.setHeaderVisible(true);
    table.setLinesVisible(true);

    TableLayout tableLayout = new TableLayout();
    ColumnWeightData weightData = new ColumnWeightData(100, true);
    tableLayout.addColumnData(weightData);
    //      weightData = new ColumnWeightData(70, true);
    //      tableLayout.addColumnData(weightData);
    table.setLayout(tableLayout);

    final TableColumn column1 = new TableColumn(table, SWT.NULL);
    column1.setText(JSBuildFileLaunchConfigurationMessages.AntTargetsTab_Name_5);

    //final TableColumn column2 = new TableColumn(table, SWT.NULL);
    //column2.setText(JSBuildFileLaunchConfigurationMessages.AntTargetsTab_Description_6);

    // TableLayout only sizes columns once. If showing the targets
    // tab as the initial tab, the dialog isn't open when the layout
    // occurs and the column size isn't computed correctly. Need to
    // recompute the size of the columns once all the parent controls
    // have been created/sized.
    // HACK Bug 139190
    //      getShell().addShellListener(new ShellAdapter() {
    //         @Override
    //         public void shellActivated(ShellEvent e) {
    //            if (!table.isDisposed()) {
    //               int tableWidth = table.getSize().x;
    //               if (tableWidth > 0) {
    //                  int c1 = tableWidth / 3;
    //                  column1.setWidth(c1);
    //                  //column2.setWidth(tableWidth - c1);
    //               }
    //               getShell().removeShellListener(this);
    //            }
    //         }
    //      });

    fTableViewer = new CheckboxTableViewer(table);
    fTableViewer.setLabelProvider(getLabelProvider());
    fTableViewer.setContentProvider(getContentProvider());
    fTableViewer.setComparator(new AntTargetsComparator());

    fTableViewer.addDoubleClickListener(new IDoubleClickListener() {
        @Override
        public void doubleClick(DoubleClickEvent event) {
            ISelection selection = event.getSelection();
            if (!selection.isEmpty() && selection instanceof IStructuredSelection) {
                IStructuredSelection ss = (IStructuredSelection) selection;
                Object element = ss.getFirstElement();
                boolean checked = !fTableViewer.getChecked(element);
                fTableViewer.setChecked(element, checked);
                updateOrderedTargets(element, checked);
            }
        }
    });

    fTableViewer.addCheckStateListener(new ICheckStateListener() {
        @Override
        public void checkStateChanged(CheckStateChangedEvent event) {
            updateOrderedTargets(event.getElement(), event.getChecked());
        }
    });

    TableColumn[] columns = fTableViewer.getTable().getColumns();
    for (int i = 0; i < columns.length; i++) {
        final int index = i;
        columns[index].addSelectionListener(new SelectionAdapter() {
            @Override
            public void widgetSelected(SelectionEvent e) {
                if (fSortButton.getSelection()) {
                    // index 0 => sort_name (1)
                    // index 1 => sort_description (2)
                    int column = index + 1;
                    if (column == fSortDirection) {
                        column = -column; // invert the sort when the same
                                          // column is selected twice in a
                                          // row
                    }
                    setSort(column);
                }
            }
        });
    }
}

From source file:gov.redhawk.frontend.ui.wizard.AllocateMultipleRxDigitizerWizardPage.java

License:Open Source License

private void createGroupControls(Composite parent) {
    GridLayoutFactory.fillDefaults().applyTo(parent);
    Table table = new Table(parent, SWT.CHECK | SWT.MULTI);
    addColumns(table);/*from  w  ww  .j a  v a2s .co  m*/
    table.setHeaderVisible(true);
    CheckboxTableViewer viewer = new CheckboxTableViewer(table);
    GridDataFactory.fillDefaults().grab(true, true).applyTo(viewer.getControl());
    viewer.setContentProvider(new IStructuredContentProvider() {

        @Override
        public void dispose() {
            // TODO Auto-generated method stub

        }

        @Override
        public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {
            // TODO Auto-generated method stub

        }

        @Override
        public Object[] getElements(Object inputElement) {
            if (inputElement instanceof TunerStatus[]) {
                return (TunerStatus[]) inputElement;
            }
            return Collections.emptyList().toArray(new Object[0]);
        }

    });
    viewer.setLabelProvider(new ITableLabelProvider() {

        @Override
        public void addListener(ILabelProviderListener listener) {
            // TODO Auto-generated method stub

        }

        @Override
        public void dispose() {
            // TODO Auto-generated method stub

        }

        @Override
        public boolean isLabelProperty(Object element, String property) {
            // TODO Auto-generated method stub
            return false;
        }

        @Override
        public void removeListener(ILabelProviderListener listener) {
            // TODO Auto-generated method stub

        }

        @Override
        public Image getColumnImage(Object element, int columnIndex) {
            // TODO Auto-generated method stub
            return null;
        }

        @Override
        public String getColumnText(Object element, int columnIndex) {
            String retVal = "";
            switch (columnIndex) {
            case 0:
                retVal = ((TunerStatus) element).getTunerID();
                break;
            case 1:
                retVal = ((TunerStatus) element).getRfFlowID();
                if (retVal == null || "".equals(retVal)) {
                    retVal = "[None]";
                }
                break;
            case 2:
                retVal = String.valueOf(((TunerStatus) element).getCenterFrequency());
                break;
            case 3:
                retVal = String.valueOf(((TunerStatus) element).getBandwidth());
                break;
            default:
            }
            return retVal;
        }

    });
    viewer.addCheckStateListener(new ICheckStateListener() {

        @Override
        public void checkStateChanged(CheckStateChangedEvent event) {
            if (event.getChecked()) {
                ((TunerAllocationDetailWizard) getWizard()).addTuner((TunerStatus) event.getElement());
            } else {
                ((TunerAllocationDetailWizard) getWizard()).removeTuner((TunerStatus) event.getElement());
            }
            setPageComplete(validate());
        }

    });
    viewer.setInput(tuners);
    setPageComplete(validate());
}

From source file:gov.redhawk.ide.codegen.frontend.ui.FrontEndDeviceUIUtils.java

License:Open Source License

public CheckboxTableViewer getCheckboxTableViewer(Composite parent) {
    CheckboxTableViewer theTableViewer = new CheckboxTableViewer(
            createTable(parent, SWT.CHECK | SWT.BORDER | SWT.FULL_SELECTION | SWT.V_SCROLL | SWT.H_SCROLL));
    theTableViewer.getControl().setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));
    theTableViewer.setSorter(getTableSorter());

    addColumns(theTableViewer);//w  w  w. ja  v  a 2s .c o  m

    return theTableViewer;
}

From source file:gov.redhawk.ide.codegen.jet.java.ui.JavaJetGeneratorPropertiesComposite.java

License:Open Source License

/**
 * Creates the properties entry.//  ww  w  .  j ava 2  s.c  o m
 * 
 * @param client the client
 * @param toolkit the toolkit
 * @param actionBars the action bars
 * @since 8.0
 */
@Override
protected void createPropertiesArea() {
    this.packageNameEntry = new FormEntry(this, this.getToolkit(), "Package:", SWT.SINGLE);
    this.packageNameEntry.getText().setToolTipText("Package name for the classes to be created.");

    final Label label = this.getToolkit().createLabel(this, "Properties:");
    label.setForeground(this.getToolkit().getColors().getColor(IFormColors.TITLE));
    label.setLayoutData(GridDataFactory.fillDefaults().align(SWT.LEFT, SWT.TOP).create());
    final Composite tableComp = this.getToolkit().createComposite(this, SWT.NULL);
    final GridLayout layout = SWTUtil.TABLE_ENTRY_LAYOUT_FACTORY.create();
    tableComp.setLayout(layout);
    tableComp.setLayoutData(GridDataFactory.fillDefaults().span(2, 1).indent(2, 0).hint(SWT.DEFAULT, 60)
            .grab(true, true).create()); // SUPPRESS CHECKSTYLE MagicNumber

    this.propertiesViewer = new CheckboxTableViewer(
            new Table(tableComp, SWT.BORDER | SWT.CHECK | SWT.READ_ONLY));
    this.propertiesViewer.setContentProvider(new ArrayContentProvider());

    ColumnViewerToolTipSupport.enableFor(this.propertiesViewer);
    this.propertiesViewer.setContentProvider(new ArrayContentProvider());

    final CellLabelProvider labelProvider = new CellLabelProvider() {

        public String getText(final Object element) {
            String text = "";

            if (element instanceof Property) {
                if (((Property) element).getId().length() != 0) {
                    final ICodeGeneratorDescriptor generator = RedhawkCodegenActivator
                            .getCodeGeneratorsRegistry().findCodegen(JavaJetGeneratorPropertiesComposite.this
                                    .getImplSettings().getGeneratorId());
                    final ITemplateDesc template = getTemplateDesc(generator);

                    if (template != null) {
                        for (final IPropertyDescriptor propDesc : template.getPropertyDescriptors()) {
                            if (propDesc.getKey().equals(((Property) element).getId())) {
                                text = propDesc.getName();
                                break;
                            }
                        }
                    }
                } else {
                    text = ((Property) element).getId();
                }
            }
            return text;
        }

        @Override
        public String getToolTipText(final Object element) {
            String text = "No description available for this property";

            if (element instanceof Property) {
                if (((Property) element).getId().length() != 0) {
                    final ICodeGeneratorDescriptor generator = RedhawkCodegenActivator
                            .getCodeGeneratorsRegistry().findCodegen(JavaJetGeneratorPropertiesComposite.this
                                    .getImplSettings().getGeneratorId());
                    final ITemplateDesc template = getTemplateDesc(generator);

                    if (template != null) {
                        for (final IPropertyDescriptor propDesc : template.getPropertyDescriptors()) {
                            if (propDesc.getKey().equals(((Property) element).getId())) {
                                text = propDesc.getDescription();
                                break;
                            }
                        }
                    }
                }
            }
            return text;
        }

        @Override
        public Point getToolTipShift(final Object object) {
            return new Point(5, 5); // SUPPRESS CHECKSTYLE MagicNumber
        }

        @Override
        public int getToolTipDisplayDelayTime(final Object object) {
            return JavaJetGeneratorPropertiesComposite.TOOLTIP_DELAY_MILLIS;
        }

        @Override
        public int getToolTipTimeDisplayed(final Object object) {
            return JavaJetGeneratorPropertiesComposite.TOOLTIP_DISPLAY_TIME_MILLIS;
        }

        @Override
        public void update(final ViewerCell cell) {
            cell.setText(getText(cell.getElement()));
        }
    };

    this.propertiesViewer.setLabelProvider(labelProvider);
    this.propertiesViewer.getControl()
            .setLayoutData(GridDataFactory.fillDefaults().span(2, 2).grab(true, true).create());
}

From source file:gov.redhawk.ide.codegen.jet.java.ui.JavaJetGeneratorPropertiesWizardPage.java

License:Open Source License

/**
 * {@inheritDoc}/*from  w w  w  . j  a  v a 2  s. c  o m*/
 */
@Override
public void createControl(final Composite parent) {
    final Composite client = new Composite(parent, SWT.NULL);
    client.setLayout(new GridLayout(2, false));

    Label label;

    final GridDataFactory labelFactory = GridDataFactory.fillDefaults().align(SWT.LEFT, SWT.FILL);

    label = new Label(client, SWT.NULL);
    label.setText("Generator:");
    label.setLayoutData(labelFactory.create());
    this.generatorLabel = new Text(client, SWT.READ_ONLY | SWT.SINGLE | SWT.BORDER);
    this.generatorLabel.setEnabled(false);
    this.generatorLabel.setLayoutData(GridDataFactory.fillDefaults().grab(true, false).create());

    label = new Label(client, SWT.NULL);
    label.setText("Template:");
    this.templateViewer = new ComboViewer(client, SWT.BORDER | SWT.SINGLE | SWT.READ_ONLY | SWT.DROP_DOWN);
    this.templateViewer.getControl()
            .setLayoutData(new GridData(GridData.FILL_HORIZONTAL | GridData.GRAB_HORIZONTAL));
    this.templateViewer.setContentProvider(new ArrayContentProvider());
    this.templateViewer.setLabelProvider(new LabelProvider() {
        /**
         * {@inheritDoc}
         */
        @Override
        public String getText(final Object element) {
            if (element instanceof ITemplateDesc) {
                return ((ITemplateDesc) element).getName();
            }
            return super.getText(element);
        }
    });
    this.templateViewer.addSelectionChangedListener(new ISelectionChangedListener() {
        @Override
        public void selectionChanged(final SelectionChangedEvent event) {
            final ITemplateDesc desc = (ITemplateDesc) ((IStructuredSelection) event.getSelection())
                    .getFirstElement();
            if (desc != null) {
                if (desc != JavaJetGeneratorPropertiesWizardPage.this.selectedTemplate) {
                    JavaJetGeneratorPropertiesWizardPage.this.selectedTemplate = desc;

                    // Remove the old templates properties
                    final EList<Property> properties = JavaJetGeneratorPropertiesWizardPage.this.implSettings
                            .getProperties();
                    if (properties.size() != 0) {
                        properties.clear();
                    }

                    JavaJetGeneratorPropertiesWizardPage.this.packageName = null;

                    final List<IPropertyDescriptor> propList = new ArrayList<IPropertyDescriptor>();

                    // Add the new templates properties
                    for (final IPropertyDescriptor value : desc.getPropertyDescriptors()) {
                        final Property p = CodegenFactory.eINSTANCE.createProperty();
                        if (!value.isDeprecated()) {
                            p.setId(value.getKey());
                            p.setValue(value.getDefaultValue());
                            properties.add(p);

                            if (!JavaGeneratorProperties.PROP_PACKAGE.equals(value.getKey())) {
                                propList.add(value);
                            } else {
                                p.setValue(JavaGeneratorProperties.getPackage(
                                        JavaJetGeneratorPropertiesWizardPage.this.softPkg,
                                        JavaJetGeneratorPropertiesWizardPage.this.impl,
                                        JavaJetGeneratorPropertiesWizardPage.this.implSettings));
                                JavaJetGeneratorPropertiesWizardPage.this.packageName = p;
                            }
                        }
                    }

                    // Update the properties displayed
                    JavaJetGeneratorPropertiesWizardPage.this.propertiesViewer.setInput(propList);

                    // Unbind the old properties and bind the new ones
                    if (JavaJetGeneratorPropertiesWizardPage.this.propBinding != null) {
                        JavaJetGeneratorPropertiesWizardPage.this.bindings
                                .remove(JavaJetGeneratorPropertiesWizardPage.this.propBinding);
                    }
                    JavaJetGeneratorPropertiesWizardPage.this.propBinding = createPropertyBinding();
                    JavaJetGeneratorPropertiesWizardPage.this.bindings
                            .add(JavaJetGeneratorPropertiesWizardPage.this.propBinding);
                }

                // Save the new template and update the tooltip
                JavaJetGeneratorPropertiesWizardPage.this.implSettings.setTemplate(desc.getId());
                JavaJetGeneratorPropertiesWizardPage.this.templateViewer.getCombo()
                        .setToolTipText(desc.getDescription());
            } else {
                JavaJetGeneratorPropertiesWizardPage.this.implSettings.setTemplate(null);
            }
        }
    });

    label = new Label(client, SWT.NULL);
    label.setText("Output Directory:");
    this.outputDirText = new Text(client, SWT.BORDER);
    this.outputDirText.setLayoutData(new GridData(GridData.FILL_HORIZONTAL | GridData.GRAB_HORIZONTAL));

    label = new Label(client, SWT.NULL);
    label.setText("Package:");
    label.setLayoutData(labelFactory.create());
    this.packageNameText = new Text(client, SWT.SINGLE | SWT.BORDER);
    this.packageNameText.setLayoutData(GridDataFactory.fillDefaults().grab(true, false).create());

    createExtraArea(client, labelFactory, ((GridLayout) client.getLayout()).numColumns);

    label = new Label(client, SWT.NULL);
    label.setText("Properties:");
    label.setLayoutData(GridDataFactory.fillDefaults().align(SWT.LEFT, SWT.TOP).create());

    this.propertiesViewer = new CheckboxTableViewer(new Table(client, SWT.CHECK | SWT.READ_ONLY | SWT.BORDER));
    ColumnViewerToolTipSupport.enableFor(this.propertiesViewer);
    this.propertiesViewer.setContentProvider(new ArrayContentProvider());

    final CellLabelProvider labelProvider = new CellLabelProvider() {

        public String getText(final Object element) {
            String text = "";
            if (element instanceof IPropertyDescriptor) {
                if (((IPropertyDescriptor) element).getName().length() != 0) {
                    text = ((IPropertyDescriptor) element).getName();
                } else {
                    text = ((IPropertyDescriptor) element).getKey();
                }
            }
            return text;
        }

        @Override
        public String getToolTipText(final Object element) {
            String text = "No description available for this property";
            if (element instanceof IPropertyDescriptor) {
                final String desc = ((IPropertyDescriptor) element).getDescription();
                if (desc != null && desc.length() != 0) {
                    text = desc;
                }
            }
            return text;
        }

        @Override
        public Point getToolTipShift(final Object object) {
            return new Point(5, 5); // SUPPRESS CHECKSTYLE MagicNumber
        }

        @Override
        public int getToolTipDisplayDelayTime(final Object object) {
            return JavaJetGeneratorPropertiesWizardPage.TOOLTIP_DELAY_MILLIS;
        }

        @Override
        public int getToolTipTimeDisplayed(final Object object) {
            return JavaJetGeneratorPropertiesWizardPage.TOOLTIP_DISPLAY_TIME_MILLIS;
        }

        @Override
        public void update(final ViewerCell cell) {
            cell.setText(getText(cell.getElement()));
        }
    };

    this.propertiesViewer.setLabelProvider(labelProvider);
    this.propertiesViewer.setFilters(createPropertiesViewerFilter());
    this.propertiesViewer.getControl()
            .setLayoutData(GridDataFactory.fillDefaults().span(1, 2).grab(false, true).create());

    if (this.configured) {
        bind();
    }
    this.created = true;

    setControl(client);
}

From source file:gov.redhawk.ide.codegen.ui.BooleanGeneratorPropertiesComposite.java

License:Open Source License

/**
 * {@inheritDoc}//www .ja v  a  2s.  c  o m
 * 
 * @since 6.0
 */
@Override
protected void createPropertiesArea() {
    final Label label = this.getToolkit().createLabel(this, "Properties:");
    label.setForeground(this.getToolkit().getColors().getColor(IFormColors.TITLE));
    label.setLayoutData(GridDataFactory.fillDefaults().align(SWT.LEFT, SWT.TOP).create());
    final Composite tableComp = this.getToolkit().createComposite(this, SWT.NULL);
    final GridLayout layout = SWTUtil.TABLE_ENTRY_LAYOUT_FACTORY.create();
    tableComp.setLayout(layout);
    tableComp.setLayoutData(GridDataFactory.fillDefaults().span(2, 1).indent(2, 0).grab(true, true).create());

    this.propertiesViewer = new CheckboxTableViewer(
            new Table(tableComp, SWT.BORDER | SWT.CHECK | SWT.READ_ONLY));
    this.propertiesViewer.setContentProvider(new ArrayContentProvider());

    ColumnViewerToolTipSupport.enableFor(this.propertiesViewer);
    final CellLabelProvider labelProvider = new CellLabelProvider() {

        public String getText(final Object element) {
            String text = "";

            if (element instanceof Property) {
                if (((Property) element).getId().length() != 0) {
                    final ICodeGeneratorDescriptor generator = RedhawkCodegenActivator
                            .getCodeGeneratorsRegistry().findCodegen(BooleanGeneratorPropertiesComposite.this
                                    .getImplSettings().getGeneratorId());
                    final ITemplateDesc template = getTemplateDesc(generator);

                    if (template != null) {
                        for (final IPropertyDescriptor propDesc : template.getPropertyDescriptors()) {
                            if (propDesc.getKey().equals(((Property) element).getId())) {
                                text = propDesc.getName();
                                break;
                            }
                        }
                    }
                } else {
                    text = ((Property) element).getId();
                }
            }
            return text;
        }

        @Override
        public String getToolTipText(final Object element) {
            String text = "No description available for this property";

            if (element instanceof Property) {
                if (((Property) element).getId().length() != 0) {
                    final ICodeGeneratorDescriptor generator = RedhawkCodegenActivator
                            .getCodeGeneratorsRegistry().findCodegen(BooleanGeneratorPropertiesComposite.this
                                    .getImplSettings().getGeneratorId());
                    final ITemplateDesc template = getTemplateDesc(generator);

                    if (template != null) {
                        for (final IPropertyDescriptor propDesc : template.getPropertyDescriptors()) {
                            if (propDesc.getKey().equals(((Property) element).getId())) {
                                text = propDesc.getDescription();
                                break;
                            }
                        }
                    }
                }
            }
            return text;
        }

        @Override
        public Point getToolTipShift(final Object object) {
            return new Point(BooleanGeneratorPropertiesComposite.TOOLTIP_OFFSET,
                    BooleanGeneratorPropertiesComposite.TOOLTIP_OFFSET);
        }

        @Override
        public int getToolTipDisplayDelayTime(final Object object) {
            return BooleanGeneratorPropertiesComposite.TOOLTIP_DELAY_MILLIS;
        }

        @Override
        public int getToolTipTimeDisplayed(final Object object) {
            return BooleanGeneratorPropertiesComposite.TOOLTIP_DISPLAY_TIME_MILLIS;
        }

        @Override
        public void update(final ViewerCell cell) {
            cell.setText(getText(cell.getElement()));
        }
    };

    this.propertiesViewer.setLabelProvider(labelProvider);
    this.propertiesViewer.getControl()
            .setLayoutData(GridDataFactory.fillDefaults().span(2, 2).grab(true, true).create());
}

From source file:gov.redhawk.ide.codegen.ui.BooleanGeneratorPropertiesWizardPage.java

License:Open Source License

/**
 * {@inheritDoc}/*  w w  w. j a  v  a 2  s  .  c o m*/
 */
@Override
public void createControl(final Composite parent) {
    final Composite client = new Composite(parent, SWT.NULL);
    client.setLayout(new GridLayout(2, false));

    Label label;

    final GridDataFactory labelFactory = GridDataFactory.fillDefaults().align(SWT.LEFT, SWT.FILL);

    label = new Label(client, SWT.NULL);
    label.setText("Generator:");
    label.setLayoutData(labelFactory.create());
    this.generatorLabel = new Text(client, SWT.READ_ONLY | SWT.SINGLE | SWT.BORDER);
    this.generatorLabel.setEnabled(false);
    this.generatorLabel.setLayoutData(GridDataFactory.fillDefaults().grab(true, false).create());

    label = new Label(client, SWT.NULL);
    label.setText("Template:");
    this.templateViewer = new ComboViewer(client, SWT.BORDER | SWT.SINGLE | SWT.READ_ONLY | SWT.DROP_DOWN);
    this.templateViewer.getControl()
            .setLayoutData(new GridData(GridData.FILL_HORIZONTAL | GridData.GRAB_HORIZONTAL));
    this.templateViewer.setContentProvider(new ArrayContentProvider());

    this.templateViewer.setLabelProvider(new LabelProvider() {
        /**
         * {@inheritDoc}
         */
        @Override
        public String getText(final Object element) {
            if (element instanceof ITemplateDesc) {
                return ((ITemplateDesc) element).getName();
            }
            return super.getText(element);
        }
    });
    this.templateViewer.addSelectionChangedListener(new ISelectionChangedListener() {
        @Override
        public void selectionChanged(final SelectionChangedEvent event) {
            final ITemplateDesc desc = (ITemplateDesc) ((IStructuredSelection) event.getSelection())
                    .getFirstElement();
            if (desc != null) {
                if (desc != BooleanGeneratorPropertiesWizardPage.this.selectedTemplate) {
                    BooleanGeneratorPropertiesWizardPage.this.selectedTemplate = desc;

                    // Remove the old templates properties
                    final EList<Property> properties = BooleanGeneratorPropertiesWizardPage.this.implSettings
                            .getProperties();
                    if (properties.size() != 0) {
                        properties.clear();
                    }

                    // Add the new templates properties
                    for (final IPropertyDescriptor value : desc.getPropertyDescriptors()) {
                        if (!value.isDeprecated()) {
                            final Property p = CodegenFactory.eINSTANCE.createProperty();
                            p.setId(value.getKey());
                            p.setValue(value.getDefaultValue());
                            properties.add(p);
                        }
                    }

                    // Update the properties displayed
                    BooleanGeneratorPropertiesWizardPage.this.propertiesViewer
                            .setInput(desc.getPropertyDescriptors());

                    // Unbind the old properties and bind the new ones
                    if (BooleanGeneratorPropertiesWizardPage.this.propBinding != null) {
                        BooleanGeneratorPropertiesWizardPage.this.bindings
                                .remove(BooleanGeneratorPropertiesWizardPage.this.propBinding);
                    }
                    BooleanGeneratorPropertiesWizardPage.this.propBinding = createPropertyBinding();
                    BooleanGeneratorPropertiesWizardPage.this.bindings
                            .add(BooleanGeneratorPropertiesWizardPage.this.propBinding);
                }

                // Save the new template and update the tooltip
                BooleanGeneratorPropertiesWizardPage.this.implSettings.setTemplate(desc.getId());
                BooleanGeneratorPropertiesWizardPage.this.templateViewer.getCombo()
                        .setToolTipText(desc.getDescription());
            } else {
                BooleanGeneratorPropertiesWizardPage.this.implSettings.setTemplate(null);
            }
        }
    });

    label = new Label(client, SWT.NULL);
    label.setText("Output Directory:");
    this.outputDirText = new Text(client, SWT.BORDER);
    this.outputDirText.setLayoutData(new GridData(GridData.FILL_HORIZONTAL | GridData.GRAB_HORIZONTAL));

    createExtraArea(client, labelFactory, ((GridLayout) client.getLayout()).numColumns);

    label = new Label(client, SWT.NULL);
    label.setText("Properties:");
    label.setLayoutData(GridDataFactory.fillDefaults().align(SWT.LEFT, SWT.TOP).create());

    this.propertiesViewer = new CheckboxTableViewer(new Table(client, SWT.CHECK | SWT.READ_ONLY | SWT.BORDER));
    ColumnViewerToolTipSupport.enableFor(this.propertiesViewer);
    this.propertiesViewer.setContentProvider(new ArrayContentProvider());
    final ViewerFilter[] filters = new ViewerFilter[1];
    filters[0] = new ViewerFilter() {

        @Override
        public boolean select(Viewer viewer, Object parentElement, Object element) {
            if (element instanceof IPropertyDescriptor) {
                return !((IPropertyDescriptor) element).isDeprecated();
            }
            return true;
        }

    };
    this.propertiesViewer.setFilters(filters);

    final CellLabelProvider labelProvider = new CellLabelProvider() {

        public String getText(final Object element) {
            String text = "";
            if (element instanceof IPropertyDescriptor) {
                if (((IPropertyDescriptor) element).getName().length() != 0) {
                    text = ((IPropertyDescriptor) element).getName();
                } else {
                    text = ((IPropertyDescriptor) element).getKey();
                }
            }
            return text;
        }

        @Override
        public String getToolTipText(final Object element) {
            String text = "No description available for this property";
            if (element instanceof IPropertyDescriptor) {
                if (((IPropertyDescriptor) element).getDescription().length() != 0) {
                    text = ((IPropertyDescriptor) element).getDescription();
                }
            }
            return text;
        }

        @Override
        public Point getToolTipShift(final Object object) {
            return new Point(5, 5); // SUPPRESS CHECKSTYLE MagicNumber
        }

        @Override
        public int getToolTipDisplayDelayTime(final Object object) {
            return BooleanGeneratorPropertiesWizardPage.TOOLTIP_DELAY_MILLIS;
        }

        @Override
        public int getToolTipTimeDisplayed(final Object object) {
            return BooleanGeneratorPropertiesWizardPage.TOOLTIP_DISPLAY_TIME_MILLIS;
        }

        @Override
        public void update(final ViewerCell cell) {
            cell.setText(getText(cell.getElement()));
        }
    };

    this.propertiesViewer.setLabelProvider(labelProvider);
    this.propertiesViewer.getControl()
            .setLayoutData(GridDataFactory.fillDefaults().span(1, 2).grab(false, true).create());

    if (this.configured) {
        bind();
    }
    this.created = true;

    setControl(client);
}

From source file:gov.redhawk.ide.dcd.ui.wizard.ScaNodeProjectDevicesWizardPage.java

License:Open Source License

/**
 * {@inheritDoc}/*from w  ww  .ja v a  2s .  c o m*/
 */
@Override
public void createControl(final Composite parent) {
    // The top-level composite for this page
    final Composite composite = new Composite(parent, SWT.NONE);
    composite.setLayout(new GridLayout(2, false));

    // Top Heading
    final Label directionsLabel = new Label(composite, SWT.NONE);
    directionsLabel.setText("Check the boxes next to the devices to include in this node:");
    GridDataFactory.generate(directionsLabel, 2, 1);

    this.tableViewer = new CheckboxTableViewer(new Table(composite, SWT.CHECK | SWT.BORDER));
    this.tableViewer.getControl().setLayoutData(new GridData(GridData.FILL, GridData.FILL, true, true, 2, 1));

    final ComposedAdapterFactory factory = new ComposedAdapterFactory();
    factory.addAdapterFactory(new SpdItemProviderAdapterFactory());

    this.tableViewer.setContentProvider(new ArrayContentProvider());
    this.tableViewer.setLabelProvider(new DecoratingLabelProvider(new AdapterFactoryLabelProvider(factory),
            PlatformUI.getWorkbench().getDecoratorManager().getLabelDecorator()) {

        @Override
        public String getText(final Object element) {
            if (element instanceof SoftPkgImpl) {
                final SoftPkgImpl softPkg = (SoftPkgImpl) element;
                final URI uri = softPkg.eResource().getURI();
                return softPkg.getName() + " (" + uri.path().replace(uri.lastSegment(), "") + ")";
            }

            return "";
        }

    });
    this.tableViewer.addDoubleClickListener(new IDoubleClickListener() {

        @Override
        public void doubleClick(final DoubleClickEvent event) {
            final StructuredSelection ss = (StructuredSelection) event.getSelection();
            final SoftPkg selected = (SoftPkg) ss.getFirstElement();
            ScaNodeProjectDevicesWizardPage.this.tableViewer.setChecked(selected,
                    !ScaNodeProjectDevicesWizardPage.this.tableViewer.getChecked(selected));
        }
    });
    this.tableViewer.setInput(this.devices);
    this.tableViewer.setCheckedElements(Collections.EMPTY_LIST.toArray());

    setControl(composite);
}

From source file:gov.redhawk.ide.sdr.ui.export.DeployableScaExportWizardPage.java

License:Open Source License

@Override
public void createControl(final Composite parent) {
    this.model = ((DeployableScaExportWizard) getWizard()).getModel();

    final DataBindingContext dbc = new DataBindingContext();
    WizardPageSupport.create(this, dbc);

    setTitle("Deployable SCA");
    setMessage("Export the selected projects into a form suitable for deploying into a OSSIE SDR root");

    final Composite client = new Composite(parent, SWT.NULL);
    client.setLayout(new GridLayout(1, false));

    final Composite projectSelectionGroup = new Composite(client, SWT.NULL);
    projectSelectionGroup.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true, 1, 1));
    projectSelectionGroup.setLayout(new GridLayout(2, false));

    final Label availScaProjects = new Label(projectSelectionGroup, SWT.NONE);
    availScaProjects.setText("Available SCA Projects:");
    availScaProjects.setLayoutData(new GridData(SWT.LEFT, SWT.CENTER, true, false, 2, 1));

    final CheckboxTableViewer availableProjectsViewer = new CheckboxTableViewer(
            new Table(projectSelectionGroup, SWT.CHECK | SWT.READ_ONLY | SWT.BORDER));
    availableProjectsViewer.setContentProvider(new ArrayContentProvider());
    availableProjectsViewer.setLabelProvider(new LabelProvider() {

        @Override/*  w ww. j av  a2s .c  o  m*/
        public String getText(final Object element) {
            return ((IProject) element).getName();
        }

    });
    final IProject[] scaProjects = getScaProjects();
    availableProjectsViewer.setInput(scaProjects);
    availableProjectsViewer.getControl().setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true, 1, 1));

    final Composite buttonBox = new Composite(projectSelectionGroup, SWT.NULL);
    buttonBox.setLayoutData(new GridData(SWT.FILL, SWT.TOP, false, false, 1, 1));
    buttonBox.setLayout(new GridLayout(1, false));

    final Label selectedProjects = new Label(projectSelectionGroup, SWT.NONE);
    selectedProjects.setText(this.model.projectsToExport.size() + " of " + scaProjects.length + " selected.");
    selectedProjects.setLayoutData(new GridData(SWT.LEFT, SWT.CENTER, true, false, 2, 1));
    availableProjectsViewer.addCheckStateListener(new ICheckStateListener() {
        @Override
        public void checkStateChanged(final CheckStateChangedEvent event) {
            selectedProjects.setText(availableProjectsViewer.getCheckedElements().length + " of "
                    + scaProjects.length + " selected.");
        }
    });

    final Button selectAll = new Button(buttonBox, SWT.PUSH);
    selectAll.setText("Select All");
    selectAll.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, false, false, 1, 1));
    selectAll.addSelectionListener(new SelectionListener() {

        @Override
        public void widgetSelected(final SelectionEvent e) {
            availableProjectsViewer.setAllChecked(true);
            DeployableScaExportWizardPage.this.model.projectsToExport.clear();
            DeployableScaExportWizardPage.this.model.projectsToExport.addAll(Arrays.asList(scaProjects));
            selectedProjects.setText(availableProjectsViewer.getCheckedElements().length + " of "
                    + scaProjects.length + " selected.");
        }

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

    final Button selectNone = new Button(buttonBox, SWT.PUSH);
    selectNone.setText("Deselect All");
    selectNone.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, false, false, 1, 1));
    selectNone.addSelectionListener(new SelectionListener() {

        @Override
        public void widgetSelected(final SelectionEvent e) {
            availableProjectsViewer.setAllChecked(false);
            DeployableScaExportWizardPage.this.model.projectsToExport.clear();
            selectedProjects.setText(availableProjectsViewer.getCheckedElements().length + " of "
                    + scaProjects.length + " selected.");
        }

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

    final TabFolder exportCustomization = new TabFolder(client, SWT.TOP);
    exportCustomization.setLayoutData(new GridData(SWT.FILL, SWT.FILL, false, false, 1, 1));

    final Composite destinationComposite = new Composite(exportCustomization, SWT.NONE);
    destinationComposite.setLayout(new GridLayout(2, false));

    final Button directoryRadio = new Button(destinationComposite, SWT.RADIO);
    directoryRadio.setText("Directory:");
    directoryRadio.setLayoutData(new GridData(SWT.LEFT, SWT.CENTER, true, false, 2, 1));
    directoryRadio.setSelection(true);

    final Text directoryText = new Text(destinationComposite, SWT.BORDER);
    directoryText.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false, 1, 1));
    directoryText.setEnabled(true);

    final Button directoryBrowse = new Button(destinationComposite, SWT.PUSH);
    directoryBrowse.setText("Browse...");
    directoryBrowse.setLayoutData(new GridData(SWT.CENTER, SWT.CENTER, false, false, 1, 1));
    directoryBrowse.setEnabled(true);
    directoryBrowse.addSelectionListener(new SelectionListener() {

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

        @Override
        public void widgetSelected(final SelectionEvent e) {
            final DirectoryDialog fd = new DirectoryDialog(
                    PlatformUI.getWorkbench().getDisplay().getActiveShell(), SWT.OPEN);
            fd.setText("Destination Directory");
            fd.setFilterPath(null);
            final String selected = fd.open();
            if (selected != null) {
                directoryText.setText(selected);
                dbc.updateModels();
            }
        }

    });

    directoryRadio.addSelectionListener(new SelectionListener() {

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

        @Override
        public void widgetSelected(final SelectionEvent e) {
            final boolean selected = directoryRadio.getSelection();
            directoryText.setEnabled(selected);
            directoryBrowse.setEnabled(selected);
        }

    });

    final Button archiveRadio = new Button(destinationComposite, SWT.RADIO);
    archiveRadio.setText("Archive file:");
    archiveRadio.setLayoutData(new GridData(SWT.LEFT, SWT.CENTER, true, false, 2, 1));
    archiveRadio.setSelection(false);

    final Text archiveText = new Text(destinationComposite, SWT.BORDER);
    archiveText.setText("");
    archiveText.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false, 1, 1));
    archiveText.setEnabled(false);

    final Button archiveBrowse = new Button(destinationComposite, SWT.PUSH);
    archiveBrowse.setText("Browse...");
    archiveBrowse.setLayoutData(new GridData(SWT.CENTER, SWT.CENTER, false, false, 1, 1));
    archiveBrowse.setEnabled(false);
    archiveBrowse.addSelectionListener(new SelectionListener() {

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

        @Override
        public void widgetSelected(final SelectionEvent e) {
            final FileDialog fd = new FileDialog(PlatformUI.getWorkbench().getDisplay().getActiveShell(),
                    SWT.SAVE);
            fd.setText("Destination Archive");
            fd.setFilterPath(null);
            final String[] filterExt = { "*.zip" };
            fd.setFilterExtensions(filterExt);
            final String selected = fd.open();
            if (selected != null) {
                IPath zippath = new Path(selected);
                if (zippath.getFileExtension() == null) {
                    zippath = zippath.addFileExtension("zip");
                }
                archiveText.setText(zippath.toString());
                dbc.updateModels();
            }
        }

    });

    archiveRadio.addSelectionListener(new SelectionListener() {

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

        @Override
        public void widgetSelected(final SelectionEvent e) {
            final boolean selected = archiveRadio.getSelection();
            archiveText.setEnabled(selected);
            archiveBrowse.setEnabled(selected);
        }

    });

    final TabItem destinationtab = new TabItem(exportCustomization, SWT.NONE);
    destinationtab.setText("Destination");
    destinationtab.setControl(destinationComposite);

    setControl(client);

    bind(dbc, availableProjectsViewer, directoryRadio, directoryText, archiveRadio, archiveText);
}

From source file:gov.redhawk.prf.internal.ui.editor.composite.BasicSimplePropertyComposite.java

License:Open Source License

/**
 * @param propertyComposite//from ww w  .ja v  a2s .  c o m
 * @param toolkit
 * @return 
 */
protected CheckboxTableViewer createKindViewer(final Composite parent, final FormToolkit toolkit) {
    // Kind
    this.kindLabel = toolkit.createLabel(parent, "Kind:");
    this.kindLabel.setForeground(toolkit.getColors().getColor(IFormColors.TITLE));
    this.kindLabel.setLayoutData(GridDataFactory.fillDefaults().align(SWT.BEGINNING, SWT.BEGINNING).create());
    final CheckboxTableViewer viewer = new CheckboxTableViewer(
            toolkit.createTable(parent, SWT.CHECK | SWT.READ_ONLY));
    viewer.setContentProvider(new ArrayContentProvider());
    viewer.setLabelProvider(new LabelProvider() {
        /**
         * {@inheritDoc}
         */
        @Override
        public String getText(final Object element) {
            if (element instanceof PropertyConfigurationType) {
                final PropertyConfigurationType type = (PropertyConfigurationType) element;
                if (type == PropertyConfigurationType.CONFIGURE) {
                    return element.toString() + " (default)";
                }
            }
            return element == null ? "" : element.toString(); //$NON-NLS-1$ // SUPPRESS CHECKSTYLE AvoidInLine
        }
    });
    viewer.addFilter(new ViewerFilter() {

        @Override
        public boolean select(Viewer viewer, Object parentElement, Object element) {
            if (element instanceof PropertyConfigurationType) {
                switch ((PropertyConfigurationType) element) {
                case FACTORYPARAM:
                case TEST:
                    return false;
                default:
                    break;
                }
            }
            return true;
        }
    });
    viewer.setInput(PropertyConfigurationType.values());
    viewer.getControl().setLayoutData(BasicSimplePropertyComposite.FACTORY.create());
    assignTooltip(viewer.getControl(), HelpConstants.prf_properties_simple_kind);
    this.kindViewer = viewer;
    return this.kindViewer;
}