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

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

Introduction

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

Prototype

public TableViewer(Table table) 

Source Link

Document

Creates a table viewer on the given table control.

Usage

From source file:com.collabnet.ccf.migration.dialogs.MigrateLandscapeResultsDialog.java

License:Open Source License

protected Control createDialogArea(Composite parent) {
    getShell().setText("CCF 2.x Migration Results");

    Composite composite = new Composite(parent, SWT.NULL);
    GridLayout layout = new GridLayout();
    layout.numColumns = 1;/*from   www. j  av  a2s  .  c om*/
    composite.setLayout(layout);
    composite.setLayoutData(new GridData(GridData.FILL_BOTH));

    table = new Table(composite, SWT.H_SCROLL | SWT.V_SCROLL | SWT.FULL_SELECTION);
    table.setLinesVisible(false);
    table.setHeaderVisible(true);
    GridData gd = new GridData(GridData.GRAB_HORIZONTAL | GridData.HORIZONTAL_ALIGN_FILL
            | GridData.GRAB_VERTICAL | GridData.VERTICAL_ALIGN_FILL);
    gd.widthHint = 500;
    gd.heightHint = 500;
    table.setLayoutData(gd);
    TableLayout tableLayout = new TableLayout();
    table.setLayout(tableLayout);
    tableViewer = new TableViewer(table);
    tableViewer.setContentProvider(new MigrationResultsContentProvider(migrationResults));
    tableViewer.setLabelProvider(new MigrationResultsLabelProvider());
    for (int i = 0; i < columnHeaders.length; i++) {
        tableLayout.addColumnData(columnLayouts[i]);
        TableColumn tc = new TableColumn(table, SWT.NONE, i);
        tc.setResizable(columnLayouts[i].resizable);
        tc.setText(columnHeaders[i]);
    }
    tableViewer.setInput(this);

    tableViewer.addOpenListener(new IOpenListener() {
        public void open(OpenEvent event) {
            IStructuredSelection selection = (IStructuredSelection) tableViewer.getSelection();
            if (selection != null && selection.getFirstElement() instanceof MigrationResult) {
                MigrationResult migrationResult = (MigrationResult) selection.getFirstElement();
                if (migrationResult.getResultType() == MigrationResult.ERROR) {
                    if (migrationResult.getException().getMessage().contains("<html>")) {
                        MigrateLandscapeErrorDialog dialog = new MigrateLandscapeErrorDialog(getShell(),
                                migrationResult.getException());
                        dialog.open();
                    } else {
                        ExceptionDetailsErrorDialog.openError(getShell(), "Migrate Landscape to CCF 2.x",
                                migrationResult.getException().getMessage(),
                                new Status(IStatus.ERROR, Activator.PLUGIN_ID,
                                        migrationResult.getException().getLocalizedMessage(),
                                        migrationResult.getException()));
                    }
                }
            }
        }
    });

    for (MigrationResult migrationResult : migrationResults) {
        if (migrationResult.getResultType() == MigrationResult.ERROR) {
            new Label(composite, SWT.NONE);
            Label errorLabel = new Label(composite, SWT.NONE);
            errorLabel.setText("Double click error message for details.");
            break;
        }
    }

    return composite;
}

From source file:com.collabnet.subversion.merge.dialogs.ExcludedRevisionsDialog.java

License:Open Source License

protected Control createDialogArea(Composite parent) {
    getShell().setText(Messages.ExcludedRevisionsDialog_title);
    Composite composite = new Composite(parent, SWT.NULL);
    GridLayout layout = new GridLayout();
    layout.numColumns = 2;/*from   w  w w . ja  v a  2s .  c  om*/
    composite.setLayout(layout);
    GridData data = new GridData(GridData.FILL_BOTH);
    composite.setLayoutData(data);

    Label label = new Label(composite, SWT.WRAP);
    label.setText(Messages.ExcludedRevisionsDialog_text);
    data = new GridData();
    data.horizontalAlignment = GridData.FILL;
    data.grabExcessHorizontalSpace = true;
    data.widthHint = 400;
    data.horizontalSpan = 2;
    label.setLayoutData(data);

    Label fromLabel = new Label(composite, SWT.NONE);
    fromLabel.setText(Messages.ExcludedRevisionsDialog_mergeFrom);
    Text fromText = new Text(composite, SWT.BORDER);
    fromText.setEditable(false);
    fromText.setText(fromUrl);
    data = new GridData(GridData.FILL_HORIZONTAL | GridData.GRAB_HORIZONTAL);
    fromText.setLayoutData(data);

    table = new Table(composite, SWT.H_SCROLL | SWT.V_SCROLL | SWT.FULL_SELECTION);
    data = new GridData(GridData.FILL_HORIZONTAL | GridData.GRAB_HORIZONTAL);
    data.heightHint = 200;
    data.horizontalSpan = 2;
    table.setLayoutData(data);

    TableLayout tableLayout = new TableLayout();
    table.setLayout(tableLayout);
    table.setHeaderVisible(true);
    table.setLinesVisible(true);
    viewer = new TableViewer(table);

    viewer.setContentProvider(new ExcludedRevisionsContentProvider());
    viewer.setLabelProvider(new ExcludedRevisionsLabelProvider());
    for (int i = 0; i < columnHeaders.length; i++) {
        tableLayout.addColumnData(columnLayouts[i]);
        TableColumn tc = new TableColumn(table, SWT.NONE, i);
        tc.setResizable(columnLayouts[i].resizable);
        tc.setText(columnHeaders[i]);
    }

    viewer.setInput(this);

    return composite;
}

From source file:com.collabnet.subversion.merge.wizards.MergeWizardAdvancedPage.java

License:Open Source License

public void createControl(Composite parent) {
    MergeWizard wizard = (MergeWizard) getWizard();
    resource = wizard.getResource();/* w ww  . j  a  v a2  s.  c o  m*/
    resources = wizard.getResources();

    if (resource != null)
        svnResource = SVNWorkspaceRoot.getSVNResourceFor(resource);

    Composite outerContainer = new Composite(parent, SWT.NONE);
    outerContainer.setLayout(new GridLayout());
    outerContainer.setLayoutData(new GridData(GridData.FILL_BOTH));

    Group fromGroup = new Group(outerContainer, SWT.NONE);
    fromGroup.setText(Messages.MergeWizardAdvancedPage_from);
    GridLayout fromLayout = new GridLayout();
    fromLayout.numColumns = 5;
    fromGroup.setLayout(fromLayout);
    fromGroup.setLayoutData(new GridData(GridData.FILL_BOTH));

    fromCombo = new Combo(fromGroup, SWT.BORDER);
    GridData data = new GridData(GridData.FILL_HORIZONTAL | GridData.GRAB_HORIZONTAL);
    data.horizontalSpan = 4;
    fromCombo.setLayoutData(data);

    if (resources != null) {
        commonRoot = getCommonRoot();

        if (commonRoot != null)
            fromCombo.setText(commonRoot);
    }

    selectFromButton = new Button(fromGroup, SWT.PUSH);
    selectFromButton.setText(Messages.MergeWizardAdvancedPage_select);

    if (resources != null && resources.length > 1) {
        Label label = new Label(fromGroup, SWT.NONE);
        label.setText(Messages.MergeWizardAdvancedPage_resources);
        data = new GridData();
        data.horizontalSpan = 5;
        label.setLayoutData(data);

        fromTable = new Table(fromGroup, SWT.H_SCROLL | SWT.V_SCROLL | SWT.BORDER);
        fromTable.setLinesVisible(false);
        fromTable.setHeaderVisible(false);
        data = new GridData(GridData.FILL_HORIZONTAL);
        data.heightHint = 75;
        data.horizontalSpan = 5;
        fromTable.setLayoutData(data);
        TableLayout tableLayout = new TableLayout();
        fromTable.setLayout(tableLayout);
        fromViewer = new TableViewer(fromTable);
        fromViewer.setContentProvider(new MergeContentProvider());
        ILabelDecorator decorator = PlatformUI.getWorkbench().getDecoratorManager().getLabelDecorator();
        fromViewer.setLabelProvider(
                new TableDecoratingLabelProvider(new MergeLabelProvider(MergeLabelProvider.FROM), decorator));
        for (int i = 0; i < columnHeaders.length; i++) {
            tableLayout.addColumnData(columnLayouts[i]);
            TableColumn tc = new TableColumn(fromTable, SWT.NONE, i);
            tc.setResizable(columnLayouts[i].resizable);
            tc.setText(columnHeaders[i]);
        }
        fromViewer.setInput(this);
    }

    fromHeadButton = new Button(fromGroup, SWT.RADIO);
    fromHeadButton.setText(Messages.MergeWizardAdvancedPage_headRevision);

    fromRevisionButton = new Button(fromGroup, SWT.RADIO);
    fromRevisionButton.setText(Messages.MergeWizardAdvancedPage_revision);

    fromRevisionButton.setSelection(true);

    fromRevisionText = new Text(fromGroup, SWT.BORDER);
    data = new GridData();
    data.widthHint = 40;
    fromRevisionText.setLayoutData(data);

    selectFromRevisionButton = new Button(fromGroup, SWT.PUSH);
    selectFromRevisionButton.setText(Messages.MergeWizardAdvancedPage_select2);

    Group toGroup = new Group(outerContainer, SWT.NONE);
    toGroup.setText(Messages.MergeWizardAdvancedPage_to);
    GridLayout toLayout = new GridLayout();
    toLayout.numColumns = 5;
    toGroup.setLayout(toLayout);
    toGroup.setLayoutData(new GridData(GridData.FILL_BOTH));

    useFromButton = new Button(toGroup, SWT.CHECK);
    useFromButton.setText(Messages.MergeWizardAdvancedPage_useFrom);
    data = new GridData();
    data.horizontalSpan = 5;
    useFromButton.setLayoutData(data);
    useFromButton.setSelection(true);

    toCombo = new Combo(toGroup, SWT.BORDER);
    data = new GridData(GridData.FILL_HORIZONTAL | GridData.GRAB_HORIZONTAL);
    data.horizontalSpan = 4;
    toCombo.setLayoutData(data);
    toCombo.setVisible(false);
    toCombo.setText(fromCombo.getText());

    selectToButton = new Button(toGroup, SWT.PUSH);
    selectToButton.setText(Messages.MergeWizardAdvancedPage_select3);
    selectToButton.setVisible(false);

    if (resources != null && resources.length > 1) {
        toResourcesLabel = new Label(toGroup, SWT.NONE);
        toResourcesLabel.setText(Messages.MergeWizardAdvancedPage_resources);
        data = new GridData();
        data.horizontalSpan = 5;
        toResourcesLabel.setLayoutData(data);
        toResourcesLabel.setVisible(false);

        toTable = new Table(toGroup, SWT.H_SCROLL | SWT.V_SCROLL | SWT.BORDER);
        toTable.setLinesVisible(false);
        toTable.setHeaderVisible(false);
        data = new GridData(GridData.FILL_HORIZONTAL);
        data.heightHint = 75;
        data.horizontalSpan = 5;
        toTable.setLayoutData(data);
        TableLayout tableLayout = new TableLayout();
        toTable.setLayout(tableLayout);
        toViewer = new TableViewer(toTable);
        toViewer.setContentProvider(new MergeContentProvider());
        ILabelDecorator decorator = PlatformUI.getWorkbench().getDecoratorManager().getLabelDecorator();
        toViewer.setLabelProvider(
                new TableDecoratingLabelProvider(new MergeLabelProvider(MergeLabelProvider.TO), decorator));
        for (int i = 0; i < columnHeaders.length; i++) {
            tableLayout.addColumnData(columnLayouts[i]);
            TableColumn tc = new TableColumn(toTable, SWT.NONE, i);
            tc.setResizable(columnLayouts[i].resizable);
            tc.setText(columnHeaders[i]);
        }
        toViewer.setInput(this);
        toTable.setVisible(false);
    }

    toHeadButton = new Button(toGroup, SWT.RADIO);
    toHeadButton.setText(Messages.MergeWizardAdvancedPage_headRevision2);

    toRevisionButton = new Button(toGroup, SWT.RADIO);
    toRevisionButton.setText(Messages.MergeWizardAdvancedPage_revision2);

    toRevisionButton.setSelection(true);

    toRevisionText = new Text(toGroup, SWT.BORDER);
    data = new GridData();
    data.widthHint = 40;
    toRevisionText.setLayoutData(data);

    selectToRevisionButton = new Button(toGroup, SWT.PUSH);
    selectToRevisionButton.setText(Messages.MergeWizardAdvancedPage_select4);

    SelectionListener selectionListener = getSelectionListener();
    selectFromButton.addSelectionListener(selectionListener);
    fromHeadButton.addSelectionListener(selectionListener);
    fromRevisionButton.addSelectionListener(selectionListener);
    selectFromRevisionButton.addSelectionListener(selectionListener);
    useFromButton.addSelectionListener(selectionListener);
    selectToButton.addSelectionListener(selectionListener);
    toHeadButton.addSelectionListener(selectionListener);
    toRevisionButton.addSelectionListener(selectionListener);
    selectToRevisionButton.addSelectionListener(selectionListener);

    ModifyListener modifyListener = new ModifyListener() {
        public void modifyText(ModifyEvent e) {
            if (e.getSource() == fromCombo && useFromButton.getSelection())
                toCombo.setText(fromCombo.getText());
            if (e.getSource() == fromCombo && fromViewer != null)
                fromViewer.refresh();
            if (e.getSource() == toCombo && toViewer != null)
                toViewer.refresh();
            setPageComplete(canFinish());
        }
    };

    fromCombo.addModifyListener(modifyListener);
    toCombo.addModifyListener(modifyListener);
    fromRevisionText.addModifyListener(modifyListener);
    toRevisionText.addModifyListener(modifyListener);

    FocusListener focusListener = new FocusAdapter() {
        public void focusGained(FocusEvent e) {
            ((Text) e.getSource()).selectAll();
        }

        public void focusLost(FocusEvent e) {
            ((Text) e.getSource()).setText(((Text) e.getSource()).getText());
        }
    };
    fromRevisionText.addFocusListener(focusListener);
    toRevisionText.addFocusListener(focusListener);

    setPageComplete(canFinish());

    setMessage(Messages.MergeWizardAdvancedPage_message);

    setControl(outerContainer);
}

From source file:com.collabnet.subversion.merge.wizards.MergeWizardStandardPage.java

License:Open Source License

public void createControl(Composite parent) {
    Composite outerContainer = new Composite(parent, SWT.NONE);
    GridLayout layout = new GridLayout();
    layout.numColumns = 3;/*from ww w  . jav a  2  s  .  co  m*/
    outerContainer.setLayout(layout);
    outerContainer.setLayoutData(new GridData(GridData.FILL_BOTH));

    Label fromLabel = new Label(outerContainer, SWT.NONE);
    fromLabel.setText(Messages.MergeWizardStandardPage_from);
    if (unblock)
        fromCombo = new Combo(outerContainer, SWT.BORDER | SWT.READ_ONLY);
    else
        fromCombo = new Combo(outerContainer, SWT.BORDER);
    GridData data = new GridData(GridData.FILL_HORIZONTAL | GridData.GRAB_HORIZONTAL);
    fromCombo.setLayoutData(data);

    fromCombo.addModifyListener(new ModifyListener() {
        public void modifyText(ModifyEvent e) {
            if (fromCombo.getText().startsWith("/")) //$NON-NLS-1$
                fromUrl = repositoryLocation + fromCombo.getText().trim();
            else
                fromUrl = fromCombo.getText().trim();
            if (viewer != null)
                viewer.refresh();
            setPageComplete(canFinish());
        }
    });
    Button selectFromButton = new Button(outerContainer, SWT.PUSH);
    selectFromButton.setText(Messages.MergeWizardStandardPage_select);
    selectFromButton.addSelectionListener(new SelectionAdapter() {
        public void widgetSelected(SelectionEvent e) {
            ChooseUrlDialog dialog = new ChooseUrlDialog(getShell(), resource);
            dialog.setIncludeBranchesAndTags(resources.length == 1);
            if ((dialog.open() == ChooseUrlDialog.OK) && (dialog.getUrl() != null)) {
                fromUrl = dialog.getUrl();
                fromCombo.setText(fromUrl.substring(repositoryLocation.length()));
            }
        }
    });
    if (unblock)
        selectFromButton.setVisible(false);

    MergeWizard wizard = (MergeWizard) getWizard();
    resources = wizard.getResources();
    if (resources != null) {
        commonRoot = getCommonRoot();
        if (resources.length > 1) {
            relativeButton = new Button(outerContainer, SWT.CHECK);
            relativeButton.setText(Messages.MergeWizardStandardPage_relativeTo);
            data = new GridData();
            data.horizontalSpan = 3;
            relativeButton.setLayoutData(data);
            relativeButton.setSelection(true);
            relativeButton.addSelectionListener(new SelectionAdapter() {
                public void widgetSelected(SelectionEvent e) {
                    settings.put(MergeWizard.LAST_RELATIVE_PATH_CHOICE, relativeButton.getSelection());
                    viewer.refresh();
                }
            });

            Label label = new Label(outerContainer, SWT.NONE);
            label.setText(Messages.MergeWizardStandardPage_resources);
            data = new GridData();
            data.horizontalSpan = 3;
            label.setLayoutData(data);

            table = new Table(outerContainer, SWT.H_SCROLL | SWT.V_SCROLL | SWT.BORDER);
            table.setLinesVisible(false);
            table.setHeaderVisible(false);
            data = new GridData(GridData.FILL_HORIZONTAL);
            data.heightHint = 85;
            data.horizontalSpan = 3;
            table.setLayoutData(data);
            TableLayout tableLayout = new TableLayout();
            table.setLayout(tableLayout);
            viewer = new TableViewer(table);
            viewer.setContentProvider(new MergeContentProvider());
            ILabelDecorator decorator = PlatformUI.getWorkbench().getDecoratorManager().getLabelDecorator();
            viewer.setLabelProvider(new TableDecoratingLabelProvider(new MergeLabelProvider(), decorator));
            for (int i = 0; i < columnHeaders.length; i++) {
                tableLayout.addColumnData(columnLayouts[i]);
                TableColumn tc = new TableColumn(table, SWT.NONE, i);
                tc.setResizable(columnLayouts[i].resizable);
                tc.setText(columnHeaders[i]);
            }
            viewer.setInput(this);
        }
    }

    Group revisionsGroup = new Group(outerContainer, SWT.NONE);
    revisionsGroup.setText(Messages.MergeWizardStandardPage_revisions);
    GridLayout revisionsLayout = new GridLayout();
    revisionsLayout.numColumns = 1;
    revisionsGroup.setLayout(revisionsLayout);
    data = new GridData(GridData.GRAB_HORIZONTAL | GridData.HORIZONTAL_ALIGN_FILL);
    data.horizontalSpan = 3;
    revisionsGroup.setLayoutData(data);

    allButton = new Button(revisionsGroup, SWT.RADIO);
    allButton.setText(Messages.MergeWizardStandardPage_allEligible);
    selectButton = new Button(revisionsGroup, SWT.RADIO);
    selectButton.setText(Messages.MergeWizardStandardPage_selectRevisions);

    boolean selectRevisions = false;
    try {
        selectRevisions = settings.getBoolean("MergeWizardStandardPage.selectRevisions"); //$NON-NLS-1$
    } catch (Exception e) {
    }
    if (selectRevisions)
        selectButton.setSelection(true);
    else
        allButton.setSelection(true);

    SelectionListener selectionListener = new SelectionAdapter() {
        public void widgetSelected(SelectionEvent e) {
            settings.put("MergeWizardStandardPage.selectRevisions", selectButton.getSelection()); //$NON-NLS-1$
            setPageComplete(canFinish());
            if (multipleGroup != null) {
                multipleGroup.setEnabled(selectButton.getSelection());
                rootButton.setEnabled(selectButton.getSelection());
                separateButton.setEnabled(selectButton.getSelection());
            }
        }
    };

    allButton.addSelectionListener(selectionListener);
    selectButton.addSelectionListener(selectionListener);

    if (resources.length > 1) {
        multipleGroup = new Composite(revisionsGroup, SWT.NONE);
        GridLayout multipleLayout = new GridLayout();
        multipleLayout.numColumns = 1;
        multipleLayout.marginLeft = 20;
        multipleGroup.setLayout(multipleLayout);
        data = new GridData(GridData.GRAB_HORIZONTAL | GridData.HORIZONTAL_ALIGN_FILL);
        multipleGroup.setLayoutData(data);
        rootButton = new Button(multipleGroup, SWT.RADIO);
        rootButton.setText(Messages.MergeWizardStandardPage_0);
        separateButton = new Button(multipleGroup, SWT.RADIO);
        separateButton.setText(Messages.MergeWizardStandardPage_1);
        multipleGroup.setEnabled(selectButton.getSelection());
        rootButton.setEnabled(selectButton.getSelection());
        separateButton.setEnabled(selectButton.getSelection());
        boolean retrieveEligibleRevisionsSeparately = false;
        try {
            retrieveEligibleRevisionsSeparately = settings
                    .getBoolean(MergeWizard.LAST_RETRIEVE_ELIGIBLE_REVISIONS_SEPARATELY);
        } catch (Exception e) {
            settings.put(MergeWizard.LAST_RETRIEVE_ELIGIBLE_REVISIONS_SEPARATELY, false);
        }
        if (retrieveEligibleRevisionsSeparately)
            separateButton.setSelection(true);
        else
            rootButton.setSelection(true);
        SelectionListener multipleListener = new SelectionAdapter() {
            public void widgetSelected(SelectionEvent se) {
                settings.put(MergeWizard.LAST_RETRIEVE_ELIGIBLE_REVISIONS_SEPARATELY,
                        separateButton.getSelection());
                ((MergeWizard) getWizard()).setRetrieveRevisionsMethodChanged(true);
            }
        };
        rootButton.addSelectionListener(multipleListener);
        separateButton.addSelectionListener(multipleListener);
    }

    if (!showRevisionsButtons)
        revisionsGroup.setVisible(false);

    setPageComplete(canFinish());

    if (message == null)
        setMessage(Messages.MergeWizardStandardPage_specifyLocation);
    else
        setMessage(message);

    setControl(outerContainer);
}

From source file:com.crispico.flower.mp.model.eclipse_editor.Editor.java

License:Open Source License

/**
 * This is the method used by the framework to install your own controls.
 * <!-- begin-user-doc -->//from   w w  w .  j  av a  2s .  c o  m
 * <!-- end-user-doc -->
 * 
 */
@Override
public void createPages() {
    // Creates the model from the editor input
    //
    createModel();

    // Only creates the other pages if there is something that can be edited
    //
    if (!getEditingDomain().getResourceSet().getResources().isEmpty()) {
        // Create a page for the selection tree view.
        //
        {
            ViewerPane viewerPane = new ViewerPane(getSite().getPage(), Editor.this) {
                @Override
                public Viewer createViewer(Composite composite) {
                    Tree tree = new Tree(composite, SWT.MULTI);
                    TreeViewer newTreeViewer = new TreeViewer(tree);
                    return newTreeViewer;
                }

                @Override
                public void requestActivation() {
                    super.requestActivation();
                    setCurrentViewerPane(this);
                }
            };
            viewerPane.createControl(getContainer());

            selectionViewer = (TreeViewer) viewerPane.getViewer();
            selectionViewer.setContentProvider(new AdapterFactoryContentProvider(adapterFactory));

            selectionViewer.setLabelProvider(new AdapterFactoryLabelProvider(adapterFactory));
            selectionViewer.setInput(editingDomain.getResourceSet());
            selectionViewer.setSelection(
                    new StructuredSelection(editingDomain.getResourceSet().getResources().get(0)), true);
            viewerPane.setTitle(editingDomain.getResourceSet());

            new AdapterFactoryTreeEditor(selectionViewer.getTree(), adapterFactory);

            createContextMenuFor(selectionViewer);
            int pageIndex = addPage(viewerPane.getControl());
            setPageText(pageIndex, getString("_UI_SelectionPage_label"));
        }

        // Create a page for the parent tree view.
        //
        {
            ViewerPane viewerPane = new ViewerPane(getSite().getPage(), Editor.this) {
                @Override
                public Viewer createViewer(Composite composite) {
                    Tree tree = new Tree(composite, SWT.MULTI);
                    TreeViewer newTreeViewer = new TreeViewer(tree);
                    return newTreeViewer;
                }

                @Override
                public void requestActivation() {
                    super.requestActivation();
                    setCurrentViewerPane(this);
                }
            };
            viewerPane.createControl(getContainer());

            parentViewer = (TreeViewer) viewerPane.getViewer();
            parentViewer.setAutoExpandLevel(30);
            parentViewer.setContentProvider(new ReverseAdapterFactoryContentProvider(adapterFactory));
            parentViewer.setLabelProvider(new AdapterFactoryLabelProvider(adapterFactory));

            createContextMenuFor(parentViewer);
            int pageIndex = addPage(viewerPane.getControl());
            setPageText(pageIndex, getString("_UI_ParentPage_label"));
        }

        // This is the page for the list viewer
        //
        {
            ViewerPane viewerPane = new ViewerPane(getSite().getPage(), Editor.this) {
                @Override
                public Viewer createViewer(Composite composite) {
                    return new ListViewer(composite);
                }

                @Override
                public void requestActivation() {
                    super.requestActivation();
                    setCurrentViewerPane(this);
                }
            };
            viewerPane.createControl(getContainer());
            listViewer = (ListViewer) viewerPane.getViewer();
            listViewer.setContentProvider(new AdapterFactoryContentProvider(adapterFactory));
            listViewer.setLabelProvider(new AdapterFactoryLabelProvider(adapterFactory));

            createContextMenuFor(listViewer);
            int pageIndex = addPage(viewerPane.getControl());
            setPageText(pageIndex, getString("_UI_ListPage_label"));
        }

        // This is the page for the tree viewer
        //
        {
            ViewerPane viewerPane = new ViewerPane(getSite().getPage(), Editor.this) {
                @Override
                public Viewer createViewer(Composite composite) {
                    return new TreeViewer(composite);
                }

                @Override
                public void requestActivation() {
                    super.requestActivation();
                    setCurrentViewerPane(this);
                }
            };
            viewerPane.createControl(getContainer());
            treeViewer = (TreeViewer) viewerPane.getViewer();
            treeViewer.setContentProvider(new AdapterFactoryContentProvider(adapterFactory));
            treeViewer.setLabelProvider(new AdapterFactoryLabelProvider(adapterFactory));

            new AdapterFactoryTreeEditor(treeViewer.getTree(), adapterFactory);

            createContextMenuFor(treeViewer);
            int pageIndex = addPage(viewerPane.getControl());
            setPageText(pageIndex, getString("_UI_TreePage_label"));
        }

        // This is the page for the table viewer.
        //
        {
            ViewerPane viewerPane = new ViewerPane(getSite().getPage(), Editor.this) {
                @Override
                public Viewer createViewer(Composite composite) {
                    return new TableViewer(composite);
                }

                @Override
                public void requestActivation() {
                    super.requestActivation();
                    setCurrentViewerPane(this);
                }
            };
            viewerPane.createControl(getContainer());
            tableViewer = (TableViewer) viewerPane.getViewer();

            Table table = tableViewer.getTable();
            TableLayout layout = new TableLayout();
            table.setLayout(layout);
            table.setHeaderVisible(true);
            table.setLinesVisible(true);

            TableColumn objectColumn = new TableColumn(table, SWT.NONE);
            layout.addColumnData(new ColumnWeightData(3, 100, true));
            objectColumn.setText(getString("_UI_ObjectColumn_label"));
            objectColumn.setResizable(true);

            TableColumn selfColumn = new TableColumn(table, SWT.NONE);
            layout.addColumnData(new ColumnWeightData(2, 100, true));
            selfColumn.setText(getString("_UI_SelfColumn_label"));
            selfColumn.setResizable(true);

            tableViewer.setColumnProperties(new String[] { "a", "b" });
            tableViewer.setContentProvider(new AdapterFactoryContentProvider(adapterFactory));
            tableViewer.setLabelProvider(new AdapterFactoryLabelProvider(adapterFactory));

            createContextMenuFor(tableViewer);
            int pageIndex = addPage(viewerPane.getControl());
            setPageText(pageIndex, getString("_UI_TablePage_label"));
        }

        // This is the page for the table tree viewer.
        //
        {
            ViewerPane viewerPane = new ViewerPane(getSite().getPage(), Editor.this) {
                @Override
                public Viewer createViewer(Composite composite) {
                    return new TreeViewer(composite);
                }

                @Override
                public void requestActivation() {
                    super.requestActivation();
                    setCurrentViewerPane(this);
                }
            };
            viewerPane.createControl(getContainer());

            treeViewerWithColumns = (TreeViewer) viewerPane.getViewer();

            Tree tree = treeViewerWithColumns.getTree();
            tree.setLayoutData(new FillLayout());
            tree.setHeaderVisible(true);
            tree.setLinesVisible(true);

            TreeColumn objectColumn = new TreeColumn(tree, SWT.NONE);
            objectColumn.setText(getString("_UI_ObjectColumn_label"));
            objectColumn.setResizable(true);
            objectColumn.setWidth(250);

            TreeColumn selfColumn = new TreeColumn(tree, SWT.NONE);
            selfColumn.setText(getString("_UI_SelfColumn_label"));
            selfColumn.setResizable(true);
            selfColumn.setWidth(200);

            treeViewerWithColumns.setColumnProperties(new String[] { "a", "b" });
            treeViewerWithColumns.setContentProvider(new AdapterFactoryContentProvider(adapterFactory));
            treeViewerWithColumns.setLabelProvider(new AdapterFactoryLabelProvider(adapterFactory));

            createContextMenuFor(treeViewerWithColumns);
            int pageIndex = addPage(viewerPane.getControl());
            setPageText(pageIndex, getString("_UI_TreeWithColumnsPage_label"));
        }

        getSite().getShell().getDisplay().asyncExec(new Runnable() {
            public void run() {
                setActivePage(0);
            }
        });
    }

    // Ensures that this editor will only display the page's tab
    // area if there are more than one page
    //
    getContainer().addControlListener(new ControlAdapter() {
        boolean guard = false;

        @Override
        public void controlResized(ControlEvent event) {
            if (!guard) {
                guard = true;
                hideTabs();
                guard = false;
            }
        }
    });

    getSite().getShell().getDisplay().asyncExec(new Runnable() {
        public void run() {
            updateProblemIndication();
        }
    });
}

From source file:com.delegreg.rpgm.ui.editors.StatBlocksBlock.java

License:Open Source License

protected void createMasterPart(final IManagedForm managedForm, Composite parent) {
    //read the active statblocks description
    HashMap<Class, Class> statBlocks = Application.getStatBlocks();
    //final ScrolledForm form = managedForm.getForm();
    FormToolkit toolkit = managedForm.getToolkit();
    Section section = toolkit.createSection(parent, Section.DESCRIPTION | Section.TITLE_BAR);
    section.setText("Statblocks for this actor"); //$NON-NLS-1$
    section.setDescription(/*from ww w .j  a v a  2s .c om*/
            "Manage the statblocks for your actor, statblocks can be system specific depending on the RPG system plugins you have installed."); //$NON-NLS-1$
    section.marginWidth = 10;
    section.marginHeight = 5;
    Composite client = toolkit.createComposite(section, SWT.WRAP);
    GridLayout layout = new GridLayout();
    layout.numColumns = 2;
    layout.marginWidth = 2;
    layout.marginHeight = 2;
    client.setLayout(layout);
    Table t = toolkit.createTable(client, SWT.NULL);
    GridData gd = new GridData(GridData.FILL_BOTH);
    gd.heightHint = 20;
    gd.widthHint = 100;
    gd.verticalSpan = statBlocks.size() + 1;
    t.setLayoutData(gd);
    toolkit.paintBordersFor(client);
    for (Iterator it = statBlocks.keySet().iterator(); it.hasNext();) {
        Class sb = (Class) it.next();
        IStatBlock isb;
        try {
            isb = (IStatBlock) sb.newInstance();
        } catch (InstantiationException e1) {
            // TODO Auto-generated catch block
            e1.printStackTrace();
            return;
        } catch (IllegalAccessException e1) {
            // TODO Auto-generated catch block
            e1.printStackTrace();
            return;
        }
        Button b = toolkit.createButton(client, "Add " + isb.ClassName(), SWT.PUSH); //$NON-NLS-1$
        b.setToolTipText("Create a new " + isb.ClassName());
        b.setImage(isb.ClassIcon());
        b.setData(sb);
        b.addSelectionListener(new SelectionListener() {
            @Override
            public void widgetSelected(SelectionEvent e) {
                // TODO Replace Auto-generated method stub with statblock type selection
                IEditorInput input = (IEditorInput) page.getEditor().getEditorInput();
                Class sb = (Class) e.widget.getData();
                StatBlocks blocks = ((Actor) input.getAdapter(Actor.class)).getStatBlocks();
                IStatBlock isb;
                try {
                    isb = (IStatBlock) sb.newInstance();
                } catch (InstantiationException e1) {
                    // TODO Auto-generated catch block
                    e1.printStackTrace();
                    return;
                } catch (IllegalAccessException e1) {
                    // TODO Auto-generated catch block
                    e1.printStackTrace();
                    return;
                }
                isb.setName(isb.ClassName() + " n" + (blocks.size() + 1));
                blocks.add(isb);
                viewer.refresh();
            }

            @Override
            public void widgetDefaultSelected(SelectionEvent e) {
            }
        });
        gd = new GridData(GridData.VERTICAL_ALIGN_BEGINNING);
        b.setLayoutData(gd);
    }

    Button b2 = toolkit.createButton(client, "Remove", SWT.PUSH); //$NON-NLS-1$
    b2.setImage(AbstractUIPlugin.imageDescriptorFromPlugin(Application.PLUGIN_ID, IImageKeys.DELETEITEM)
            .createImage());
    b2.addSelectionListener(new SelectionListener() {
        @Override
        public void widgetSelected(SelectionEvent e) {
            // TODO Replace Auto-generated method stub with statblock type selection
            IEditorInput input = (IEditorInput) page.getEditor().getEditorInput();
            StatBlocks blocks = ((Actor) input.getAdapter(Actor.class)).getStatBlocks();
            StructuredSelection sel = (StructuredSelection) viewer.getSelection();
            for (Iterator iterator = sel.iterator(); iterator.hasNext();) {
                IStatBlock sb = (IStatBlock) iterator.next();
                if (blocks.contains(sb)) {
                    blocks.remove(sb);
                }
            }
            viewer.refresh();
        }

        @Override
        public void widgetDefaultSelected(SelectionEvent e) {
        }
    });
    gd = new GridData(GridData.VERTICAL_ALIGN_BEGINNING);
    b2.setLayoutData(gd);

    section.setClient(client);
    final SectionPart spart = new SectionPart(section);
    managedForm.addPart(spart);
    viewer = new TableViewer(t);
    viewer.addSelectionChangedListener(new ISelectionChangedListener() {
        public void selectionChanged(SelectionChangedEvent event) {
            managedForm.fireSelectionChanged(spart, event.getSelection());
            viewer.refresh();
        }
    });
    viewer.setContentProvider(new MasterContentProvider());
    viewer.setLabelProvider(new MasterLabelProvider());
    viewer.setInput(page.getEditor().getEditorInput());
}

From source file:com.diffplug.common.swt.jface.ColumnViewerFormat.java

License:Apache License

/** Builds a {@link TableViewer} on the given parent. */
public TableViewer buildTable(Composite parent) {
    Table control = Portal.buildTable(parent, style, linesVisible, headerVisible, columnBuilders);
    return buildViewer(new TableViewer(control), Arrays.asList(control.getColumns()), TableViewerColumn::new);
}

From source file:com.drgarbage.core.jface.SelectDialog.java

License:Apache License

protected Control createCustomArea(Composite parent) {
    listViewer = new TableViewer(parent);
    listViewer.getControl().setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
    listViewer.setContentProvider(new ArrayContentProvider());
    listViewer.setLabelProvider(new LabelProvider() {

        /* (non-Javadoc)
         * @see org.eclipse.jface.viewers.LabelProvider#getImage(java.lang.Object)
         *///from  w  w  w. j a  v  a  2  s .  c o  m
        public Image getImage(Object element) {
            return sListImage;
        }

        /* (non-Javadoc)
         * @see org.eclipse.jface.viewers.LabelProvider#getText(java.lang.Object)
         */
        public String getText(Object element) {
            return element.toString();
        }
    });

    return listViewer.getControl();
}

From source file:com.ebmwebsourcing.petals.common.internal.provisional.swt.ListWithButtonComposite.java

License:Open Source License

/**
 * Constructor.//from   w  ww.  jav  a  2 s  . c o m
 * <p>
 * The list and the button are created, but no property or layout data is set.
 * </p>
 *
 * @param parent the parent
 */
public ListWithButtonComposite(Composite parent) {

    super(parent, SWT.NONE);
    GridLayout layout = new GridLayout(2, false);
    layout.marginWidth = layout.marginHeight = 0;
    setLayout(layout);

    Table table = new Table(this, SWT.MULTI | SWT.BORDER);
    table.setLayoutData(new GridData(GridData.FILL_BOTH));

    this.viewer = new TableViewer(table);
    this.viewer.setContentProvider(new ArrayContentProvider());
    this.viewer.setLabelProvider(new LabelProvider() {
        @Override
        public String getText(Object element) {
            if (element instanceof File)
                return ((File) element).getAbsolutePath();
            return super.getText(element);
        }
    });

    Composite buttons = new Composite(this, SWT.NONE);
    layout = new GridLayout();
    layout.marginWidth = layout.marginHeight = 0;
    buttons.setLayout(layout);
    buttons.setLayoutData(new GridData(GridData.VERTICAL_ALIGN_BEGINNING));

    // ADD button
    this.addButton = new Button(buttons, SWT.PUSH);
    this.addButton.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));

    // REMOVE button
    this.removeButton = new Button(buttons, SWT.PUSH);
    this.removeButton.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
}

From source file:com.ebmwebsourcing.petals.common.internal.provisional.swt.StyledFilteredList.java

License:Open Source License

/**
 * Constructs a new filtered list./*from  w  w  w . j  a  va 2  s.c  o m*/
 * @param parent
 * @param style
 * @param labelProvider
 */
public StyledFilteredList(Composite parent, int style, IStyledLabelProvider labelProvider) {

    super(parent, SWT.NONE);
    GridLayout layout = new GridLayout();
    layout.marginHeight = 0;
    layout.marginWidth = 0;
    setLayout(layout);

    Table table = new Table(this, style);
    table.setLayoutData(new GridData(GridData.FILL_BOTH));
    table.addDisposeListener(new DisposeListener() {
        @Override
        public void widgetDisposed(DisposeEvent e) {
            StyledFilteredList.this.labelProvider.dispose();
            if (StyledFilteredList.this.fUpdateJob != null)
                StyledFilteredList.this.fUpdateJob.cancel();
        }
    });

    this.viewer = new TableViewer(table);
    this.viewer.setContentProvider(new ArrayContentProvider());
    this.labelProvider = new DelegatingStyledCellLabelProvider(labelProvider);
    this.viewer.setLabelProvider(this.labelProvider);

    this.viewer.addSelectionChangedListener(new ISelectionChangedListener() {
        @Override
        public void selectionChanged(SelectionChangedEvent event) {
            StyledFilteredList.this.selectedElements.clear();
            Object[] sel = ((IStructuredSelection) event.getSelection()).toArray();
            StyledFilteredList.this.selectedElements.addAll(Arrays.asList(sel));
        }
    });
}