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

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

Introduction

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

Prototype

public TableViewerColumn(TableViewer viewer, TableColumn column) 

Source Link

Document

Creates a new viewer column for the given TableViewer on the given TableColumn .

Usage

From source file:fr.sanofi.fcl4transmart.controllers.BioportalController.java

License:Open Source License

private static TableViewerColumn createTableViewerColumn(String title, int bound, final int colNumber) {
    final TableViewerColumn viewerColumn = new TableViewerColumn(viewer, SWT.NONE);
    final TableColumn column = viewerColumn.getColumn();
    column.setText(title);//w  w  w  . j  av  a2 s  .  co  m
    column.setWidth(bound);
    column.setResizable(true);
    column.setMoveable(true);
    return viewerColumn;
}

From source file:fr.univnantes.termsuite.ui.dialogs.ConfigureTaggerDialog.java

@Override
protected Control createDialogArea(final Composite parent) {
    Composite container = (Composite) super.createDialogArea(parent);
    DataBindingContext dbc = new DataBindingContext();
    FormToolkit toolkit = new FormToolkit(container.getDisplay());
    form = toolkit.createScrolledForm(container);
    GridDataFactory.fillDefaults().grab(true, true).applyTo(container);
    GridDataFactory.fillDefaults().grab(true, true).applyTo(form);
    GridDataFactory.fillDefaults().grab(true, true).applyTo(form.getBody());
    form.getBody().setLayout(new GridLayout());
    //       GridLayoutFactory.fillDefaults().margins(10,  10).numColumns(2).applyTo(form.getBody());
    Section helpSection = toolkit.createSection(form.getBody(), SWT.None);
    helpSection.setText("Help");
    helpSection.setExpanded(true);/*from  www  .j  a  v  a2s .  c  om*/
    GridDataFactory.fillDefaults().grab(true, true).applyTo(helpSection);

    Section configureSection = toolkit.createSection(form.getBody(), Section.TITLE_BAR);
    configureSection.setText("Configure");
    configureSection.setExpanded(true);
    GridDataFactory.fillDefaults().grab(false, false).span(1, 1).applyTo(configureSection);

    Section errorSection = toolkit.createSection(form.getBody(), SWT.None);
    errorSection.setText("Status");
    errorSection.setExpanded(true);
    toolkit.decorateFormHeading(form.getForm());
    toolkit.paintBordersFor(form.getBody());
    GridDataFactory.fillDefaults().grab(false, false).span(1, 1).applyTo(errorSection);

    // Explaination notice
    Composite helpSectionClient = toolkit.createComposite(helpSection);
    helpSection.setClient(helpSectionClient);
    helpSectionClient.setLayout(new GridLayout());
    FormText notice = toolkit.createFormText(helpSectionClient, true);
    GridDataFactory.fillDefaults().hint(400, SWT.DEFAULT).applyTo(notice);
    //       notice.setLayoutData(new TableWrapData(TableWrapData.FILL));
    //      GridDataFactory.fillDefaults().grab(false, false).span(2, 1).applyTo(notice);
    StringBuffer buf = new StringBuffer();
    buf.append("<form>");
    buf.append(
            "<p>Due to license concerns, you need to install a 3rd party POS tagger to your computer. You need to have at least one of the two currently supported taggers installed:</p>");
    buf.append(
            "<li>1. Tree Tagger (recommended) - download TreeTagger and its languages models. See official installation <a href=\"tt\">intructions</a></li>");
    buf.append(
            "<li>2. Mate - download <a href=\"mate\">mate language models</a> (Mate's algorithm is already embedded in TermSuite) </li>");
    buf.append(
            "<p>Once installed, pay a special attention to TermSuite's naming convention for TreeTagger and Mate models.</p>");
    buf.append(
            "<p>For detailed information about 3rd party tagger installation, read TermSuite's official documentation on <a href=\"doc\">installing 3rd party tagger (and lemmatizer)</a></p>");
    buf.append("</form>");
    notice.setText(buf.toString(), true, false);
    FormTextUtil.bindToExternalLink(notice, "doc", TermSuiteUI.WEB_SITE_TAGGER_DOC_URL);
    FormTextUtil.bindToExternalLink(notice, "tt", TermSuiteUI.URL_TREE_TAGGER);
    FormTextUtil.bindToExternalLink(notice, "mate", TermSuiteUI.URL_MATE);

    Composite configureSectionClient = toolkit.createComposite(configureSection);
    configureSection.setClient(configureSectionClient);
    GridLayoutFactory.fillDefaults().margins(10, 10).numColumns(2).applyTo(configureSectionClient);
    // Tagger type
    toolkit.createLabel(configureSectionClient, "3rd party tagger:");
    ComboViewer taggerComboViewer = new ComboViewer(configureSectionClient, SWT.DROP_DOWN);
    //      toolkit.adapt(taggerComboViewer.getControl(), true, true);
    taggerComboViewer.setContentProvider(ArrayContentProvider.getInstance());
    taggerComboViewer.setLabelProvider(new LabelProvider() {
        public String getText(Object element) {
            ETagger tagger = (ETagger) element;
            return TaggerUtil.getTaggerName(tagger);
        };
    });
    taggerComboViewer.setInput(ETagger.VALUES);
    dbc.bindValue(ViewerProperties.singleSelection().observe(taggerComboViewer), EMFProperties
            .value(TermsuiteuiPackage.Literals.ETAGGER_CONFIG__TAGGER_TYPE).observe(this.taggerConfig));

    // Tagger path
    toolkit.createLabel(configureSectionClient, "Path to tagger's installation directory:");
    BrowseDirText taggerPath = new BrowseDirText(configureSectionClient, SWT.NONE);
    toolkit.adapt(taggerPath, true, true);

    GridDataFactory.fillDefaults().grab(true, false).applyTo(taggerPath);
    dbc.bindValue(new BrowseDirText.TextValueProperty().observe(taggerPath),
            EMFProperties.value(TermsuiteuiPackage.Literals.ETAGGER_CONFIG__PATH).observe(this.taggerConfig));

    Composite errorSectionClient = toolkit.createComposite(errorSection);
    errorSection.setClient(errorSectionClient);
    GridLayoutFactory.fillDefaults().margins(10, 10).numColumns(2).applyTo(errorSectionClient);

    GridLayoutFactory.fillDefaults().margins(10, 10).numColumns(2).applyTo(errorSection);
    // Language viewer
    languageLabel = toolkit.createLabel(errorSectionClient,
            "Languages supported by your current tagger's installation:");
    GridDataFactory.fillDefaults().minSize(0, 20).grab(true, true).span(2, 1).applyTo(languageLabel);
    languageViewer = new TableViewer(errorSectionClient, SWT.BORDER);
    GridDataFactory.fillDefaults().minSize(0, 100).grab(true, true).span(2, 1)
            .applyTo(languageViewer.getControl());
    languageViewer.setContentProvider(new ArrayContentProvider());
    TableViewerColumn column1 = new TableViewerColumn(languageViewer, SWT.LEFT);
    column1.getColumn().setWidth(200);
    column1.setLabelProvider(new ColumnLabelProvider() {
        @Override
        public String getText(Object element) {
            return LangUtil.getTermsuiteLang((ELang) element).getName();
        }

        @Override
        public Image getImage(Object element) {
            Image flag = TermsuiteImg.INSTANCE.getFlag((ELang) element);
            return flag;
        }
    });
    toolkit.adapt(languageViewer.getControl(), true, true);

    dbc.updateTargets();
    updateTaggerName();
    return form.getBody();
}

From source file:gda.rcp.views.dashboard.DashboardView.java

License:Open Source License

/**
 * Create contents of the view part/*ww  w.  j  av a2 s.  co m*/
 * 
 * @param parent
 */
@Override
public void createPartControl(Composite parent) {

    final ScrolledComposite scrolledComposite = new ScrolledComposite(parent, SWT.H_SCROLL | SWT.V_SCROLL);
    scrolledComposite.setExpandHorizontal(true);
    scrolledComposite.setExpandVertical(true);

    Composite container = new Composite(scrolledComposite, SWT.NONE);
    container.setLayout(new FillLayout());
    scrolledComposite.setContent(container);

    this.serverViewer = new TableViewer(container, SWT.SINGLE | SWT.H_SCROLL | SWT.V_SCROLL | SWT.BORDER);
    serverViewer.getTable().setLinesVisible(true);
    serverViewer.getTable().setHeaderVisible(true);

    ColumnViewerToolTipSupport.enableFor(serverViewer, ToolTip.NO_RECREATE);

    final TableViewerColumn name = new TableViewerColumn(serverViewer, SWT.NONE);
    name.getColumn().setText("Name");
    name.getColumn().setWidth(150);
    name.setLabelProvider(new TableLabelProvider(0));

    final TableViewerColumn value = new TableViewerColumn(serverViewer, SWT.NONE);
    value.getColumn().setText("Value");
    value.getColumn().setWidth(150);
    value.setLabelProvider(new TableLabelProvider(1));

    this.minColumn = new TableViewerColumn(serverViewer, SWT.NONE);
    minColumn.getColumn().setText("Minimum");
    minColumn.getColumn().setWidth(150);
    minColumn.setLabelProvider(new TableLabelProvider(2));

    this.maxColumn = new TableViewerColumn(serverViewer, SWT.NONE);
    maxColumn.getColumn().setText("Maximum");
    maxColumn.getColumn().setWidth(150);
    maxColumn.setLabelProvider(new TableLabelProvider(3));

    this.desColumn = new TableViewerColumn(serverViewer, SWT.NONE);
    desColumn.getColumn().setText("Description");
    desColumn.getColumn().setWidth(150);
    desColumn.setLabelProvider(new TableLabelProvider(4));

    serverViewer.setColumnProperties(new String[] { "Object Name", "Object Value" });
    serverViewer.setCellEditors(createCellEditors(serverViewer));
    serverViewer.setCellModifier(createModifier(serverViewer));
    createContentProvider();
    serverViewer.setInput(new Object());

    getSite().setSelectionProvider(serverViewer);
    createRightClickMenu();

    GDAClientActivator.getDefault().getPreferenceStore()
            .addPropertyChangeListener(new IPropertyChangeListener() {

                @Override
                public void propertyChange(PropertyChangeEvent event) {
                    if (event.getProperty().equals(PreferenceConstants.DASHBOARD_FORMAT)) {
                        serverViewer.refresh();
                    } else if (event.getProperty().equals(PreferenceConstants.DASHBOARD_BOUNDS)) {
                        updateBoundsColumns();
                    } else if (event.getProperty().equals(PreferenceConstants.DASHBOARD_DESCRIPTION)) {
                        updateDummyColumn();
                    }
                }
            });

    updateBoundsColumns();
    updateDummyColumn();
}

From source file:gda.simplescan.SimpleScanComposite.java

License:Open Source License

public void createDetectors(Composite comp) {
    Composite composite_2 = new Composite(comp, SWT.NONE);
    GridData gd_composite_2 = new GridData(SWT.FILL, SWT.FILL, false, true, 1, 1);
    gd_composite_2.heightHint = 216;/*from   www . j  a va  2  s .c o m*/
    composite_2.setLayoutData(gd_composite_2);
    GridLayout gl_composite_2 = new GridLayout(2, false);
    gl_composite_2.horizontalSpacing = 0;
    gl_composite_2.marginWidth = 0;
    gl_composite_2.marginHeight = 0;
    gl_composite_2.verticalSpacing = 0;
    composite_2.setLayout(gl_composite_2);

    Composite composite_3 = new Composite(composite_2, SWT.NONE);
    GridLayout gl_composite_3 = new GridLayout(1, false);
    gl_composite_3.horizontalSpacing = 2;
    gl_composite_3.verticalSpacing = 2;
    gl_composite_3.marginWidth = 2;
    gl_composite_3.marginHeight = 2;
    composite_3.setLayout(gl_composite_3);
    GridData gd_composite_3 = new GridData(SWT.LEFT, SWT.FILL, false, true, 1, 1);
    gd_composite_3.heightHint = 229;
    composite_3.setLayoutData(gd_composite_3);

    Composite composite_4 = new Composite(composite_2, SWT.NONE);
    composite_4.setLayoutData(new GridData(SWT.FILL, SWT.FILL, false, false, 1, 1));

    lblAcqTime_1 = new Label(composite_3, SWT.CENTER);
    GridData gd_lblAcqTime_1 = new GridData(SWT.CENTER, SWT.TOP, false, false, 1, 1);
    gd_lblAcqTime_1.widthHint = 71;
    lblAcqTime_1.setLayoutData(gd_lblAcqTime_1);
    lblAcqTime_1.setText("Acq Time");

    acqTime = new ScaleBox(composite_3, SWT.NONE);
    ((GridData) acqTime.getControl().getLayoutData()).widthHint = 71;
    acqTime.setLayoutData(new GridData(SWT.LEFT, SWT.TOP, false, false, 1, 1));
    createEmptyLabel(composite_3);

    scan = new Button(composite_3, SWT.NONE);
    scan.setLayoutData(new GridData(SWT.FILL, SWT.BOTTOM, true, true, 1, 1));
    scan.setText("Scan");
    scan.addSelectionListener(new SelectionListener() {
        @Override
        public void widgetSelected(SelectionEvent arg0) {
            performScan();
            scanStatusJob.schedule();
        }

        @Override
        public void widgetDefaultSelected(SelectionEvent arg0) {
        }
    });

    stop = new Button(composite_3, SWT.NONE);
    stop.setLayoutData(new GridData(SWT.FILL, SWT.TOP, true, false, 1, 1));
    stop.setText("Stop");
    stop.addSelectionListener(new SelectionListener() {
        @Override
        public void widgetSelected(SelectionEvent arg0) {
            performStop();
        }

        @Override
        public void widgetDefaultSelected(SelectionEvent arg0) {
        }
    });
    stop.setEnabled(false);
    GridLayout gl_composite_4 = new GridLayout(1, false);
    gl_composite_4.marginHeight = 0;
    gl_composite_4.verticalSpacing = 0;
    gl_composite_4.marginWidth = 0;
    gl_composite_4.horizontalSpacing = 0;
    composite_4.setLayout(gl_composite_4);

    viewer = new TableViewer(composite_4,
            SWT.MULTI | SWT.H_SCROLL | SWT.V_SCROLL | SWT.FULL_SELECTION | SWT.BORDER);

    TableViewerColumn enabledCol = new TableViewerColumn(viewer, SWT.NONE);
    TableColumn enabledColumn = enabledCol.getColumn();
    enabledColumn.setText("Enabled");
    enabledColumn.setWidth(65);
    enabledColumn.setResizable(true);
    enabledColumn.setMoveable(true);

    detEnabled = new EnabledEditingSupport(viewer, bean);

    enabledCol.setLabelProvider(new CellLabelProvider() {
        @Override
        public void update(ViewerCell cell) {
            bean = detEnabled.getBean();
            for (int i = 0; i < bean.getDetectors().size(); i++) {
                if (bean.getDetectors().get(i).getDetectorName().equals(cell.getItem().getData().toString())) {
                    if (bean.getDetectors().get(i).isEnabled())
                        cell.setImage(CHECKED);
                    else
                        cell.setImage(UNCHECKED);
                }
            }

        }
    });
    enabledCol.setEditingSupport(detEnabled);

    TableViewerColumn nameCol = new TableViewerColumn(viewer, SWT.NONE);
    TableColumn nameColumn = nameCol.getColumn();
    nameColumn.setText("Detector Name");
    nameColumn.setWidth(150);
    nameColumn.setResizable(true);
    nameColumn.setMoveable(true);
    nameCol.setLabelProvider(new CellLabelProvider() {
        @Override
        public void update(ViewerCell cell) {
            cell.setText(cell.getItem().getData().toString());
        }
    });

    TableViewerColumn descriptionCol = new TableViewerColumn(viewer, SWT.NONE);
    TableColumn descriptionColumn = descriptionCol.getColumn();
    descriptionColumn.setText("Detector Description");
    descriptionColumn.setWidth(150);
    descriptionColumn.setResizable(true);
    descriptionColumn.setMoveable(true);
    des = new DescriptionEditingSupport(viewer, bean);

    descriptionCol.setLabelProvider(new CellLabelProvider() {
        @Override
        public void update(ViewerCell cell) {
            bean = des.getBean();
            for (int i = 0; i < bean.getDetectors().size(); i++)
                if (bean.getDetectors().get(i).getDetectorName().equals(cell.getItem().getData().toString()))
                    cell.setText(bean.getDetectors().get(i).getDetectorDescription());
        }
    });
    descriptionCol.setEditingSupport(des);

    Table table = viewer.getTable();
    table.setLayoutData(new GridData(SWT.LEFT, SWT.FILL, true, false, 1, 1));
    table.setHeaderVisible(true);
    table.setLinesVisible(true);
    viewer.setContentProvider(new ArrayContentProvider());
    GridData gridData = new GridData();
    gridData.grabExcessHorizontalSpace = false;
    gridData.heightHint = 200;
    gridData.widthHint = 465;
    viewer.getControl().setLayoutData(gridData);
}

From source file:gov.nasa.ensemble.core.plan.resources.ui.view.InconsTableUtils.java

License:Open Source License

public static TableViewerColumn createColumnWithWeight(TableViewer viewer, TableColumnLayout layout,
        String header, int weight) {
    TableViewerColumn column = new TableViewerColumn(viewer, SWT.NONE);
    column.getColumn().setText(header);/* w  ww .  j  a va2s. com*/
    column.getColumn().setAlignment(SWT.CENTER);
    column.getColumn().setMoveable(false);
    layout.setColumnData(column.getColumn(),
            new ColumnWeightData(weight, ColumnWeightData.MINIMUM_WIDTH, false));
    return column;
}

From source file:gov.redhawk.datalist.ui.views.DataListView.java

License:Open Source License

protected void createTable(final int numColumns) {
    if (this.viewer != null) {
        this.viewer.getTable().dispose();
        this.viewer = null;
    }//w w w.  j av a  2 s.c  o  m

    final TableColumnLayout layout = new TableColumnLayout();
    this.tableComposite.setLayout(layout);
    this.viewer = new TableViewer(this.tableComposite,
            SWT.BORDER | SWT.MULTI | SWT.H_SCROLL | SWT.V_SCROLL | SWT.VIRTUAL | SWT.FULL_SELECTION);
    this.viewer.setContentProvider(new ViewContentProvider());
    this.viewer.getTable().setHeaderVisible(true);
    this.viewer.getTable().setLinesVisible(true);
    this.viewer.setUseHashlookup(true);
    ColumnViewerToolTipSupport.enableFor(this.viewer);

    final TableViewerColumn indexColumn = new TableViewerColumn(this.viewer, SWT.CENTER);
    indexColumn.getColumn().setText("Sample ID");
    indexColumn.getColumn().setResizable(true);
    indexColumn.getColumn().setMoveable(false);
    indexColumn.getColumn().setWidth(50);

    indexColumn.getColumn().addSelectionListener(new SelectionListener() {

        /**
         * Called when the index column's header is selected.
         */
        @Override
        public void widgetSelected(SelectionEvent e) {
            selectedIndex = DataCourier.ALL;
        }

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

    indexColumn.setLabelProvider(new IndexColumnLabelProvider());
    layout.setColumnData(indexColumn.getColumn(), new ColumnPixelData(100, true));

    for (int i = 0; i < numColumns; i++) {
        final TableViewerColumn dataColumn = new TableViewerColumn(this.viewer, SWT.CENTER);
        dataColumn.getColumn().setText("Value [" + i + "]");
        dataColumn.getColumn().setResizable(true);
        dataColumn.getColumn().setMoveable(false);
        dataColumn.getColumn().setWidth(75);
        dataColumn.getColumn().setData(i); // i is the dimension of the data w/in this column

        if (numColumns == 2) {
            if (i == 0) {
                dataColumn.getColumn().setText(REAL);
            } else {
                dataColumn.getColumn().setText(IMAGINARY);
            }
        }

        dataColumn.getColumn().addSelectionListener(new SelectionListener() {

            /**
             * Called when the column header is selected.
             */
            @Override
            public void widgetSelected(SelectionEvent e) {
                selectedIndex = (Integer) dataColumn.getColumn().getData();
            }

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

        dataColumn.setLabelProvider(new ValueColumnLabelProvider(i));
        layout.setColumnData(dataColumn.getColumn(), new ColumnWeightData(100, 75, true));
    }

    this.viewer.getControl().setLayoutData(GridDataFactory.fillDefaults().grab(true, true).span(6, 1).create());
    this.viewer.setInput(dataCourier);
    tableComposite.layout(true);
}

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

License:Open Source License

private void addColumns(TableViewer theTableViewer) {
    ColumnViewerToolTipSupport.enableFor(theTableViewer);

    final FrontEndPropLabelProvider lp = new FrontEndPropLabelProvider();

    TableViewerColumn nameIDColumn = new TableViewerColumn(theTableViewer, SWT.NONE);
    nameIDColumn.setLabelProvider(new TreeColumnViewerLabelProvider(lp) {
        @Override//from   ww w.  j  a  v  a2  s . c  o m
        public String getText(Object element) {
            return lp.getColumnText(element, 0);
        }
    });
    nameIDColumn.getColumn().setText("Name/ID");

    TableViewerColumn typeColumn = new TableViewerColumn(theTableViewer, SWT.NONE);
    typeColumn.setLabelProvider(new TreeColumnViewerLabelProvider(lp) {
        @Override
        public String getText(Object element) {
            return lp.getColumnText(element, 1);
        }
    });
    typeColumn.getColumn().setText("Type");

    TableViewerColumn required = new TableViewerColumn(theTableViewer, SWT.NONE);
    required.setLabelProvider(new TreeColumnViewerLabelProvider(lp) {
        @Override
        public String getText(Object element) {
            return lp.getColumnText(element, 2);
        }
    });
    required.getColumn().setText("Required");

    TableViewerColumn descColumn = new TableViewerColumn(theTableViewer, SWT.NONE);
    descColumn.getColumn().setText("Description");
    descColumn.setLabelProvider(new TreeColumnViewerLabelProvider(lp) {

        @Override
        public String getText(Object element) {
            return lp.getColumnText(element, 3);
        }

        @Override
        public int getToolTipDisplayDelayTime(Object object) {
            return 50;
        }

        @Override
        public String getToolTipText(Object element) {
            return getText(element);
        }

        @Override
        public int getToolTipTimeDisplayed(Object object) {
            return 5000;
        }

        @Override
        public boolean useNativeToolTip(Object object) {
            return true;
        }
    });

    theTableViewer.setContentProvider(new ObservableSetContentProvider());
}

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

License:Open Source License

/**
 * Creates the properties entry.//from  ww  w  .  j  a  va  2 s.  c  o  m
 * 
 * @param client the client
 * @param toolkit the toolkit
 * @param actionBars the action bars
 * @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());
    final Table table = new Table(tableComp, SWT.SINGLE | SWT.BORDER | SWT.FULL_SELECTION);
    table.setLayoutData(GridDataFactory.fillDefaults().span(1, DefaultGeneratorPropertiesComposite.NUM_ROWS)
            .grab(true, true).create());
    table.setLinesVisible(true);
    table.setHeaderVisible(true);
    final TableLayout tableLayout = new TableLayout();
    tableLayout.addColumnData(new ColumnWeightData(40, 180, true)); // SUPPRESS CHECKSTYLE MagicNumber
    tableLayout.addColumnData(new ColumnWeightData(60, 70, true)); // SUPPRESS CHECKSTYLE MagicNumber
    table.setLayout(tableLayout);

    final TableColumn idColumn = new TableColumn(table, SWT.NULL);
    idColumn.setText("Name");

    final TableColumn valueColumn = new TableColumn(table, SWT.NULL);
    valueColumn.setText("Value");

    this.propertiesViewer = new TableViewer(table);

    ColumnViewerToolTipSupport.enableFor(this.propertiesViewer);

    final TableViewerColumn idViewer = new TableViewerColumn(this.propertiesViewer, idColumn);
    idViewer.setLabelProvider(new ColumnLabelProvider() {

        @Override
        public String getText(final Object element) {
            String text = "";
            if (element instanceof Property) {
                if (((Property) element).getId().length() != 0) {
                    final ICodeGeneratorDescriptor generator = RedhawkCodegenActivator
                            .getCodeGeneratorsRegistry().findCodegen(DefaultGeneratorPropertiesComposite.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.toString();
            }
            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(DefaultGeneratorPropertiesComposite.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 DefaultGeneratorPropertiesComposite.TOOLTIP_DELAY_MILLIS;
        }

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

    final TableViewerColumn valueViewer = new TableViewerColumn(this.propertiesViewer, valueColumn);
    valueViewer.setLabelProvider(new ColumnLabelProvider() {

        @Override
        public String getText(final Object element) {
            String text = "";
            if (element instanceof Property) {
                final Property prop = (Property) element;
                if (prop.getId().length() != 0) {
                    final ICodeGeneratorDescriptor generator = RedhawkCodegenActivator
                            .getCodeGeneratorsRegistry().findCodegen(DefaultGeneratorPropertiesComposite.this
                                    .getImplSettings().getGeneratorId());
                    final ITemplateDesc template = getTemplateDesc(generator);
                    if (template != null) {
                        for (final IPropertyDescriptor propDesc : template.getPropertyDescriptors()) {
                            if (propDesc.getKey().equals(prop.getId())) {
                                text = propDesc.getDefaultValue();
                                for (final Property tempProp : DefaultGeneratorPropertiesComposite.this
                                        .getImplSettings().getProperties()) {
                                    if (tempProp.getId().equals(prop.getId())) {
                                        text = tempProp.getValue();
                                        break;
                                    }
                                }
                                break;
                            }
                        }
                    }
                }
            }
            return text;
        };
    });

    this.propertiesViewer.setContentProvider(new AdapterFactoryContentProvider(getAdapterFactory()));
    this.propertiesViewer.setComparator(createPropertiesViewerComparator());
    this.propertiesViewer.setFilters(createPropertiesViewerFilter());

    table.setLayoutData(GridDataFactory.fillDefaults().span(1, DefaultGeneratorPropertiesComposite.NUM_ROWS)
            .grab(true, true).create());
    this.addPropertyButton = this.getToolkit().createButton(tableComp, "Add...", SWT.PUSH);
    this.addPropertyButton.setLayoutData(GridDataFactory.fillDefaults().align(SWT.FILL, SWT.TOP).create());
    this.editPropertyButton = this.getToolkit().createButton(tableComp, "Edit", SWT.PUSH);
    this.editPropertyButton.setLayoutData(GridDataFactory.fillDefaults().align(SWT.FILL, SWT.TOP).create());
    this.editPropertyButton.setEnabled(false);
    this.removePropertyButton = this.getToolkit().createButton(tableComp, "Remove", SWT.PUSH);
    this.removePropertyButton.setLayoutData(GridDataFactory.fillDefaults().align(SWT.FILL, SWT.TOP).create());
    this.removePropertyButton.setEnabled(!this.propertiesViewer.getSelection().isEmpty());
    this.propertiesViewer.addSelectionChangedListener(new ISelectionChangedListener() {

        @Override
        public void selectionChanged(final SelectionChangedEvent event) {
            DefaultGeneratorPropertiesComposite.this.removePropertyButton
                    .setEnabled(!event.getSelection().isEmpty());
            DefaultGeneratorPropertiesComposite.this.editPropertyButton
                    .setEnabled(!event.getSelection().isEmpty());
        }
    });

    this.addListeners();
}

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

License:Open Source License

/**
 * {@inheritDoc}/*from  w  w  w .j av a2s  .  co m*/
 */
@Override
public void createControl(final Composite parent) { // SUPPRESS CHECKSTYLE MethodLength
    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 != DefaultGeneratorPropertiesWizardPage.this.selectedTemplate) {
                    DefaultGeneratorPropertiesWizardPage.this.selectedTemplate = desc;

                    // Remove the old templates properties
                    final EList<Property> properties = DefaultGeneratorPropertiesWizardPage.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
                    DefaultGeneratorPropertiesWizardPage.this.propertiesViewer
                            .setInput(desc.getPropertyDescriptors());
                }

                // Save the new template and update the tooltip
                DefaultGeneratorPropertiesWizardPage.this.implSettings.setTemplate(desc.getId());
                DefaultGeneratorPropertiesWizardPage.this.templateViewer.getCombo()
                        .setToolTipText(desc.getDescription());
            } else {
                DefaultGeneratorPropertiesWizardPage.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());
    final Composite tableComp = new Composite(client, SWT.NULL);
    final GridLayout layout = SWTUtil.TABLE_ENTRY_LAYOUT_FACTORY.create();
    tableComp.setLayout(layout);
    tableComp.setLayoutData(GridDataFactory.fillDefaults().span(2, 1).grab(true, true).create());

    final Table table = new Table(tableComp, SWT.SINGLE | SWT.BORDER | SWT.FULL_SELECTION);
    table.setLayoutData(GridDataFactory.fillDefaults().span(1, 3).grab(true, true).create()); // SUPPRESS CHECKSTYLE
    // MagicNumber
    table.setLinesVisible(true);
    table.setHeaderVisible(true);
    final TableLayout tableLayout = new TableLayout();
    tableLayout.addColumnData(new ColumnWeightData(40, 100, true)); // SUPPRESS CHECKSTYLE MagicNumber
    tableLayout.addColumnData(new ColumnWeightData(60, 70, true)); // SUPPRESS CHECKSTYLE MagicNumber
    table.setLayout(tableLayout);

    final TableColumn idColumn = new TableColumn(table, SWT.NULL);
    idColumn.setText("Name");

    final TableColumn valueColumn = new TableColumn(table, SWT.NULL);
    valueColumn.setText("Value");

    this.propertiesViewer = new TableViewer(table);

    ColumnViewerToolTipSupport.enableFor(this.propertiesViewer);

    final TableViewerColumn idViewer = new TableViewerColumn(this.propertiesViewer, idColumn);
    idViewer.setLabelProvider(new ColumnLabelProvider() {

        @Override
        public String getText(final Object element) {
            String text = "";
            if (element instanceof Property) {
                if (((Property) element).getId().length() != 0) {
                    final ICodeGeneratorDescriptor generator = RedhawkCodegenActivator
                            .getCodeGeneratorsRegistry().findCodegen(
                                    DefaultGeneratorPropertiesWizardPage.this.implSettings.getGeneratorId());
                    final ITemplateDesc template = getTemplateDesc(generator);

                    for (final IPropertyDescriptor propDesc : template.getPropertyDescriptors()) {
                        if (propDesc.getKey().equals(((Property) element).getId())) {
                            text = propDesc.getName();
                            break;
                        }
                    }
                }
            }
            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(
                                    DefaultGeneratorPropertiesWizardPage.this.implSettings.getGeneratorId());
                    final ITemplateDesc template = getTemplateDesc(generator);

                    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 DefaultGeneratorPropertiesWizardPage.TOOLTIP_DELAY_MILLIS;
        }

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

    final TableViewerColumn valueViewer = new TableViewerColumn(this.propertiesViewer, valueColumn);
    valueViewer.setLabelProvider(new ColumnLabelProvider() {

        @Override
        public String getText(final Object element) {
            String text = "";
            if (element instanceof Property) {
                final Property prop = (Property) element;
                if (prop.getId().length() != 0) {
                    final ICodeGeneratorDescriptor generator = RedhawkCodegenActivator
                            .getCodeGeneratorsRegistry().findCodegen(
                                    DefaultGeneratorPropertiesWizardPage.this.implSettings.getGeneratorId());
                    final ITemplateDesc template = getTemplateDesc(generator);

                    for (final IPropertyDescriptor propDesc : template.getPropertyDescriptors()) {
                        if (propDesc.getKey().equals(prop.getId())) {
                            text = propDesc.getDefaultValue();
                            for (final Property tempProp : DefaultGeneratorPropertiesWizardPage.this.implSettings
                                    .getProperties()) {
                                if (tempProp.getId().equals(prop.getId())) {
                                    text = tempProp.getValue();
                                    break;
                                }
                            }
                            break;
                        }
                    }
                }
            }
            return text;
        };
    });

    this.propertiesViewer.setContentProvider(new AdapterFactoryContentProvider(getAdapterFactory()));
    this.propertiesViewer.setComparator(createPropertiesViewerComparator());
    this.propertiesViewer.setFilters(createPropertiesViewerFilter());
    this.propertiesViewer.setColumnProperties(new String[] { CodegenPackage.Literals.PROPERTY__ID.getName(),
            CodegenPackage.Literals.PROPERTY__VALUE.getName() });

    final Button addButton = new Button(tableComp, SWT.PUSH);
    addButton.setText("Add...");
    addButton.setLayoutData(GridDataFactory.fillDefaults().align(SWT.FILL, SWT.TOP).create());
    addButton.addSelectionListener(new SelectionAdapter() {
        @Override
        public void widgetSelected(final SelectionEvent e) {
            handleAddProperty();
        }
    });
    final Button editButton = new Button(tableComp, SWT.PUSH);
    editButton.setText("Edit");
    editButton.setLayoutData(GridDataFactory.fillDefaults().align(SWT.FILL, SWT.TOP).create());
    editButton.addSelectionListener(new SelectionAdapter() {
        @Override
        public void widgetSelected(final SelectionEvent e) {
            handleEditProperty();
        }
    });
    editButton.setEnabled(false);
    final Button removeButton = new Button(tableComp, SWT.PUSH);
    removeButton.setText("Remove");
    removeButton.setLayoutData(GridDataFactory.fillDefaults().align(SWT.FILL, SWT.TOP).create());
    removeButton.addSelectionListener(new SelectionAdapter() {
        @Override
        public void widgetSelected(final SelectionEvent e) {
            handleRemoveProperty();
        }
    });
    removeButton.setEnabled(!this.propertiesViewer.getSelection().isEmpty());
    this.propertiesViewer.addSelectionChangedListener(new ISelectionChangedListener() {

        @Override
        public void selectionChanged(final SelectionChangedEvent event) {
            removeButton.setEnabled(!event.getSelection().isEmpty());
            editButton.setEnabled(!event.getSelection().isEmpty());
        }
    });

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

    setControl(client);
    setPageComplete(false);
}

From source file:gov.redhawk.ide.debug.ui.tabs.ImplementationTab.java

License:Open Source License

/**
 * {@inheritDoc}//from   w  w w.  j  a v a  2  s. co m
 */
@Override
public void createControl(final Composite parent) {
    final Composite composite = new Composite(parent, SWT.NONE);
    setControl(composite);
    composite.setFont(parent.getFont());
    composite.setLayout(new FillLayout());

    final TableLayout layout = new TableLayout();
    this.viewer = new TableViewer(composite, SWT.BORDER);
    this.viewer.getTable().setLayout(layout);
    this.viewer.getTable().setHeaderVisible(true);
    this.viewer.getTable().setLinesVisible(true);
    this.viewer.setContentProvider(new IStructuredContentProvider() {

        @Override
        public void inputChanged(final Viewer viewer, final Object oldInput, final Object newInput) {

        }

        @Override
        public void dispose() {

        }

        @Override
        public Object[] getElements(final Object inputElement) {
            if (inputElement instanceof SoftwareAssembly) {
                final SoftwareAssembly localSad = (SoftwareAssembly) inputElement;
                final List<SadComponentInstantiation> retVal = new ArrayList<SadComponentInstantiation>();
                for (final HostCollocation hc : localSad.getPartitioning().getHostCollocation()) {
                    for (final SadComponentPlacement cp : hc.getComponentPlacement()) {
                        retVal.addAll(cp.getComponentInstantiation());
                    }
                }
                for (final SadComponentPlacement cp : localSad.getPartitioning().getComponentPlacement()) {
                    retVal.addAll(cp.getComponentInstantiation());
                }
                return retVal.toArray();
            }
            return new Object[0];
        }
    });
    this.viewer.setInput(this.sad);

    final TableViewerColumn componentColumn = new TableViewerColumn(this.viewer, SWT.CENTER);
    componentColumn.getColumn().setText("Instantiation");
    componentColumn.setLabelProvider(new TreeColumnViewerLabelProvider(new LabelProvider() {
        @Override
        public String getText(final Object element) {
            final SadComponentInstantiation ci = (SadComponentInstantiation) element;
            return ci.getUsageName();
        }
    }));
    layout.addColumnData(new ColumnWeightData(20, 20, true)); //SUPPRESS CHECKSTYLE MagicNumber

    final TableViewerColumn implColumn = new TableViewerColumn(this.viewer, SWT.CENTER);
    implColumn.getColumn().setText("Implementation");
    implColumn.setLabelProvider(new TreeColumnViewerLabelProvider(new LabelProvider() {
        @Override
        public String getText(final Object element) {
            final SadComponentInstantiation ci = (SadComponentInstantiation) element;
            final String implId = ImplementationTab.this.implMap.get(ci.getId());
            final SoftPkg softPkg = ScaEcoreUtils.getFeature(ci, ImplementationTab.SPD_PATH);
            Implementation impl = null;
            if (implId != null) {
                return implId;
            } else if (softPkg != null && !softPkg.getImplementation().isEmpty()) {
                impl = softPkg.getImplementation().get(0);
            }
            if (impl == null) {
                return "";
            } else {
                return impl.getId();
            }
        }
    }));
    implColumn.setEditingSupport(new EditingSupport(this.viewer) {

        @Override
        protected void setValue(final Object element, final Object value) {
            final SadComponentInstantiation ci = (SadComponentInstantiation) element;
            if (value == null) {
                ImplementationTab.this.implMap.remove(ci.getId());
            } else if (value instanceof String) {
                ImplementationTab.this.implMap.put(ci.getId(), value.toString());
            } else if (value instanceof Implementation) {
                ImplementationTab.this.implMap.put(ci.getId(), ((Implementation) value).getId());
            } else {
                ImplementationTab.this.implMap.remove(ci.getId());
            }
            ImplementationTab.this.viewer.refresh(element);
            updateLaunchConfigurationDialog();
        }

        @Override
        protected Object getValue(final Object element) {
            final SadComponentInstantiation ci = (SadComponentInstantiation) element;
            return getImplementation(ci);
        }

        @Override
        protected CellEditor getCellEditor(final Object element) {
            final SadComponentInstantiation ci = (SadComponentInstantiation) element;
            final SoftPkg spd = ScaEcoreUtils.getFeature(ci, ImplementationTab.SPD_PATH);
            final ComboBoxViewerCellEditor editor = new ComboBoxViewerCellEditor(
                    ImplementationTab.this.viewer.getTable(), SWT.READ_ONLY);
            editor.setContentProvider(new ArrayContentProvider());
            editor.setLabelProvider(new AdapterFactoryLabelProvider(ImplementationTab.this.adapterFactory));
            if (spd != null) {
                editor.setInput(spd.getImplementation());
            }
            return editor;
        }

        @Override
        protected boolean canEdit(final Object element) {
            return true;
        }
    });
    layout.addColumnData(new ColumnWeightData(100, 20, true)); //SUPPRESS CHECKSTYLE MagicNumber

}