Example usage for org.eclipse.jface.viewers TableViewer setContentProvider

List of usage examples for org.eclipse.jface.viewers TableViewer setContentProvider

Introduction

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

Prototype

@Override
public void setContentProvider(IContentProvider provider) 

Source Link

Document

Sets the content provider used by this AbstractTableViewer.

Usage

From source file:org.eclipse.fx.ide.jdt.ui.internal.editors.JFXBuildConfigurationEditor.java

License:Open Source License

private void createPageOverview(final AntTask task) {
    Composite composite = new Composite(getContainer(), SWT.NONE);
    FillLayout layout = new FillLayout();
    composite.setLayout(layout);// w  ww  .  ja  v a2s  .c  o m
    PlatformUI.getWorkbench().getHelpSystem().setHelp(composite,
            JavaFXUIPlugin.PLUGIN_ID + ".JFXBuildConfigurationEditor_overview"); //$NON-NLS-1$

    this.bean.setValue(task);

    this.toolkit = new FormToolkit(composite.getDisplay());

    final Form form = this.toolkit.createForm(composite);
    form.setText("FX Build Configuration");
    form.setImage(getTitleImage());
    form.getBody().setLayout(new FillLayout());
    this.toolkit.decorateFormHeading(form);

    initToolbar(form);

    ScrolledForm scrolledForm = this.toolkit.createScrolledForm(form.getBody());
    scrolledForm.getBody().setLayout(new GridLayout(2, false));
    Composite sectionParent = scrolledForm.getBody();

    this.dbc = new DataBindingContext();
    IWidgetValueProperty textModify = WidgetProperties.text(SWT.Modify);
    IWidgetValueProperty selChange = WidgetProperties.selection();

    {
        Section section = this.toolkit.createSection(sectionParent, Section.DESCRIPTION
                | ExpandableComposite.TITLE_BAR | ExpandableComposite.TWISTIE | ExpandableComposite.EXPANDED);
        section.setText("Build && Package Properties");
        section.setDescription("The following properties are needed to build the JavaFX-Application");
        section.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));

        Composite sectionClient = this.toolkit.createComposite(section);
        sectionClient.setLayout(new GridLayout(4, false));

        {
            this.toolkit.createLabel(sectionClient, "Build Directory*:");
            final Text t = this.toolkit.createText(sectionClient, "", SWT.BORDER); //$NON-NLS-1$
            t.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
            this.toolkit.createButton(sectionClient, "Filesystem ...", SWT.PUSH)
                    .addSelectionListener(new SelectionAdapter() {
                        @Override
                        public void widgetSelected(final SelectionEvent e) {
                            String dir = handleBuildFilesystemDirectorySelection(t.getShell());
                            if (dir != null) {
                                t.setText(dir);
                            }
                        }
                    });
            this.toolkit.createButton(sectionClient, "Workspace ...", SWT.PUSH)
                    .addSelectionListener(new SelectionAdapter() {
                        @Override
                        public void widgetSelected(final SelectionEvent e) {
                            String dir = handleBuildWorkbenchDirectorySelection(t.getShell());
                            if (dir != null) {
                                t.setText(dir);
                            }
                        }
                    });
            IEMFValueProperty prop = EMFEditProperties.value(this.editingDomain, ANT_TASK__BUILD_DIRECTORY);
            this.dbc.bindValue(textModify.observeDelayed(DELAY, t), prop.observeDetail(bean));
        }

        {
            this.toolkit.createLabel(sectionClient, "Vendor name*:");
            Text t = this.toolkit.createText(sectionClient, "", SWT.BORDER); //$NON-NLS-1$
            t.setLayoutData(new GridData(GridData.FILL, GridData.CENTER, true, false, 3, 1));
            IEMFValueProperty prop = EMFEditProperties.value(editingDomain,
                    FeaturePath.fromList(ANT_TASK__DEPLOY, DEPLOY__INFO, INFO__VENDOR));
            this.dbc.bindValue(textModify.observeDelayed(DELAY, t), prop.observeDetail(this.bean));
        }

        {
            this.toolkit.createLabel(sectionClient, "Application title*:");
            Text t = this.toolkit.createText(sectionClient, "", SWT.BORDER); //$NON-NLS-1$
            t.setLayoutData(new GridData(GridData.FILL, GridData.CENTER, true, false, 3, 1));
            IEMFValueProperty prop = EMFEditProperties.value(this.editingDomain,
                    FeaturePath.fromList(ANT_TASK__DEPLOY, DEPLOY__INFO, INFO__TITLE));
            this.dbc.bindValue(textModify.observeDelayed(DELAY, t), prop.observeDetail(this.bean));
        }

        {
            this.toolkit.createLabel(sectionClient, "Application version*:");
            Text t = this.toolkit.createText(sectionClient, "", SWT.BORDER); //$NON-NLS-1$
            t.setLayoutData(new GridData(GridData.FILL, GridData.CENTER, true, false, 3, 1));
            IEMFValueProperty prop = EMFEditProperties.value(this.editingDomain,
                    FeaturePath.fromList(ANT_TASK__DEPLOY, DEPLOY__APPLICATION, APPLICATION__VERSION));
            this.dbc.bindValue(textModify.observeDelayed(DELAY, t), prop.observeDetail(this.bean));
        }

        {
            this.toolkit.createLabel(sectionClient, "Application class*:");
            final Text t = this.toolkit.createText(sectionClient, "", SWT.BORDER); //$NON-NLS-1$
            t.setLayoutData(new GridData(GridData.FILL, GridData.CENTER, true, false, 2, 1));
            Button b = this.toolkit.createButton(sectionClient, "Browse ...", SWT.PUSH);
            b.addSelectionListener(new SelectionAdapter() {
                @Override
                public void widgetSelected(SelectionEvent e) {
                    String name = handleRootclassSelection(t.getShell());
                    if (name != null) {
                        t.setText(name);
                    }
                }
            });
            b.setLayoutData(new GridData(GridData.FILL, GridData.CENTER, false, false));
            IEMFValueProperty prop = EMFEditProperties.value(this.editingDomain,
                    FeaturePath.fromList(ANT_TASK__DEPLOY, DEPLOY__APPLICATION, APPLICATION__MAINCLASS));
            this.dbc.bindValue(textModify.observeDelayed(DELAY, t), prop.observeDetail(this.bean));
        }

        {
            this.toolkit.createLabel(sectionClient, "Preloader class:");
            final Text t = this.toolkit.createText(sectionClient, "", SWT.BORDER); //$NON-NLS-1$
            t.setLayoutData(new GridData(GridData.FILL, GridData.CENTER, true, false, 2, 1));
            Button b = this.toolkit.createButton(sectionClient, "Browse ...", SWT.PUSH);
            b.addSelectionListener(new SelectionAdapter() {
                @Override
                public void widgetSelected(SelectionEvent e) {
                    String name = handlePreloaderclassSelection(t.getShell());
                    if (name != null) {
                        t.setText(name);
                    }
                }
            });
            b.setLayoutData(new GridData(GridData.FILL, GridData.CENTER, false, false));
            IEMFValueProperty prop = EMFEditProperties.value(this.editingDomain,
                    FeaturePath.fromList(ANT_TASK__DEPLOY, DEPLOY__APPLICATION, APPLICATION__PRELOADERCLASS));
            this.dbc.bindValue(textModify.observeDelayed(DELAY, t), prop.observeDetail(this.bean));
        }

        {
            this.toolkit.createLabel(sectionClient, "Splash:");
            final Text t = this.toolkit.createText(sectionClient, "", SWT.BORDER); //$NON-NLS-1$
            t.setLayoutData(new GridData(GridData.FILL, GridData.CENTER, true, false, 2, 1));
            Button b = this.toolkit.createButton(sectionClient, "Browse ...", SWT.PUSH);
            b.addSelectionListener(new SelectionAdapter() {
                @Override
                public void widgetSelected(SelectionEvent e) {
                    String name = handleSplashImage(t.getShell());
                    if (name != null) {
                        t.setText(name);
                    }
                }
            });
            b.setLayoutData(new GridData(GridData.FILL, GridData.CENTER, false, false));
            IEMFValueProperty prop = EMFEditProperties.value(this.editingDomain,
                    FeaturePath.fromList(ANT_TASK__DEPLOY, DEPLOY__SPLASH_IMAGE));
            this.dbc.bindValue(textModify.observeDelayed(DELAY, t), prop.observeDetail(this.bean));
        }

        {
            this.toolkit.createLabel(sectionClient, "Manifest-Attributes:")
                    .setLayoutData(new GridData(GridData.BEGINNING, GridData.BEGINNING, false, false));
            Composite container = this.toolkit.createComposite(sectionClient);
            GridLayout gl = new GridLayout(2, false);
            gl.marginBottom = gl.marginHeight = gl.marginLeft = gl.marginRight = gl.marginTop = gl.marginWidth = 0;
            container.setLayout(gl);
            GridData gdContainer = new GridData(GridData.FILL_HORIZONTAL);
            gdContainer.horizontalSpan = 2;
            container.setLayoutData(gdContainer);

            Composite tableContainer = this.toolkit.createComposite(container);
            Table t = this.toolkit.createTable(tableContainer,
                    SWT.FULL_SELECTION | SWT.H_SCROLL | SWT.V_SCROLL | SWT.BORDER);
            t.setHeaderVisible(true);
            t.setLinesVisible(true);

            GridData gdTable = new GridData(GridData.FILL_HORIZONTAL);
            gdTable.heightHint = t.getHeaderHeight() + t.getItemHeight() * 5;
            tableContainer.setLayoutData(gdTable);

            TableColumnLayout tablelayout = new TableColumnLayout();
            final TableViewer v = new TableViewer(t);
            GridData gd = new GridData(GridData.FILL_HORIZONTAL);
            gd.heightHint = t.getHeaderHeight() + t.getItemHeight() * 5;
            v.getControl().setLayoutData(gd);
            v.setContentProvider(ArrayContentProvider.getInstance());

            {
                TableViewerColumn c = new TableViewerColumn(v, SWT.NONE);
                c.setLabelProvider(new ColumnLabelProvider() {
                    @Override
                    public String getText(final Object element) {
                        return ((Param) element).getName();
                    }
                });
                tablelayout.setColumnData(c.getColumn(), new ColumnWeightData(33));
                c.getColumn().setText("Name");
            }

            {
                TableViewerColumn c = new TableViewerColumn(v, SWT.NONE);
                c.setLabelProvider(new ColumnLabelProvider() {
                    @Override
                    public String getText(final Object element) {
                        return ((Param) element).getValue();
                    }
                });
                tablelayout.setColumnData(c.getColumn(), new ColumnWeightData(67));
                c.getColumn().setText("Value");
            }
            tableContainer.setLayout(tablelayout);
            v.setInput(task.getManifestEntries());

            Composite buttonComp = this.toolkit.createComposite(sectionClient);
            buttonComp.setLayoutData(new GridData(GridData.BEGINNING, GridData.END, false, false));
            buttonComp.setLayout(new GridLayout());

            {
                Button b = this.toolkit.createButton(buttonComp, "Add ...", SWT.PUSH);
                b.setLayoutData(new GridData(GridData.FILL, GridData.BEGINNING, false, false));
                b.addSelectionListener(new SelectionAdapter() {
                    @Override
                    public void widgetSelected(final SelectionEvent e) {
                        if (handleAddManifestAttr(getSite().getShell())) {
                            v.setInput(task.getManifestEntries());
                            v.setSelection(new StructuredSelection(
                                    task.getManifestEntries().get(task.getManifestEntries().size() - 1)));
                        }
                    }
                });
            }

            {
                Button b = toolkit.createButton(buttonComp, "Remove", SWT.PUSH);
                b.setLayoutData(new GridData(GridData.FILL, GridData.BEGINNING, false, false));
                b.addSelectionListener(new SelectionAdapter() {
                    @Override
                    public void widgetSelected(final SelectionEvent e) {
                        Param value = (Param) ((IStructuredSelection) v.getSelection()).getFirstElement();
                        if (value != null) {
                            if (handleRemoveManifestAttr(value)) {
                                v.setInput(task.getManifestEntries());
                            }
                        } else {
                            MessageDialog.openWarning(getSite().getShell(), "Warning",
                                    "Please select an entry");
                        }
                    }
                });
            }
            {
                this.toolkit.createLabel(sectionClient, "Toolkit Type:")
                        .setLayoutData(new GridData(GridData.BEGINNING, GridData.BEGINNING, false, false));
                ComboViewer c = new ComboViewer(sectionClient);
                c.getCombo().setLayoutData(new GridData(GridData.FILL, GridData.CENTER, true, false, 3, 1));
                c.setContentProvider(new ArrayContentProvider());
                c.setInput(ApplicationToolkitType.VALUES);
                IEMFValueProperty prop = EMFEditProperties.value(this.editingDomain,
                        FeaturePath.fromList(ANT_TASK__DEPLOY, DEPLOY__APPLICATION, APPLICATION__TOOLKIT));
                this.dbc.bindValue(selChange.observe(c.getCombo()), prop.observeDetail(this.bean));
            }
            {
                this.toolkit.createLabel(sectionClient, "Packaging Format:")
                        .setLayoutData(new GridData(GridData.BEGINNING, GridData.BEGINNING, false, false));
                ComboViewer c = new ComboViewer(sectionClient);
                c.getCombo().setLayoutData(new GridData(GridData.FILL, GridData.CENTER, true, false, 3, 1));
                c.setContentProvider(new ArrayContentProvider());
                c.setInput(PackagingFormat.VALUES);
                IEMFValueProperty prop = EMFEditProperties.value(this.editingDomain,
                        FeaturePath.fromList(ANT_TASK__DEPLOY, DEPLOY__PACKAGING_FORMAT));
                this.dbc.bindValue(selChange.observe(c.getCombo()), prop.observeDetail(this.bean));
            }
            {
                Button b = this.toolkit.createButton(sectionClient, "automatic Proxy Resolution", SWT.CHECK);
                b.setLayoutData(new GridData(GridData.FILL, GridData.CENTER, true, false, 4, 1));
                IEMFValueProperty prop = EMFEditProperties.value(this.editingDomain,
                        FeaturePath.fromList(ANT_TASK__DEPLOY, DEPLOY__PROXY_RESOLUTION));
                this.dbc.bindValue(selChange.observe(b), prop.observeDetail(this.bean));
            }
            {
                Button b = this.toolkit.createButton(sectionClient, "Convert CSS into binary form", SWT.CHECK);
                b.setLayoutData(new GridData(GridData.FILL, GridData.CENTER, true, false, 4, 1));
                IEMFValueProperty prop = EMFEditProperties.value(this.editingDomain,
                        FeaturePath.fromList(ANT_TASK__CSS_TO_BIN));
                this.dbc.bindValue(selChange.observe(b), prop.observeDetail(this.bean));
            }
            {
                Button b = this.toolkit.createButton(sectionClient,
                        "Enable verbose build mode (Not recommended)", SWT.CHECK);
                b.setLayoutData(new GridData(GridData.FILL, GridData.CENTER, true, false, 4, 1));
                IEMFValueProperty prop = EMFEditProperties.value(this.editingDomain,
                        FeaturePath.fromList(ANT_TASK__DEPLOY, DEPLOY__VERBOSE));
                this.dbc.bindValue(selChange.observe(b), prop.observeDetail(this.bean));
            }
        }

        section.setClient(sectionClient);
    }

    {
        Section section = this.toolkit.createSection(sectionParent, Section.DESCRIPTION
                | ExpandableComposite.TITLE_BAR | ExpandableComposite.TWISTIE | ExpandableComposite.EXPANDED);
        section.setText("Building & Exporting");
        section.setLayoutData(new GridData(GridData.FILL, GridData.FILL, false, true, 1, 2));

        Composite sectionClient = this.toolkit.createComposite(section);
        sectionClient.setLayout(new GridLayout(1, false));

        {
            FormText text = this.toolkit.createFormText(sectionClient, false);
            text.setText(
                    "<p>To generate build instructions and export the project: <li style=\"bullet\" bindent=\"1\">Generate <a href=\"generateAnt\">ant build.xml</a> only</li><li style=\"bullet\" bindent=\"2\">Generate <a href=\"generateAndRun\">ant build.xml and run</a></li>&#160;</p>",
                    true, false);
            text.addHyperlinkListener(new IHyperlinkListener() {

                @Override
                public void linkExited(final HyperlinkEvent e) {
                    // nothing
                }

                @Override
                public void linkEntered(HyperlinkEvent e) {
                    // nothing
                }

                @Override
                public void linkActivated(HyperlinkEvent e) {
                    try {
                        if ("generateAndRun".equals(e.getHref())) { //$NON-NLS-1$
                            executeExport();
                        } else {
                            executeGenerateAnt();
                        }
                    } catch (Exception e1) {
                        // TODO Auto-generated catch block
                        e1.printStackTrace();
                    }
                }
            });
        }

        section.setClient(sectionClient);
    }

    int index = addPage(composite);
    setPageText(index, "Overview");
}

From source file:org.eclipse.fx.ide.jdt.ui.internal.editors.JFXBuildConfigurationEditor.java

License:Open Source License

private void createPageDeploy(final AntTask task) {
    Composite composite = new Composite(getContainer(), SWT.NONE);
    FillLayout layout = new FillLayout();
    composite.setLayout(layout);//ww w.  j  a v a 2 s .  co m
    PlatformUI.getWorkbench().getHelpSystem().setHelp(composite,
            JavaFXUIPlugin.PLUGIN_ID + ".JFXBuildConfigurationEditor_deploy");

    // TODO
    final WritableValue bean = new WritableValue();
    bean.setValue(task);

    this.toolkit = new FormToolkit(composite.getDisplay());

    final Form form = this.toolkit.createForm(composite);
    form.setText("FX Build Configuration");
    form.setImage(getTitleImage());
    form.getBody().setLayout(new FillLayout());
    this.toolkit.decorateFormHeading(form);

    initToolbar(form);

    ScrolledForm scrolledForm = this.toolkit.createScrolledForm(form.getBody());
    scrolledForm.getBody().setLayout(new GridLayout(2, false));
    Composite sectionParent = scrolledForm.getBody();

    IWidgetValueProperty textModify = WidgetProperties.text(SWT.Modify);
    IWidgetValueProperty selChange = WidgetProperties.selection();

    {
        Section section = this.toolkit.createSection(sectionParent,
                Section.DESCRIPTION | Section.TITLE_BAR | Section.TWISTIE | Section.EXPANDED);
        section.setText("Deploy Properties");
        section.setDescription("The following properties are needed to create a Java Webstart Deployment");
        section.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));

        Composite sectionClient = this.toolkit.createComposite(section);
        final int COLUMN_COUNT = 3;
        sectionClient.setLayout(new GridLayout(COLUMN_COUNT, false));

        {
            this.toolkit.createLabel(sectionClient, "Applet Width*:");
            Text t = this.toolkit.createText(sectionClient, "", SWT.BORDER);
            GridData gd = new GridData(GridData.FILL_HORIZONTAL);
            gd.horizontalSpan = COLUMN_COUNT - 1;
            t.setLayoutData(gd);
            IEMFValueProperty prop = EMFEditProperties.value(this.editingDomain,
                    FeaturePath.fromList(ANT_TASK__DEPLOY, DEPLOY__WIDTH));
            this.dbc.bindValue(textModify.observeDelayed(DELAY, t), prop.observeDetail(bean));
        }

        {
            this.toolkit.createLabel(sectionClient, "Applet Height*:");
            Text t = this.toolkit.createText(sectionClient, "", SWT.BORDER);
            GridData gd = new GridData(GridData.FILL_HORIZONTAL);
            gd.horizontalSpan = COLUMN_COUNT - 1;
            t.setLayoutData(gd);
            IEMFValueProperty prop = EMFEditProperties.value(this.editingDomain,
                    FeaturePath.fromList(ANT_TASK__DEPLOY, DEPLOY__HEIGHT));
            this.dbc.bindValue(textModify.observeDelayed(DELAY, t), prop.observeDetail(bean));
        }

        {
            Button b = this.toolkit.createButton(sectionClient, "Embed JNLP", SWT.CHECK);
            b.setLayoutData(new GridData(GridData.FILL, GridData.CENTER, true, false, COLUMN_COUNT, 1));
            IEMFValueProperty prop = EMFEditProperties.value(this.editingDomain,
                    FeaturePath.fromList(ANT_TASK__DEPLOY, DEPLOY__EMBEDJNLP));
            this.dbc.bindValue(selChange.observe(b), prop.observeDetail(bean));
        }

        {
            Button b = this.toolkit.createButton(sectionClient, "Treat files as extensions", SWT.CHECK);
            b.setLayoutData(new GridData(GridData.FILL, GridData.CENTER, true, false, COLUMN_COUNT, 1));
            IEMFValueProperty prop = EMFEditProperties.value(this.editingDomain,
                    FeaturePath.fromList(ANT_TASK__DEPLOY, DEPLOY__EXTENSION));
            this.dbc.bindValue(selChange.observe(b), prop.observeDetail(bean));
        }

        {
            Button b = this.toolkit.createButton(sectionClient, "Include deployment toolkit", SWT.CHECK);
            b.setLayoutData(new GridData(GridData.FILL, GridData.CENTER, true, false, COLUMN_COUNT, 1));
            IEMFValueProperty prop = EMFEditProperties.value(this.editingDomain,
                    FeaturePath.fromList(ANT_TASK__DEPLOY, DEPLOY__INCLUDE_DT));
            this.dbc.bindValue(selChange.observe(b), prop.observeDetail(bean));
        }

        {
            Button b = this.toolkit.createButton(sectionClient, "Offline allowed", SWT.CHECK);
            b.setLayoutData(new GridData(GridData.FILL, GridData.CENTER, true, false, COLUMN_COUNT, 1));
            IEMFValueProperty prop = EMFEditProperties.value(this.editingDomain,
                    FeaturePath.fromList(ANT_TASK__DEPLOY, DEPLOY__OFFLINE_ALLOWED));
            this.dbc.bindValue(selChange.observe(b), prop.observeDetail(bean));
        }

        {
            this.toolkit.createLabel(sectionClient, "Placeholder Ref.*:");
            Text t = this.toolkit.createText(sectionClient, "", SWT.BORDER);
            GridData gd = new GridData(GridData.FILL_HORIZONTAL);
            gd.horizontalSpan = COLUMN_COUNT - 1;
            t.setLayoutData(gd);
            IEMFValueProperty prop = EMFEditProperties.value(this.editingDomain,
                    FeaturePath.fromList(ANT_TASK__DEPLOY, DEPLOY__PLACEHOLDERREF));
            this.dbc.bindValue(textModify.observeDelayed(DELAY, t), prop.observeDetail(bean));
        }

        {
            this.toolkit.createLabel(sectionClient, "Placeholder ID*:");
            Text t = toolkit.createText(sectionClient, "", SWT.BORDER);
            GridData gd = new GridData(GridData.FILL_HORIZONTAL);
            gd.horizontalSpan = COLUMN_COUNT - 1;
            t.setLayoutData(gd);
            IEMFValueProperty prop = EMFEditProperties.value(this.editingDomain,
                    FeaturePath.fromList(ANT_TASK__DEPLOY, DEPLOY__PLACEHOLDERID));
            this.dbc.bindValue(textModify.observeDelayed(DELAY, t), prop.observeDetail(bean));
        }

        {
            this.toolkit.createLabel(sectionClient, "HTML Template:");
            Text t = this.toolkit.createText(sectionClient, "", SWT.BORDER);
            t.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
            IEMFValueProperty prop = EMFEditProperties.value(this.editingDomain,
                    FeaturePath.fromList(ANT_TASK__DEPLOY, DEPLOY__TEMPLATE, TEMPLATE__FILE));
            this.dbc.bindValue(textModify.observeDelayed(DELAY, t), prop.observeDetail(bean));
            Button b = this.toolkit.createButton(sectionClient, "Workspace ...", SWT.NONE);
            b.addSelectionListener(new SelectionAdapter() {
                @Override
                public void widgetSelected(final SelectionEvent e) {
                    FilteredResourcesSelectionDialog d = new FilteredResourcesSelectionDialog(
                            getSite().getShell(), false,
                            ((IFileEditorInput) getEditorInput()).getFile().getProject(), IResource.FILE) {
                        @Override
                        protected IStatus validateItem(final Object item) {
                            IFile f = (IFile) item;
                            if (f.getParent() instanceof IProject) {
                                return new Status(IStatus.ERROR, JavaFXUIPlugin.PLUGIN_ID,
                                        "The selected resource has to be part of the source folder");
                            }
                            if (!f.getName().endsWith(JavaFXUIPlugin.FILEEXTENSION_HTML_TEMPLATE)) {
                                return new Status(IStatus.ERROR, JavaFXUIPlugin.PLUGIN_ID,
                                        "The selected resource does not seem to be a html file");
                            }
                            return super.validateItem(item);
                        }
                    };

                    if (d.open() == Window.OK) {
                        Object[] rv = d.getResult();
                        if (rv.length == 1) {
                            IFile f = (IFile) rv[0];
                            IJavaElement j = JavaCore.create(f.getParent());
                            String template = null;
                            if (j instanceof IPackageFragment) {
                                IPackageFragment p = (IPackageFragment) j;
                                template = p.getElementName().replace('.', '/') + "/" + f.getName(); //$NON-NLS-1$
                            } else if (j instanceof IPackageFragmentRoot) {
                                IPackageFragmentRoot p = (IPackageFragmentRoot) j;
                                template = f.getName();
                            } else {
                                MessageDialog.openInformation(getSite().getShell(), "Not valid",
                                        "The selected resource has to be part of the source folder");
                            }
                            if (template != null) {
                                if (getTask().getDeploy().getTemplate() == null) {
                                    Command cmd = new SetCommand(JFXBuildConfigurationEditor.this.editingDomain,
                                            getTask().getDeploy(), DEPLOY__TEMPLATE,
                                            ParametersFactory.eINSTANCE.createTemplate());
                                    if (cmd.canExecute()) {
                                        cmd.execute();
                                    }
                                }
                                Command cmd = new SetCommand(JFXBuildConfigurationEditor.this.editingDomain,
                                        getTask().getDeploy().getTemplate(), TEMPLATE__FILE, template);
                                if (cmd.canExecute()) {
                                    cmd.execute();
                                }
                            }
                        }
                    }
                }
            });
        }

        {
            this.toolkit.createLabel(sectionClient, "Template Output File:");
            Text t = this.toolkit.createText(sectionClient, "", SWT.BORDER);
            GridData gd = new GridData(GridData.FILL_HORIZONTAL);
            gd.horizontalSpan = COLUMN_COUNT - 1;
            t.setLayoutData(gd);
            IEMFValueProperty prop = EMFEditProperties.value(this.editingDomain,
                    FeaturePath.fromList(ANT_TASK__DEPLOY, DEPLOY__TEMPLATE, TEMPLATE__TO_FILE));
            this.dbc.bindValue(textModify.observeDelayed(DELAY, t), prop.observeDetail(bean));
        }

        {
            this.toolkit.createLabel(sectionClient, "Webstart Splash:")
                    .setLayoutData(new GridData(GridData.BEGINNING, GridData.BEGINNING, false, false));
            Composite container = this.toolkit.createComposite(sectionClient);
            GridLayout gl = new GridLayout(2, false);
            gl.marginBottom = gl.marginHeight = gl.marginLeft = gl.marginRight = gl.marginTop = gl.marginWidth = 0;
            container.setLayout(gl);
            GridData gdContainer = new GridData(GridData.FILL_HORIZONTAL);
            gdContainer.horizontalSpan = COLUMN_COUNT - 1;
            container.setLayoutData(gdContainer);

            Composite tableContainer = this.toolkit.createComposite(container);
            Table t = this.toolkit.createTable(tableContainer,
                    SWT.FULL_SELECTION | SWT.H_SCROLL | SWT.V_SCROLL | SWT.BORDER);
            t.setHeaderVisible(true);
            t.setLinesVisible(true);

            GridData gdTable = new GridData(GridData.FILL_HORIZONTAL);
            gdTable.heightHint = t.getItemHeight() * 5;
            tableContainer.setLayoutData(gdTable);

            TableColumnLayout tablelayout = new TableColumnLayout();

            final TableViewer v = new TableViewer(t);
            GridData gd = new GridData(GridData.FILL_HORIZONTAL);
            gd.heightHint = t.getItemHeight() * 5;
            v.getControl().setLayoutData(gd);
            v.setContentProvider(ArrayContentProvider.getInstance());

            {
                TableViewerColumn c = new TableViewerColumn(v, SWT.NONE);
                c.setLabelProvider(new ColumnLabelProvider() {
                    @Override
                    public String getText(final Object element) {
                        return ((Splash) element).getMode().getName();
                    }
                });
                tablelayout.setColumnData(c.getColumn(), new ColumnWeightData(10, 100, false));
                c.getColumn().setText("Mode");
            }

            {
                TableViewerColumn c = new TableViewerColumn(v, SWT.NONE);
                c.setLabelProvider(new ColumnLabelProvider() {
                    @Override
                    public String getText(final Object element) {
                        return ((Splash) element).getHref();
                    }
                });
                tablelayout.setColumnData(c.getColumn(), new ColumnWeightData(90));
                c.getColumn().setText("URL");
            }
            tableContainer.setLayout(tablelayout);
            v.setInput(task.getDeploy().getInfo().getSplash());

            Composite buttonComp = this.toolkit.createComposite(container);
            buttonComp.setLayoutData(new GridData(GridData.BEGINNING, GridData.END, false, false));
            buttonComp.setLayout(new GridLayout());

            {
                Button b = this.toolkit.createButton(buttonComp, "Add ...", SWT.PUSH);
                b.setLayoutData(new GridData(GridData.FILL, GridData.BEGINNING, false, false));
                b.addSelectionListener(new SelectionAdapter() {
                    @Override
                    public void widgetSelected(final SelectionEvent e) {
                        if (handleAddSplash()) {
                            v.setInput(task.getDeploy().getInfo().getSplash());
                            v.setSelection(new StructuredSelection(task.getDeploy().getInfo().getSplash()
                                    .get(task.getDeploy().getInfo().getSplash().size() - 1)));
                        }
                    }
                });
            }

            {
                Button b = toolkit.createButton(buttonComp, "Remove", SWT.PUSH);
                b.setLayoutData(new GridData(GridData.FILL, GridData.BEGINNING, false, false));
                b.addSelectionListener(new SelectionAdapter() {
                    @Override
                    public void widgetSelected(final SelectionEvent e) {
                        Splash value = (Splash) ((IStructuredSelection) v.getSelection()).getFirstElement();
                        if (value != null) {
                            if (handleRemoveSplash(value)) {
                                v.setInput(getTask().getDeploy().getInfo().getSplash());
                            }
                        } else {
                            MessageDialog.openWarning(getSite().getShell(), "Warning",
                                    "Please select an entry");
                        }
                    }
                });
            }
        }

        {
            toolkit.createLabel(sectionClient, "Webstart Icons:")
                    .setLayoutData(new GridData(GridData.BEGINNING, GridData.BEGINNING, false, false));
            Composite container = toolkit.createComposite(sectionClient);
            GridLayout gl = new GridLayout(2, false);
            gl.marginBottom = gl.marginHeight = gl.marginLeft = gl.marginRight = gl.marginTop = gl.marginWidth = 0;
            container.setLayout(gl);
            GridData gdContainer = new GridData(GridData.FILL_HORIZONTAL);
            gdContainer.horizontalSpan = COLUMN_COUNT - 1;
            container.setLayoutData(gdContainer);

            Composite tableContainer = toolkit.createComposite(container);
            Table t = toolkit.createTable(tableContainer,
                    SWT.FULL_SELECTION | SWT.H_SCROLL | SWT.V_SCROLL | SWT.BORDER);
            t.setHeaderVisible(true);
            t.setLinesVisible(true);

            GridData gdTable = new GridData(GridData.FILL_HORIZONTAL);
            gdTable.heightHint = t.getItemHeight() * 5;
            tableContainer.setLayoutData(gdTable);

            TableColumnLayout tablelayout = new TableColumnLayout();

            final TableViewer v = new TableViewer(t);
            GridData gd = new GridData(GridData.FILL_HORIZONTAL);
            gd.heightHint = t.getItemHeight() * 5;
            v.getControl().setLayoutData(gd);
            v.setContentProvider(ArrayContentProvider.getInstance());

            {
                TableViewerColumn c = new TableViewerColumn(v, SWT.NONE);
                c.setLabelProvider(new ColumnLabelProvider() {
                    @Override
                    public String getText(Object element) {
                        return ((Icon) element).getDepth();
                    }
                });
                tablelayout.setColumnData(c.getColumn(), new ColumnWeightData(10, 50, false));
                c.getColumn().setText("Depth");
            }

            {
                TableViewerColumn c = new TableViewerColumn(v, SWT.NONE);
                c.setLabelProvider(new ColumnLabelProvider() {
                    @Override
                    public String getText(Object element) {
                        return ((Icon) element).getKind().getName();
                    }
                });
                tablelayout.setColumnData(c.getColumn(), new ColumnWeightData(10, 100, false));
                c.getColumn().setText("Kind");
            }

            {
                TableViewerColumn c = new TableViewerColumn(v, SWT.NONE);
                c.setLabelProvider(new ColumnLabelProvider() {
                    @Override
                    public String getText(Object element) {
                        return ((Icon) element).getWidth();
                    }
                });
                tablelayout.setColumnData(c.getColumn(), new ColumnWeightData(10, 50, false));
                c.getColumn().setText("Width");
            }

            {
                TableViewerColumn c = new TableViewerColumn(v, SWT.NONE);
                c.setLabelProvider(new ColumnLabelProvider() {
                    @Override
                    public String getText(Object element) {
                        return ((Icon) element).getHeight();
                    }
                });
                tablelayout.setColumnData(c.getColumn(), new ColumnWeightData(10, 50, false));
                c.getColumn().setText("Height");
            }

            {
                TableViewerColumn c = new TableViewerColumn(v, SWT.NONE);
                c.setLabelProvider(new ColumnLabelProvider() {
                    @Override
                    public String getText(Object element) {
                        return ((Icon) element).getHref();
                    }
                });
                tablelayout.setColumnData(c.getColumn(), new ColumnWeightData(60));
                c.getColumn().setText("Url");
            }
            tableContainer.setLayout(tablelayout);
            v.setInput(task.getDeploy().getInfo().getIcon());

            Composite buttonComp = this.toolkit.createComposite(container);
            buttonComp.setLayoutData(new GridData(GridData.BEGINNING, GridData.END, false, false));
            buttonComp.setLayout(new GridLayout());

            {
                Button b = this.toolkit.createButton(buttonComp, "Add ...", SWT.PUSH);
                b.setLayoutData(new GridData(GridData.FILL, GridData.BEGINNING, false, false));
                b.addSelectionListener(new SelectionAdapter() {
                    @Override
                    public void widgetSelected(final SelectionEvent e) {
                        if (handleAddIcon()) {
                            v.setInput(task.getDeploy().getInfo().getIcon());
                            v.setSelection(new StructuredSelection(task.getDeploy().getInfo().getIcon()
                                    .get(task.getDeploy().getInfo().getIcon().size() - 1)));
                        }
                    }
                });
            }

            {
                Button b = this.toolkit.createButton(buttonComp, "Remove", SWT.PUSH);
                b.setLayoutData(new GridData(GridData.FILL, GridData.BEGINNING, false, false));
                b.addSelectionListener(new SelectionAdapter() {
                    @Override
                    public void widgetSelected(final SelectionEvent e) {
                        Icon value = (Icon) ((IStructuredSelection) v.getSelection()).getFirstElement();
                        if (value != null) {
                            if (handleRemoveIcon(value)) {
                                v.setInput(task.getDeploy().getInfo().getIcon());
                            }
                        } else {
                            MessageDialog.openWarning(getSite().getShell(), "Warning",
                                    "Please select an entry");
                        }
                    }
                });
            }
        }

        {
            this.toolkit.createLabel(sectionClient, "Additional META-INF files:")
                    .setLayoutData(new GridData(GridData.BEGINNING, GridData.BEGINNING, false, false));
            Composite container = toolkit.createComposite(sectionClient);
            GridLayout gl = new GridLayout(2, false);
            gl.marginBottom = gl.marginHeight = gl.marginLeft = gl.marginRight = gl.marginTop = gl.marginWidth = 0;
            container.setLayout(gl);
            GridData gdContainer = new GridData(GridData.FILL_HORIZONTAL);
            gdContainer.horizontalSpan = COLUMN_COUNT - 1;
            container.setLayoutData(gdContainer);

            Composite tableContainer = toolkit.createComposite(container);
            Table t = toolkit.createTable(tableContainer,
                    SWT.FULL_SELECTION | SWT.H_SCROLL | SWT.V_SCROLL | SWT.BORDER);
            t.setHeaderVisible(true);
            t.setLinesVisible(true);

            GridData gdTable = new GridData(GridData.FILL_HORIZONTAL);
            gdTable.heightHint = t.getItemHeight() * 5;
            tableContainer.setLayoutData(gdTable);

            TableColumnLayout tablelayout = new TableColumnLayout();

            final TableViewer v = new TableViewer(t);
            GridData gd = new GridData(GridData.FILL_HORIZONTAL);
            gd.heightHint = t.getItemHeight() * 5;
            v.getControl().setLayoutData(gd);
            v.setContentProvider(ArrayContentProvider.getInstance());

            {
                TableViewerColumn c = new TableViewerColumn(v, SWT.NONE);
                c.setLabelProvider(new ColumnLabelProvider() {
                    @Override
                    public String getText(Object element) {
                        return ((KeyValuePair) element).getKey();
                    }
                });
                tablelayout.setColumnData(c.getColumn(), new ColumnWeightData(33));
                c.getColumn().setText("Folder");
            }

            {
                TableViewerColumn c = new TableViewerColumn(v, SWT.NONE);
                c.setLabelProvider(new ColumnLabelProvider() {
                    @Override
                    public String getText(Object element) {
                        return ((KeyValuePair) element).getValue();
                    }
                });
                tablelayout.setColumnData(c.getColumn(), new ColumnWeightData(67));
                c.getColumn().setText("File");
            }
            tableContainer.setLayout(tablelayout);
            v.setInput(task.getFiles());

            Composite buttonComp = this.toolkit.createComposite(container);
            buttonComp.setLayoutData(new GridData(GridData.BEGINNING, GridData.END, false, false));
            buttonComp.setLayout(new GridLayout());

            {
                Button b = this.toolkit.createButton(buttonComp, "Add ...", SWT.PUSH);
                b.setLayoutData(new GridData(GridData.FILL, GridData.BEGINNING, false, false));
                b.addSelectionListener(new SelectionAdapter() {
                    @Override
                    public void widgetSelected(final SelectionEvent e) {
                        if (handleAddMetaInfFile()) {
                            v.setInput(task.getFiles());
                            v.setSelection(
                                    new StructuredSelection(task.getFiles().get(task.getFiles().size() - 1)));
                        }
                    }
                });
            }

            {
                Button b = toolkit.createButton(buttonComp, "Remove", SWT.PUSH);
                b.setLayoutData(new GridData(GridData.FILL, GridData.BEGINNING, false, false));
                b.addSelectionListener(new SelectionAdapter() {
                    @Override
                    public void widgetSelected(final SelectionEvent e) {
                        KeyValuePair value = (KeyValuePair) ((IStructuredSelection) v.getSelection())
                                .getFirstElement();
                        if (value != null) {
                            if (handleRemoveMetaInfFile(value)) {
                                v.setInput(task.getFiles());
                            }
                        } else {
                            MessageDialog.openWarning(getSite().getShell(), "Warning",
                                    "Please select an entry");
                        }
                    }
                });
            }
        }

        {
            this.toolkit.createLabel(sectionClient, "Fonts:")
                    .setLayoutData(new GridData(GridData.BEGINNING, GridData.BEGINNING, false, false));
            Composite container = toolkit.createComposite(sectionClient);
            GridLayout gl = new GridLayout(2, false);
            gl.marginBottom = gl.marginHeight = gl.marginLeft = gl.marginRight = gl.marginTop = gl.marginWidth = 0;
            container.setLayout(gl);
            GridData gdContainer = new GridData(GridData.FILL_HORIZONTAL);
            gdContainer.horizontalSpan = COLUMN_COUNT - 1;
            container.setLayoutData(gdContainer);

            Composite tableContainer = toolkit.createComposite(container);
            Table t = toolkit.createTable(tableContainer,
                    SWT.FULL_SELECTION | SWT.H_SCROLL | SWT.V_SCROLL | SWT.BORDER);
            t.setHeaderVisible(true);
            t.setLinesVisible(true);

            GridData gdTable = new GridData(GridData.FILL_HORIZONTAL);
            gdTable.heightHint = t.getItemHeight() * 5;
            tableContainer.setLayoutData(gdTable);

            TableColumnLayout tablelayout = new TableColumnLayout();

            final TableViewer v = new TableViewer(t);
            GridData gd = new GridData(GridData.FILL_HORIZONTAL);
            gd.heightHint = t.getItemHeight() * 5;
            v.getControl().setLayoutData(gd);
            final ArrayContentProvider cp = new ArrayContentProvider();
            v.setContentProvider(cp);

            {
                IEMFValueProperty prop = EMFEditProperties.value(editingDomain,
                        ParametersPackage.Literals.KEY_VALUE_PAIR__KEY);
                TableViewerColumn c = new TableViewerColumn(v, SWT.NONE);
                TableColumn tc = c.getColumn();
                tc.setText("Font name");
                c.setLabelProvider(new ColumnLabelProvider() {
                    @Override
                    public String getText(Object element) {
                        return ((KeyValuePair) element).getKey();
                    }
                });
                tablelayout.setColumnData(c.getColumn(), new ColumnWeightData(33));
            }

            {
                IEMFValueProperty prop = EMFEditProperties.value(editingDomain,
                        ParametersPackage.Literals.KEY_VALUE_PAIR__VALUE);
                TableViewerColumn c = new TableViewerColumn(v, SWT.NONE);
                TableColumn tc = c.getColumn();
                tc.setText("File");
                c.setLabelProvider(new ColumnLabelProvider() {
                    @Override
                    public String getText(Object element) {
                        return ((KeyValuePair) element).getValue();
                    }
                });
                tablelayout.setColumnData(c.getColumn(), new ColumnWeightData(67));
            }
            tableContainer.setLayout(tablelayout);
            v.setInput(task.getFonts());

            Composite buttonComp = toolkit.createComposite(container);
            buttonComp.setLayoutData(new GridData(GridData.BEGINNING, GridData.END, false, false));
            buttonComp.setLayout(new GridLayout());

            {
                Button b = toolkit.createButton(buttonComp, "Add ...", SWT.PUSH);
                b.setLayoutData(new GridData(GridData.FILL, GridData.BEGINNING, false, false));
                b.addSelectionListener(new SelectionAdapter() {
                    @Override
                    public void widgetSelected(final SelectionEvent e) {
                        if (handleAddFont()) {
                            final KeyValuePair newFont = task.getFonts().get(task.getFonts().size() - 1);
                            v.refresh();
                            v.setSelection(new StructuredSelection(newFont));
                        }
                    }
                });
            }

            {
                Button b = toolkit.createButton(buttonComp, "Remove", SWT.PUSH);
                b.setLayoutData(new GridData(GridData.FILL, GridData.BEGINNING, false, false));
                b.addSelectionListener(new SelectionAdapter() {
                    @Override
                    public void widgetSelected(final SelectionEvent e) {
                        KeyValuePair value = (KeyValuePair) ((IStructuredSelection) v.getSelection())
                                .getFirstElement();
                        if (value != null) {
                            if (handleRemoveFont(value)) {
                                v.setInput(task.getFonts());
                            }
                        } else {
                            MessageDialog.openWarning(getSite().getShell(), "Warning",
                                    "Please select an entry");
                        }
                    }
                });
            }
        }
        section.setClient(sectionClient);
    }
    int index = addPage(composite);
    setPageText(index, "Deploy");
}

From source file:org.eclipse.help.ui.internal.preferences.ICTable.java

License:Open Source License

/**
 * Create the TableViewer/* www  .  j  a v  a  2 s.  c o  m*/
 */
private TableViewer createTableViewer() {

    TableViewer viewer = new TableViewer(table);
    viewer.setUseHashlookup(true);
    viewer.setColumnProperties(columnNames);
    viewer.setContentProvider(new ICContentProvider());
    viewer.setLabelProvider(new ICLabelProvider());
    return viewer;
}

From source file:org.eclipse.ice.client.widgets.ICEScrolledPropertiesBlock.java

License:Open Source License

/**
 * <p>//ww w .j  a  v a2  s  . co m
 * This operation creates a master part in the block.
 * </p>
 * 
 * @param managedForm
 *            <p>
 *            The parent Form
 *            </p>
 * @param parent
 *            <p>
 *            The parent Composite.
 *            </p>
 */
@Override
protected void createMasterPart(IManagedForm managedForm, Composite parent) {

    FormToolkit toolkit = managedForm.getToolkit();

    // Define key features for the ScrolledPropertiesBlock
    Section section = toolkit.createSection(parent, Section.DESCRIPTION | ExpandableComposite.TITLE_BAR);
    section.setText(masterDetailsComponent.getName());
    section.setDescription(masterDetailsComponent.getDescription());
    section.marginWidth = 10;
    section.marginHeight = 5;

    // Define layouts
    Composite client = toolkit.createComposite(section, SWT.WRAP);
    GridLayout layout = new GridLayout();
    layout.numColumns = 2;
    layout.marginWidth = 2;
    layout.marginHeight = 2;
    client.setLayout(layout);
    Table table = toolkit.createTable(client, SWT.NULL);
    GridData gd = new GridData(GridData.FILL_BOTH);
    gd.heightHint = 20;
    gd.widthHint = 100;
    gd.verticalSpan = 2;
    table.setLayoutData(gd);
    toolkit.paintBordersFor(client);

    // Setup the section's client and add it to the part lifecycle with a
    // section part.
    section.setClient(client);
    final SectionPart spart = new SectionPart(section);
    managedForm.addPart(spart);

    // Use a standard tableviewer from JFace to hold the list of masters.
    final TableViewer viewer = new TableViewer(table);
    this.viewer = viewer;
    final IManagedForm finalManagedForm = managedForm;
    viewer.addSelectionChangedListener(new ISelectionChangedListener() {
        @Override
        public void selectionChanged(SelectionChangedEvent event) {
            finalManagedForm.fireSelectionChanged(spart, event.getSelection());
        }
    });

    // Create the content provider, set its content and set the input that
    // will be read in the provider. In this case, this is just an instance
    // of the content provider declared at the top of this class and the
    // input is just the MasterDetailsComponent.
    final MasterContentProvider masterContentProvider = new MasterContentProvider();
    viewer.setContentProvider(masterContentProvider);
    viewer.setInput(masterDetailsComponent);

    // Define the button to add MasterComponents to the table
    Button button = toolkit.createButton(client, " Add  ", SWT.PUSH);
    button.addSelectionListener(new SelectionListener() {

        // What to do when the add button is clicked
        @Override
        public void widgetSelected(SelectionEvent event) {
            // Local Declarations
            ArrayList<String> ids = masterDetailsComponent.getAllowedMasterValues();

            // Local Declarations
            IWorkbench workbench = PlatformUI.getWorkbench();
            IWorkbenchWindow workbenchWindow = workbench.getActiveWorkbenchWindow();

            // Create an error box
            EclipseErrorBoxWidget errorBox = new EclipseErrorBoxWidget();

            // Present a selection dialog if Items are available
            if (masterDetailsComponent != null) {

                // Setup the list dialog
                ListDialog masterCreatorDialog = new ListDialog(workbenchWindow.getShell());
                masterCreatorDialog.setAddCancelButton(true);
                masterCreatorDialog.setContentProvider(new ArrayContentProvider());
                masterCreatorDialog.setLabelProvider(new LabelProvider());
                masterCreatorDialog.setInput(masterDetailsComponent.getAllowedMasterValues().toArray());
                masterCreatorDialog.setInitialElementSelections(ids);
                masterCreatorDialog.setTitle("MasterDetailPairs");
                masterCreatorDialog.open();

                // Direct the client to create a new Item if a selection was
                // made
                if (masterCreatorDialog.getResult() != null) {
                    int id = masterDetailsComponent.addMaster();
                    masterDetailsComponent.setMasterInstanceValue(id,
                            (masterCreatorDialog.getResult()[0]).toString());
                    // Mark the editor as dirty since information has
                    // changed
                    formEditor.setDirty(true);
                    // Refresh the view
                    viewer.refresh();
                } else {
                    // Close the list dialog otherwise
                    masterCreatorDialog.close();
                }

            } else {
                // Throw an error if no masters are available
                errorBox.setErrorString("There are no items to add to the list."
                        + " If you believe this is a serious error, please "
                        + "contact your system's administrator.");
                errorBox.display();
            }

        }

        @Override
        public void widgetDefaultSelected(SelectionEvent event) {
        }
    });
    // Set the button layout
    gd = new GridData(GridData.VERTICAL_ALIGN_BEGINNING);
    button.setLayoutData(gd);

    // Create delete button
    Button button2 = toolkit.createButton(client, "Delete", SWT.PUSH);
    button2.addSelectionListener(new SelectionListener() {

        @Override
        public void widgetSelected(SelectionEvent event) {

            int id = viewer.getTable().getSelectionIndex();
            masterDetailsComponent.deleteMasterAtIndex(id);

            // Mark the editor as dirty since information has changed
            formEditor.setDirty(true);

            viewer.refresh();

        }

        @Override
        public void widgetDefaultSelected(SelectionEvent event) {
        }
    });
    gd = new GridData(GridData.VERTICAL_ALIGN_BEGINNING);
    button2.setLayoutData(gd);
    System.err.println("ICEScrolledPropertiesBlock Message: " + "Printing out status: "
            + this.masterDetailsComponent.canAddRemoveButton());
    // Disable buttons if set to false
    if (!this.masterDetailsComponent.canAddRemoveButton()) {
        System.err.println("ICEScrolledPropertiesBlock Message: Buttons disabled!");
        // disable buttons
        button.setEnabled(false);
        button2.setEnabled(false);
    }
}

From source file:org.eclipse.ice.client.widgets.properties.TreePropertySection.java

License:Open Source License

/**
 * Creates the table that displays properties for viewing and editing.
 * //w w  w. java2s .  c om
 * @param client
 *            The client <code>Composite</code> that should contain the
 *            table of properties.
 * @return The <code>TableViewer</code> for the table of properties.
 */
protected TableViewer createTableViewer(Composite client) {

    TableViewer tableViewer = null;

    if (client != null) {
        Table table;

        // Create the TableViewer and the underlying Table Control.
        tableViewer = new TableViewer(client, SWT.BORDER | SWT.FULL_SELECTION | SWT.V_SCROLL);
        // Set some properties for the table.
        table = tableViewer.getTable();
        table.setHeaderVisible(true);
        table.setLinesVisible(true);

        // Set up the content provider for the table viewer. Now the table
        // viewer's input can be set.
        tableViewer.setContentProvider(new TreePropertyContentProvider());

        // Enable tool tips for the Table's cells.
        ColumnViewerToolTipSupport.enableFor(tableViewer, ToolTip.NO_RECREATE);

        // Populate the TableViewer with its columns.
        addTableViewerColumns(tableViewer);
    }

    return tableViewer;
}

From source file:org.eclipse.ice.viz.csv.viewer.CSVDataTableViewer.java

License:Open Source License

/**
 * This function creates a new data table in the CSV Data Table Viewer to
 * display the new provider.//w ww  . ja va  2 s.  com
 * 
 * @param newDataProvider
 *            The CSVDataProvider to populate the view
 */
public void refreshDataTable(CSVDataProvider newDataProvider) {

    logger.info(
            "CSVDataTableViewer Message: Refreshing the data " + "table: " + newDataProvider.getSourceInfo());

    // Iterates through the times
    for (Double time : newDataProvider.getTimes()) {

        // Sets the time for the provider
        newDataProvider.setTime(time);

        // FIXME We need a better check for existing tabs
        if (!tabs.contains(time.toString())) {
            // Create a new tab of the time for the loaded file
            TabItem newTimeTab = new TabItem(timesTabFolder, SWT.NONE);
            newTimeTab.setText(time.toString());

            // Add to the list of the existing tabs
            tabs.add(time.toString());

            // Get the independent variables and features from the
            // new data provider to be used to set up the columns
            ArrayList<String> independentVarsAndFeatures = new ArrayList<String>();
            independentVarsAndFeatures.addAll(newDataProvider.getIndependentVariables());
            independentVarsAndFeatures.addAll(newDataProvider.getFeaturesAtCurrentTime());
            // Get the number of columns
            int numColumns = independentVarsAndFeatures.size();

            // Creating the composite for the table viewer
            Composite tableViewerComp = new Composite(timesTabFolder, SWT.BORDER);
            tableViewerComp.setLayout(new GridLayout(1, false));
            tableViewerComp.setLayoutData(new GridData(SWT.DEFAULT, SWT.DEFAULT, true, true));
            // Sets the control of the tab to the composite for the table
            // view
            newTimeTab.setControl(tableViewerComp);

            // Creating the table viewer
            TableViewer viewer = new TableViewer(tableViewerComp, SWT.BORDER | SWT.FULL_SELECTION);
            // Creating the layout of columns
            TableLayout layout = new TableLayout();
            for (int k = 0; k < numColumns; k++) {
                layout.addColumnData(new ColumnWeightData(2, ColumnWeightData.MINIMUM_WIDTH, true));
            }
            viewer.getTable().setLayout(layout);
            // Setting the layout of the table
            viewer.getControl().setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));
            // Showing the headers
            viewer.getTable().setLinesVisible(true);
            viewer.getTable().setHeaderVisible(true);
            // Set the content providers
            viewer.setContentProvider(new DataTableContentProvider());
            viewer.setLabelProvider(new DataTableLabelProvider());

            // Setting the column text
            for (String columnText : independentVarsAndFeatures) {
                TableColumn newColumn = new TableColumn(viewer.getTable(), SWT.CENTER);
                newColumn.setText(columnText);
            }
            // Setting the input
            viewer.setInput(newDataProvider);

            // Refreshing the composite so the table will show
            tableViewerComp.layout();
            timesTabFolder.layout();
        }
    }

    return;
}

From source file:org.eclipse.ice.viz.plotviewer.CSVDataTableViewer.java

License:Open Source License

/**
 * This function creates a new data table in the CSV Data Table Viewer to
 * display the new provider.//from  ww  w  .jav  a  2  s . c o m
 * 
 * @param newDataProvider
 *            The CSVDataProvider to populate the view
 */
public void refreshDataTable(CSVDataProvider newDataProvider) {

    System.out.println(
            "CSVDataTableViewer Message: Refreshing the data " + "table: " + newDataProvider.getSourceInfo());

    // Iterates through the times
    for (Double time : newDataProvider.getTimes()) {

        // Sets the time for the provider
        newDataProvider.setTime(time);

        // FIXME We need a better check for existing tabs
        if (!tabs.contains(time.toString())) {
            // Create a new tab of the time for the loaded file
            TabItem newTimeTab = new TabItem(timesTabFolder, SWT.NONE);
            newTimeTab.setText(time.toString());

            // Add to the list of the existing tabs
            tabs.add(time.toString());

            // Get the independent variables and features from the
            // new data provider to be used to set up the columns
            ArrayList<String> independentVarsAndFeatures = new ArrayList<String>();
            independentVarsAndFeatures.addAll(newDataProvider.getIndependentVariables());
            independentVarsAndFeatures.addAll(newDataProvider.getFeaturesAtCurrentTime());
            // Get the number of columns
            int numColumns = independentVarsAndFeatures.size();

            // Creating the composite for the table viewer
            Composite tableViewerComp = new Composite(timesTabFolder, SWT.BORDER);
            tableViewerComp.setLayout(new GridLayout(1, false));
            tableViewerComp.setLayoutData(new GridData(SWT.DEFAULT, SWT.DEFAULT, true, true));
            // Sets the control of the tab to the composite for the table
            // view
            newTimeTab.setControl(tableViewerComp);

            // Creating the table viewer
            TableViewer viewer = new TableViewer(tableViewerComp, SWT.BORDER | SWT.FULL_SELECTION);
            // Creating the layout of columns
            TableLayout layout = new TableLayout();
            for (int k = 0; k < numColumns; k++) {
                layout.addColumnData(new ColumnWeightData(2, ColumnWeightData.MINIMUM_WIDTH, true));
            }
            viewer.getTable().setLayout(layout);
            // Setting the layout of the table
            viewer.getControl().setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));
            // Showing the headers
            viewer.getTable().setLinesVisible(true);
            viewer.getTable().setHeaderVisible(true);
            // Set the content providers
            viewer.setContentProvider(new DataTableContentProvider());
            viewer.setLabelProvider(new DataTableLabelProvider());

            // Setting the column text
            for (String columnText : independentVarsAndFeatures) {
                TableColumn newColumn = new TableColumn(viewer.getTable(), SWT.CENTER);
                newColumn.setText(columnText);
            }
            // Setting the input
            viewer.setInput(newDataProvider);

            // Refreshing the composite so the table will show
            tableViewerComp.layout();
            timesTabFolder.layout();
        }
    }

    return;
}

From source file:org.eclipse.ice.viz.service.preferences.TableComponentComposite.java

License:Open Source License

/**
 * Creates a new {@code TableViewer} to show a {@link TableComponent}.
 * /*from ww  w . jav  a  2  s .  co  m*/
 * @param parent
 *            The containing {@code Composite}.
 * @return The created JFace {@code TableViewer}.
 */
private TableViewer createTableViewer(Composite parent) {
    // Create the TableViewer and the underlying Table Control.
    TableViewer viewer = new TableViewer(this,
            SWT.BORDER | SWT.MULTI | SWT.FULL_SELECTION | SWT.H_SCROLL | SWT.V_SCROLL);
    // Set some properties for the table.
    final Table table = viewer.getTable();
    table.setHeaderVisible(true);
    table.setLinesVisible(true);

    // Set up the content provider for the viewer. Now the viewer's input
    // can be set.
    viewer.setContentProvider(new TableComponentContentProvider());

    // Enable tool tips for the Table's cells.
    ColumnViewerToolTipSupport.enableFor(viewer, ToolTip.NO_RECREATE);

    // Add a selection listener to tell the TableComponent which rows are
    // selected.
    ISelectionChangedListener listener = new ISelectionChangedListener() {
        @Override
        public void selectionChanged(SelectionChangedEvent event) {

            // To delete rows (later), the TableComponent expects indices.
            // Thus, we must keep track of selected indicies by updating the
            // class' list.

            // To select rows, the TableComponent expects an
            // ArrayList<Integer> containing the row IDs, not indices. Thus,
            // we must convert the int[] of indices into an
            // ArrayList<Integer> of IDs to select.
            int[] selected = table.getSelectionIndices();
            List<Integer> rowIds = tableComponent.getRowIds();
            ArrayList<Integer> rows = new ArrayList<Integer>(selected.length);
            selectedIndices.clear();
            for (int i : selected) {
                selectedIndices.add(i);
                rows.add(rowIds.get(i));
            }
            tableComponent.setSelectedRows(rows);

            // Enable/disable the remove action if the selection is
            // non/empty.
            removeRowAction.setEnabled(!event.getSelection().isEmpty());

            return;
        }
    };
    viewer.addSelectionChangedListener(listener);

    // Use a custom comparer to just check references rather than calling
    // equals(Object), which causes strange behavior when multiple rows have
    // the same values.
    viewer.setComparer(new IElementComparer() {
        @Override
        public int hashCode(Object element) {
            return element.hashCode();
        }

        @Override
        public boolean equals(Object a, Object b) {
            return a == b;
        }
    });

    return viewer;
}

From source file:org.eclipse.imp.lpg.search.LPGSearchResultPage.java

License:Open Source License

protected void configureTableViewer(TableViewer viewer) {
    viewer.setUseHashlookup(true);//from   w w  w. ja  va  2  s.c o  m
    // SortingLabelProvider sortingLabelProvider= new SortingLabelProvider(this);
    // viewer.setLabelProvider(new ColorDecoratingLabelProvider(sortingLabelProvider, PlatformUI.getWorkbench().getDecoratorManager().getLabelDecorator()));
    viewer.setLabelProvider(new LPGLabelProvider());
    fContentProvider = new LPGSearchTableContentProvider(this);
    viewer.setContentProvider(fContentProvider);
    // viewer.setSorter(new DecoratorIgnoringViewerSorter(sortingLabelProvider));
    // setSortOrder(fCurrentSortOrder);
    // addDragAdapters(viewer);
}

From source file:org.eclipse.incquery.tooling.localsearch.ui.debugger.views.LocalSearchDebugView.java

License:Open Source License

private TableViewer createTableViewer(Composite parent) {
    TableViewer matchesViewer = new TableViewer(parent,
            SWT.MULTI | SWT.H_SCROLL | SWT.V_SCROLL | SWT.BORDER | SWT.FULL_SELECTION);

    matchesViewer.setContentProvider(new MatchTableContentProvider());

    GridData gridData = new GridData();
    gridData.verticalAlignment = GridData.FILL;
    gridData.grabExcessHorizontalSpace = true;
    gridData.grabExcessVerticalSpace = true;
    gridData.horizontalAlignment = GridData.FILL;
    matchesViewer.getControl().setLayoutData(gridData);

    final Table table = matchesViewer.getTable();
    table.setHeaderVisible(true);/* ww w  . j  a  va 2s  .  c om*/
    table.setLinesVisible(true);

    return matchesViewer;

}