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

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

Introduction

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

Prototype

public CheckboxTableViewer(Table table) 

Source Link

Document

Creates a table viewer on the given table control.

Usage

From source file:de.topicmapslab.onotoa.wordlisteditor.editor.WordListEditor.java

License:Open Source License

/**
 * Creates the table viewer and columns.
 * /*from w  ww . j av a 2  s  .  com*/
 * @param table
 *            the table which will be used by the wrapper
 */
private void initTable(final Table table) {

    TableColumnLayout layout = (TableColumnLayout) table.getParent().getLayout();
    table.setLinesVisible(true);
    table.setHeaderVisible(true);

    table.setMenu(new Menu(table));

    table.addKeyListener(new KeyAdapter() {
        /**
         * {@inheritDoc}
         */
        @Override
        public void keyPressed(KeyEvent e) {
            if ((e.keyCode == (int) 'c') && ((e.stateMask & SWT.CTRL) != 0)) {
                Clipboard clipboard = new Clipboard(e.widget.getDisplay());

                StringBuilder builder = new StringBuilder();

                String lineSeparator = System.getProperty("line.separator");
                IStructuredSelection sel = (IStructuredSelection) viewer.getSelection();

                Iterator<?> it = sel.iterator();
                while (it.hasNext()) {
                    Word w = (Word) it.next();
                    builder.append("\"");
                    builder.append(w.getWord());
                    builder.append("\"");
                    builder.append(";");
                    builder.append(w.getType().getName());
                    if (it.hasNext()) {
                        builder.append(lineSeparator);
                    }
                }
                clipboard.setContents(new Object[] { builder.toString() },
                        new Transfer[] { TextTransfer.getInstance() });

                clipboard.dispose();
            }
        }
    });

    viewer = new CheckboxTableViewer(table);
    viewer.setContentProvider(ArrayContentProvider.getInstance());
    viewer.addSelectionChangedListener(new ISelectionChangedListener() {

        @Override
        public void selectionChanged(SelectionChangedEvent event) {
            removeButton.setEnabled(viewer.getCheckedElements().length != 0);
        }
    });

    ColumnViewerEditorActivationStrategy actSupport = new ColumnViewerEditorActivationStrategy(viewer) {
        protected boolean isEditorActivationEvent(ColumnViewerEditorActivationEvent event) {
            return event.eventType == ColumnViewerEditorActivationEvent.TRAVERSAL
                    || event.eventType == ColumnViewerEditorActivationEvent.MOUSE_CLICK_SELECTION
                    || (event.eventType == ColumnViewerEditorActivationEvent.KEY_PRESSED
                            && event.keyCode == SWT.CR)
                    || event.eventType == ColumnViewerEditorActivationEvent.PROGRAMMATIC;
        }
    };

    TableViewerEditor.create(viewer, null, actSupport,
            ColumnViewerEditor.TABBING_HORIZONTAL | ColumnViewerEditor.TABBING_MOVE_TO_ROW_NEIGHBOR
                    | ColumnViewerEditor.TABBING_VERTICAL | ColumnViewerEditor.KEYBOARD_ACTIVATION);

    // word column
    TableViewerColumn tvc = new TableViewerColumn(viewer, SWT.NONE);
    layout.setColumnData(tvc.getColumn(), new ColumnWeightData(1));
    tvc.getColumn().setText("Word");
    tvc.setLabelProvider(new CellLabelProvider() {

        @Override
        public void update(ViewerCell cell) {
            cell.setText(((Word) cell.getElement()).getWord());
        }
    });

    tvc.setEditingSupport(new EditingSupport(viewer) {

        @Override
        protected void setValue(Object element, Object value) {
            WordListContainer wlc = (WordListContainer) viewer.getInput();

            Word w = (Word) element;
            if (w.getWord().equals(value))
                return;

            if (wlc.containsWord((String) value)) {
                MessageDialog.openInformation(table.getShell(), "Word already entered",
                        "The word <" + value + "> was already entered");
                return;
            }

            AbstractCommand cmd = null;
            cmd = new ModifyWordCommand(w, (String) value);
            commandStack.execute(cmd);
            viewer.refresh(element);

        }

        @Override
        protected Object getValue(Object element) {
            Word w = (Word) element;
            return w.getWord();
        }

        @Override
        protected CellEditor getCellEditor(Object element) {
            return new TextCellEditor(table);
        }

        @Override
        protected boolean canEdit(Object element) {
            return true;
        }
    });

    // create column sorter
    new AbstractColumnViewerSorter(viewer, tvc) {

        @Override
        public String getText(Object element) {
            return ((Word) element).getWord();
        }
    };

    // type column
    tvc = new TableViewerColumn(viewer, SWT.NONE);
    tvc.getColumn().setText("Type");
    layout.setColumnData(tvc.getColumn(), new ColumnWeightData(1));
    tvc.setLabelProvider(new CellLabelProvider() {

        @Override
        public void update(ViewerCell cell) {
            String name = ((Word) cell.getElement()).getType().getName();
            cell.setText(name);
            cell.setImage(ImageProvider.getImageOfKindOfTopic(KindOfTopicType.getByName(name)));

        }
    });
    tvc.setEditingSupport(new EditingSupport(viewer) {
        final String[] ITEMS = { KindOfTopicType.TOPIC_TYPE.getName(),
                KindOfTopicType.OCCURRENCE_TYPE.getName(), KindOfTopicType.NAME_TYPE.getName(),
                KindOfTopicType.ROLE_TYPE.getName(), KindOfTopicType.ASSOCIATION_TYPE.getName(),
                KindOfTopicType.NO_TYPE.getName() };

        @Override
        protected void setValue(Object element, Object value) {
            int val = (Integer) value;
            // jump from scope to no type index
            if (val == 5)
                val = 6;

            KindOfTopicType type = KindOfTopicType.get(val);

            WordListContainer wlc = (WordListContainer) viewer.getInput();
            Word w = (Word) element;

            AbstractCommand cmd = null;
            if (wlc.contains(w)) {
                cmd = new ModifyWordTypeCommand((Word) element, type);
                commandStack.execute(cmd);
                viewer.refresh(element);
            } else {
                cmd = new AddWordCommand(wlc, w.getWord(), type);
                commandStack.execute(cmd);
                viewer.refresh();
            }
        }

        @Override
        protected Object getValue(Object element) {
            int val = ((Word) element).getType().getValue();
            // switching from scope to no type
            if (val == 6)
                val = 5;
            return val;
        }

        @Override
        protected CellEditor getCellEditor(Object element) {
            ComboBoxCellEditor comboBoxCellEditor = new ComboBoxCellEditor(table, ITEMS, SWT.READ_ONLY);
            return comboBoxCellEditor;
        }

        @Override
        protected boolean canEdit(Object element) {
            return true;
        }
    });

    // create column sorter
    new AbstractColumnViewerSorter(viewer, tvc) {

        @Override
        public String getText(Object element) {
            if (((WordListContainer) viewer.getInput()).contains(element))
                return ((Word) element).getType().getName();
            // hack so hopefully the new element is always the last
            else
                return "zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzZ";
        }
    };

    tvc = new TableViewerColumn(viewer, SWT.NONE);
    layout.setColumnData(tvc.getColumn(), new ColumnWeightData(2));
    tvc.getColumn().setText("Comment");
    tvc.setLabelProvider(new CellLabelProvider() {

        @Override
        public void update(ViewerCell cell) {
            String tmp = ((Word) cell.getElement()).getComment();
            if (tmp == null)
                tmp = "";
            cell.setText(tmp);
        }
    });

    tvc.setEditingSupport(new EditingSupport(viewer) {

        @Override
        protected void setValue(Object element, Object value) {
            AbstractCommand cmd = null;
            cmd = new ModifyWordCommentCommand((Word) element, (String) value);
            commandStack.execute(cmd);
            viewer.refresh(element);

        }

        @Override
        protected Object getValue(Object element) {
            String tmp = ((Word) element).getComment();
            if (tmp == null)
                return "";
            return tmp;
        }

        @Override
        protected CellEditor getCellEditor(Object element) {
            return new TextCellEditor(table);
        }

        @Override
        protected boolean canEdit(Object element) {
            return true;
        }
    });
}

From source file:de.walware.ecommons.ui.dialogs.AbstractCheckboxSelectionDialog.java

License:Open Source License

protected Composite createCheckboxComposite(final Composite parent, final String message) {
    final Composite composite = new Composite(parent, SWT.NONE);
    composite.setLayout(LayoutUtil.createCompositeGrid(3));

    if (message != null) {
        final Label label = new Label(composite, SWT.NONE);
        label.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, false, 3, 1));
        label.setText(message);//  w  w w .  j a va 2  s. c  om
    }
    {
        final Table table = new Table(composite, SWT.BORDER | SWT.SINGLE | SWT.CHECK);
        final GridData gd = new GridData(SWT.FILL, SWT.FILL, true, true, 3, 1);
        gd.heightHint = 250;
        gd.widthHint = 300;
        table.setLayoutData(gd);

        fViewer = new CheckboxTableViewer(table);
        fViewer.addCheckStateListener(new ICheckStateListener() {
            @Override
            public void checkStateChanged(final CheckStateChangedEvent event) {
                updateCheckedStatus();
            }
        });

        configureViewer(fViewer);
    }

    {
        final Button button = new Button(composite, SWT.PUSH);
        final GridData gd = new GridData(SWT.FILL, SWT.CENTER, false, false);
        gd.widthHint = LayoutUtil.hintWidth(button);
        button.setLayoutData(gd);
        button.setText("Select All");
        button.addSelectionListener(new SelectionAdapter() {
            @Override
            public void widgetSelected(final SelectionEvent e) {
                getCheckBoxTableViewer().setAllChecked(true);
                updateCheckedStatus();
            }
        });
    }
    {
        final Button button = new Button(composite, SWT.PUSH);
        final GridData gd = new GridData(SWT.FILL, SWT.CENTER, false, false);
        gd.widthHint = LayoutUtil.hintWidth(button);
        button.setLayoutData(gd);
        button.setText("Deselect All");
        button.addSelectionListener(new SelectionAdapter() {
            @Override
            public void widgetSelected(final SelectionEvent e) {
                getCheckBoxTableViewer().setAllChecked(false);
                updateCheckedStatus();
            }
        });
    }
    return composite;
}

From source file:de.walware.eutils.autonature.internal.AutoNaturePreferencePage.java

License:Open Source License

@Override
protected Control createContents(final Composite parent) {
    final Composite composite = new Composite(parent, SWT.NONE);
    {/*w  ww . jav a 2  s .  com*/
        final GridLayout gd = new GridLayout();
        gd.marginWidth = 0;
        gd.marginHeight = 0;
        gd.numColumns = 1;
        composite.setLayout(gd);
    }
    {
        this.enableButton = new Button(composite, SWT.CHECK);
        this.enableButton.setText("Enable automatic project &configuration for:");
        this.enableButton.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false, 1, 1));
    }
    {
        final Composite tableComposite = new Composite(composite, SWT.NONE);
        this.entryViewer = new CheckboxTableViewer(
                new Table(tableComposite, SWT.CHECK | SWT.BORDER | SWT.FULL_SELECTION));
        final Table table = this.entryViewer.getTable();

        final GridData gd = new GridData(SWT.FILL, SWT.FILL, true, true, 2, 1);
        Dialog.applyDialogFont(tableComposite);
        gd.heightHint = table.getHeaderHeight() + table.getItemHeight() * 10;
        tableComposite.setLayoutData(gd);
        final TableColumnLayout tableLayout = new TableColumnLayout();
        tableComposite.setLayout(tableLayout);

        this.entryViewer.setContentProvider(new ArrayContentProvider());
        this.entryViewer.setComparator(new AutoConfigComparator());

        this.entryViewer.getTable().setHeaderVisible(true);
        {
            final TableViewerColumn column = new TableViewerColumn(this.entryViewer, SWT.LEFT);
            tableLayout.setColumnData(column.getColumn(), new ColumnWeightData(5, true));
            column.getColumn().setText("Content Type");
            column.setLabelProvider(new CellLabelProvider() {
                @Override
                public void update(final ViewerCell cell) {
                    final AutoConfig config = (AutoConfig) cell.getElement();
                    cell.setText(config.getLabel());
                }
            });
        }
        {
            final TableViewerColumn column = new TableViewerColumn(this.entryViewer, SWT.LEFT);
            tableLayout.setColumnData(column.getColumn(), new ColumnWeightData(5, true));
            column.getColumn().setText("Project Configuration");
            column.setLabelProvider(new CellLabelProvider() {
                @Override
                public void update(final ViewerCell cell) {
                    final AutoConfig config = (AutoConfig) cell.getElement();
                    final List<Task> tasks = config.getTasks();
                    if (tasks.size() == 1) {
                        cell.setText(tasks.get(0).getLabel());
                    } else {
                        final StringBuilder sb = new StringBuilder();
                        sb.append(tasks.get(0).getLabel());
                        for (int i = 1; i < tasks.size(); i++) {
                            sb.append(", ");
                            sb.append(tasks.get(i).getLabel());
                        }
                        cell.setText(sb.toString());
                    }
                }
            });
        }
    }

    Dialog.applyDialogFont(composite);

    loadConfigs();
    loadPrefs();

    return composite;
}

From source file:de.walware.statet.r.internal.ui.pkgmanager.PkgTab.java

License:Open Source License

private Composite createFilter(final Composite parent) {
    final Group composite = new Group(parent, SWT.NONE);
    composite.setLayout(LayoutUtil.createGroupGrid(1));
    composite.setText("Filter");

    {/*from  w  ww. j  ava  2  s  . com*/
        final SearchText text = new SearchText(composite);
        fFilterText = text;
        final GridData gd = new GridData(SWT.FILL, SWT.CENTER, true, false);
        gd.widthHint = LayoutUtil.hintWidth(text.getTextControl(), 20);
        text.setToolTipText("Name");
        text.setLayoutData(gd);
    }

    {
        //         Label label = new Label(composite, SWT.NONE);
        //         label.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, false));
        //         label.setText("State:");
        LayoutUtil.addSmallFiller(composite, false);

        {
            final Button button = new Button(composite, SWT.CHECK);
            fFilterInstButton = button;
            button.setText("Installed");
            button.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false));
        }
        //      {   Button button = new Button(composite, SWT.CHECK);
        //         fPkgFilterInstUptButton = button;
        //         button.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false));
        //         button.setText("With Update");
        //      }
        {
            final Button button = new Button(composite, SWT.CHECK);
            fFilterNotInstButton = button;
            button.setText("Not Installed");
            button.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false));
        }
    }
    {
        final Label label = new Label(composite, SWT.NONE);
        label.setText("Priorities:");
        label.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, false));

        final CheckboxTableViewer viewer = new CheckboxTableViewer(
                new Table(composite, SWT.CHECK | SWT.BORDER | SWT.MULTI | SWT.FULL_SELECTION | SWT.NO_SCROLL));
        fFilterPriorityTable = viewer;
        viewer.setContentProvider(new ArrayContentProvider());
        viewer.setLabelProvider(new LabelProvider());

        final GridData gd = new GridData(SWT.FILL, SWT.FILL, true, false);
        gd.heightHint = LayoutUtil.hintHeight(viewer.getTable(), IRPkgSet.Ext.DEFAULT_PRIORITIES.size(), false);
        viewer.getControl().setLayoutData(gd);
    }

    {
        final Label label = new Label(composite, SWT.NONE);
        label.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, false));
        label.setText("Task Views:");

        final Composite views = new Composite(composite, SWT.NONE);
        final GridData gd = new GridData(SWT.FILL, SWT.FILL, true, true);
        views.setLayoutData(gd);
        fFilterViewsStack = new StackLayout();
        views.setLayout(fFilterViewsStack);

        final Link link = new Link(views, SWT.MULTI);
        fFilterViewsMessage = link;
        link.addSelectionListener(new SelectionAdapter() {
            @Override
            public void widgetSelected(final SelectionEvent e) {
                showPkg(e.text);
            }
        });
        link.setText("");

        final CheckboxTableComposite table = new CheckboxTableComposite(views,
                SWT.CHECK | SWT.BORDER | SWT.MULTI | SWT.FULL_SELECTION);
        fFilterRViewsTable = table.viewer;
        table.viewer.setContentProvider(new ArrayContentProvider());
        ColumnViewerToolTipSupport.enableFor(table.viewer, ToolTip.NO_RECREATE);

        final TableViewerColumn column = table.addColumn("", SWT.LEFT, new ColumnWeightData(100, false));
        column.setLabelProvider(new RViewLabelProvider());

        gd.widthHint = LayoutUtil.hintWidth(table.table, 20);
        fFilterViewsStack.topControl = table;
    }

    return composite;
}

From source file:e4.handler.E4TemplatePreferencePage.java

License:Open Source License

@Override
protected Control createContents(Composite ancestor) {
    Composite parent = new Composite(ancestor, SWT.NONE);
    GridLayout layout = new GridLayout();
    layout.numColumns = 2;// w ww.  j  a va2s  .  co m
    layout.marginHeight = 0;
    layout.marginWidth = 0;
    parent.setLayout(layout);

    Composite innerParent = new Composite(parent, SWT.NONE);
    GridLayout innerLayout = new GridLayout();
    innerLayout.numColumns = 2;
    innerLayout.marginHeight = 0;
    innerLayout.marginWidth = 0;
    innerParent.setLayout(innerLayout);
    GridData gd = new GridData(GridData.FILL_BOTH);
    gd.horizontalSpan = 2;
    innerParent.setLayoutData(gd);

    Composite tableComposite = new Composite(innerParent, SWT.NONE);
    GridData data = new GridData(GridData.FILL_BOTH);
    data.widthHint = 360;
    data.heightHint = convertHeightInCharsToPixels(10);
    tableComposite.setLayoutData(data);

    ColumnLayout columnLayout = new ColumnLayout();
    tableComposite.setLayout(columnLayout);
    Table table = new Table(tableComposite,
            SWT.CHECK | SWT.BORDER | SWT.MULTI | SWT.FULL_SELECTION | SWT.H_SCROLL | SWT.V_SCROLL);

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

    GC gc = new GC(getShell());
    gc.setFont(JFaceResources.getDialogFont());

    TableColumn column1 = new TableColumn(table, SWT.NONE);
    column1.setText(TemplatesMessages.TemplatePreferencePage_column_name);
    int minWidth = computeMinimumColumnWidth(gc, TemplatesMessages.TemplatePreferencePage_column_name);
    columnLayout.addColumnData(new ColumnWeightData(2, minWidth, true));

    TableColumn column2 = new TableColumn(table, SWT.NONE);
    column2.setText(TemplatesMessages.TemplatePreferencePage_column_context);
    minWidth = computeMinimumContextColumnWidth(gc);
    columnLayout.addColumnData(new ColumnWeightData(1, minWidth, true));

    TableColumn column3 = new TableColumn(table, SWT.NONE);
    column3.setText(TemplatesMessages.TemplatePreferencePage_column_description);
    minWidth = computeMinimumColumnWidth(gc, TemplatesMessages.TemplatePreferencePage_column_description);
    columnLayout.addColumnData(new ColumnWeightData(3, minWidth, true));

    TableColumn column4 = new TableColumn(table, SWT.NONE);
    column4.setAlignment(SWT.CENTER);
    column4.setText(TemplatesMessages.TemplatePreferencePage_column_autoinsert);
    minWidth = computeMinimumColumnWidth(gc, TemplatesMessages.TemplatePreferencePage_column_autoinsert);
    minWidth = Math.max(minWidth, computeMinimumColumnWidth(gc, TemplatesMessages.TemplatePreferencePage_on));
    columnLayout.addColumnData(new ColumnPixelData(minWidth, false, false));

    gc.dispose();

    fTableViewer = new CheckboxTableViewer(table);
    fTableViewer.setLabelProvider(new TemplateLabelProvider());
    fTableViewer.setContentProvider(new TemplateContentProvider());

    fTableViewer.setComparator(new ViewerComparator() {
        @Override
        public int compare(Viewer viewer, Object object1, Object object2) {
            if ((object1 instanceof TemplatePersistenceData) && (object2 instanceof TemplatePersistenceData)) {
                Template left = ((TemplatePersistenceData) object1).getTemplate();
                Template right = ((TemplatePersistenceData) object2).getTemplate();
                int result = Collator.getInstance().compare(left.getName(), right.getName());
                if (result != 0)
                    return result;
                return Collator.getInstance().compare(left.getDescription(), right.getDescription());
            }
            return super.compare(viewer, object1, object2);
        }

        @Override
        public boolean isSorterProperty(Object element, String property) {
            return true;
        }
    });

    fTableViewer.addDoubleClickListener(new IDoubleClickListener() {
        public void doubleClick(DoubleClickEvent e) {
            edit();
        }
    });

    fTableViewer.addSelectionChangedListener(new ISelectionChangedListener() {
        public void selectionChanged(SelectionChangedEvent e) {
            selectionChanged1();
        }
    });

    fTableViewer.addCheckStateListener(new ICheckStateListener() {
        public void checkStateChanged(CheckStateChangedEvent event) {
            TemplatePersistenceData d = (TemplatePersistenceData) event.getElement();
            d.setEnabled(event.getChecked());
        }
    });

    BidiUtils.applyTextDirection(fTableViewer.getControl(), BidiUtils.BTD_DEFAULT);

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

    fAddButton = new Button(buttons, SWT.PUSH);
    fAddButton.setText(TemplatesMessages.TemplatePreferencePage_new);
    fAddButton.setLayoutData(getButtonGridData(fAddButton));
    fAddButton.addListener(SWT.Selection, new Listener() {
        public void handleEvent(Event e) {
            add();
        }
    });

    fEditButton = new Button(buttons, SWT.PUSH);
    fEditButton.setText(TemplatesMessages.TemplatePreferencePage_edit);
    fEditButton.setLayoutData(getButtonGridData(fEditButton));
    fEditButton.addListener(SWT.Selection, new Listener() {
        public void handleEvent(Event e) {
            edit();
        }
    });

    fRemoveButton = new Button(buttons, SWT.PUSH);
    fRemoveButton.setText(TemplatesMessages.TemplatePreferencePage_remove);
    fRemoveButton.setLayoutData(getButtonGridData(fRemoveButton));
    fRemoveButton.addListener(SWT.Selection, new Listener() {
        public void handleEvent(Event e) {
            remove();
        }
    });

    createSeparator(buttons);

    fRestoreButton = new Button(buttons, SWT.PUSH);
    fRestoreButton.setText(TemplatesMessages.TemplatePreferencePage_restore);
    fRestoreButton.setLayoutData(getButtonGridData(fRestoreButton));
    fRestoreButton.addListener(SWT.Selection, new Listener() {
        public void handleEvent(Event e) {
            restoreDeleted();
        }
    });

    fRevertButton = new Button(buttons, SWT.PUSH);
    fRevertButton.setText(TemplatesMessages.TemplatePreferencePage_revert);
    fRevertButton.setLayoutData(getButtonGridData(fRevertButton));
    fRevertButton.addListener(SWT.Selection, new Listener() {
        public void handleEvent(Event e) {
            revert();
        }
    });

    createSeparator(buttons);

    fImportButton = new Button(buttons, SWT.PUSH);
    fImportButton.setText(TemplatesMessages.TemplatePreferencePage_import);
    fImportButton.setLayoutData(getButtonGridData(fImportButton));
    fImportButton.addListener(SWT.Selection, new Listener() {
        public void handleEvent(Event e) {
            import_();
        }
    });

    fExportButton = new Button(buttons, SWT.PUSH);
    fExportButton.setText(TemplatesMessages.TemplatePreferencePage_export);
    fExportButton.setLayoutData(getButtonGridData(fExportButton));
    fExportButton.addListener(SWT.Selection, new Listener() {
        public void handleEvent(Event e) {
            export();
        }
    });

    fPatternViewer = doCreateViewer(parent);

    if (isShowFormatterSetting()) {
        fFormatButton = new Button(parent, SWT.CHECK);
        fFormatButton.setText(TemplatesMessages.TemplatePreferencePage_use_code_formatter);
        GridData gd1 = new GridData();
        gd1.horizontalSpan = 2;
        fFormatButton.setLayoutData(gd1);
        fFormatButton.setSelection(getPreferenceStore().getBoolean(getFormatterPreferenceKey()));
    }

    fTableViewer.setInput(fTemplateStore);
    fTableViewer.setAllChecked(false);
    fTableViewer.setCheckedElements(getEnabledTemplates());

    updateButtons();
    Dialog.applyDialogFont(parent);
    innerParent.layout();

    return parent;
}

From source file:edu.illinois.parallelism.openmp.refactoring.padscalarvariables.PadScalarVariablesUserInputWizardPage.java

License:Open Source License

private void createTableViewer() {
    tableViewer = new CheckboxTableViewer(table);
    tableViewer.setUseHashlookup(true);/*from w ww.j  av  a 2  s  .co m*/
    tableViewer.setColumnProperties(columnNames);

    tableContentProvider = new PadScalarVariableContentProvider();
    tableViewer.setContentProvider(tableContentProvider);
    tableViewer.setLabelProvider(new PadScalarVariableLabelProvider());
    tableViewer.addCheckStateListener(new ICheckStateListener() {

        @Override
        public void checkStateChanged(CheckStateChangedEvent event) {
            VariableToPadTuple tuple = (VariableToPadTuple) event.getElement();
            tuple.setShouldPad(event.getChecked());

            updateNavigation();
        }
    });

    tableViewer.setCellEditors(setUpCellEditors());
    tableViewer.setCellModifier(new BytesToPadCellModifier());
}

From source file:edu.ohio_state.khatchad.refactoring.ui.ConvertToEnumTypePage.java

License:Open Source License

private void createMemberTable(final Composite parent) {
    Composite composite = new Composite(parent, SWT.NONE);
    composite.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));
    GridLayout layout = new GridLayout(1, false);
    layout.marginWidth = 0;/*from w ww  . j a  v a2 s  .c  o m*/
    layout.marginHeight = 0;
    composite.setLayout(layout);

    final Table table = new Table(composite,
            SWT.H_SCROLL | SWT.V_SCROLL | SWT.MULTI | SWT.BORDER | SWT.FULL_SELECTION | SWT.CHECK);
    table.setLinesVisible(true);
    GridData gridData = new GridData(GridData.FILL_HORIZONTAL);
    table.setLayoutData(gridData);

    final GridData gd = new GridData(GridData.FILL_BOTH);
    gd.heightHint = SWTUtil.getTableHeightHint(table, 6);
    composite.setLayoutData(gd);

    fTableViewer = new CheckboxTableViewer(table);
    fTableViewer.setUseHashlookup(true);
    fTableViewer.setContentProvider(new ArrayContentProvider());
    fTableViewer.setLabelProvider(fLabelProvider);
    fTableViewer.addCheckStateListener(new ICheckStateListener() {

        public void checkStateChanged(final CheckStateChangedEvent event) {
            updateWizardPage(null, true);
        }
    });

    setTableInput();
}

From source file:era.foss.typeeditor.spectype.AttributeDefinitionDetailViewer.java

License:Open Source License

/**
 * Show UI elements for DatatypeDefintionEnumeration
 *//*  w ww  .j a v a 2 s . c  o  m*/
private void createDetailsEnumeration() {
    final AttributeDefinitionEnumeration attributeDefinitionEnum = (AttributeDefinitionEnumeration) master
            .getValue();

    // create label for multiValued property
    Label label = new Label(detailComposite, SWT.NONE);
    label.setText(Ui.getUiName(ErfPackage.Literals.ATTRIBUTE_DEFINITION_ENUMERATION__MULTI_VALUED));
    label.setLayoutData(new GridData(SWT.LEFT, SWT.CENTER, true, false));

    // create checkbox for multiValued property
    EAttribute[] isMultiValued = { ErfPackage.Literals.ATTRIBUTE_DEFINITION_ENUMERATION__MULTI_VALUED };
    BindingCheckBox multiValuedCheckbox = new BindingCheckBox(detailComposite, SWT.NONE);
    multiValuedCheckbox.setLayoutData(new GridData(SWT.LEFT, SWT.DEFAULT, true, false));
    multiValuedCheckbox.bind(editingDomain, isMultiValued, master);

    // create checkbox for enabling default value
    Button defaultValueCheckbox = createDefaultValueCheckbox(attributeDefinitionEnum,
            ErfPackage.Literals.ATTRIBUTE_DEFINITION_ENUMERATION__DEFAULT_VALUE);

    // create table for selecting default EnumValue elements
    Table defaultValueTable = new Table(detailComposite,
            SWT.MULTI | SWT.BORDER | SWT.FULL_SELECTION | SWT.CHECK);
    defaultValueTable.setLinesVisible(true);
    defaultValueTable.setHeaderVisible(true);

    final CheckboxTableViewer defaultValueTableViewer = new CheckboxTableViewer(defaultValueTable);
    defaultValueTable.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true, 2, 1));

    final ObservableListContentProvider cp = new ObservableListContentProvider();
    defaultValueTableViewer.setContentProvider(cp);

    TableViewerColumn column = new TableViewerColumn(defaultValueTableViewer, SWT.NONE);

    column.getColumn().setResizable(false);
    column.getColumn().setMoveable(false);
    column.getColumn().setText(Ui.getUiName(ErfPackage.Literals.ATTRIBUTE_VALUE_ENUMERATION__VALUES));
    column.getColumn().pack();

    // set label provider
    IValueProperty elementProperty = EMFEditProperties.value(editingDomain,
            FeaturePath.fromList(new EStructuralFeature[] { ErfPackage.Literals.IDENTIFIABLE__LONG_NAME }));
    IObservableMap attributeMap = elementProperty.observeDetail(cp.getKnownElements());
    column.setLabelProvider(new ObservableMapCellLabelProvider(attributeMap));

    // Add provider for the check stare of the table viewer
    // A value is checked if it is referred by the Default value of the AttributeDefintionEnumeration
    defaultValueTableViewer.setCheckStateProvider(new ICheckStateProvider() {
        @Override
        public boolean isGrayed(Object element) {
            return false;
        }

        @Override
        public boolean isChecked(Object element) {
            AttributeValueEnumeration enumDefaultValue = attributeDefinitionEnum.getDefaultValue();
            return enumDefaultValue != null && enumDefaultValue.getValues().contains(element);
        }
    });

    // If a EnumValue is selected add it to the list of Default values for the AttributeDefintionEnumeration
    // Otherwise remove it from the list of default values
    defaultValueTableViewer.addCheckStateListener(new ICheckStateListener() {

        @Override
        public void checkStateChanged(CheckStateChangedEvent event) {
            // we don't need to check if the default value object is null as
            // in this case table viewer is disabled
            assert (attributeDefinitionEnum.getDefaultValue() != null);

            EnumValue enumValue = ((EnumValue) event.getElement());
            Command command = null;

            if (event.getChecked() == true) {
                command = AddCommand.create(editingDomain, attributeDefinitionEnum.getDefaultValue(),
                        ErfPackage.Literals.ATTRIBUTE_VALUE_ENUMERATION__VALUES, enumValue);
            } else {
                command = RemoveCommand.create(editingDomain, attributeDefinitionEnum.getDefaultValue(),
                        ErfPackage.Literals.ATTRIBUTE_VALUE_ENUMERATION__VALUES, enumValue);
            }
            editingDomain.getCommandStack().execute(command);
        }
    });

    // observe values of DatatypeDefinition selected for the AttributeDefintionEnumeration
    IEMFListProperty enumerationProperty = EMFProperties.list(
            FeaturePath.fromList(new EStructuralFeature[] { ErfPackage.Literals.ATTRIBUTE_DEFINITION__TYPE,
                    ErfPackage.Literals.DATATYPE_DEFINITION_ENUMERATION__SPECIFIED_VALUES }));
    IObservableList dataTypeEnumValueObserver = enumerationProperty.observe(attributeDefinitionEnum);
    defaultValueTableViewer.setInput(dataTypeEnumValueObserver);

    // only enable table viewer in case a default value exists
    dataBindingContext.bindValue(SWTObservables.observeEnabled(defaultValueTable),
            SWTObservables.observeSelection(defaultValueCheckbox));

}

From source file:es.cv.gvcase.fefem.common.widgets.FilteredLoadResourceDialog.java

License:Open Source License

@Override
protected Control createDialogArea(Composite parent) {

    // If the EditingDomain is available then the dialog shows current loaded resources
    if (this.domain != null) {

        Group resContainer = new Group(parent, SWT.BORDER);
        resContainer.setText(Messages.FilteredLoadResourceDialog_LoadedResources);
        FillLayout rescontainerLayout = new FillLayout();
        rescontainerLayout.type = SWT.VERTICAL;
        rescontainerLayout.marginHeight = 5;
        rescontainerLayout.marginWidth = 5;
        rescontainerLayout.spacing = 5;/*  w  w  w .  j av  a2  s .co m*/
        resContainer.setLayout(rescontainerLayout);
        resContainer.setLayoutData(new GridData(GridData.FILL_BOTH));

        Table table = new Table(resContainer, SWT.BORDER | SWT.FULL_SELECTION | SWT.SINGLE);

        String[] columnNames = { Messages.FilteredLoadResourceDialog_ResourceLocation };

        TableViewer tableViewer = new TableViewer(table);
        tableViewer.setContentProvider(new ArrayContentProvider());
        tableViewer.setInput(this.domain.getResourceSet().getResources());
        tableViewer.setColumnProperties(columnNames);
        tableViewer.setLabelProvider(new CellLabelProvider() {

            @Override
            public void update(ViewerCell cell) {

                cell.setText(((Resource) cell.getElement()).getURI().toString());

            }

        });

        TableColumn tc0 = new TableColumn(table, SWT.LEFT);
        tc0.setText(columnNames[0]);
        tc0.setWidth(150);

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

    Group container = new Group(parent, SWT.BORDER);
    container.setText(Messages.FilteredLoadResourceDialog_ResourcePatterns);
    FillLayout containerLayout = new FillLayout();
    containerLayout.type = SWT.VERTICAL;
    containerLayout.marginHeight = 5;
    containerLayout.marginWidth = 5;
    containerLayout.spacing = 5;
    container.setLayout(containerLayout);
    container.setLayoutData(new GridData(GridData.FILL_BOTH));

    Table table = new Table(container, SWT.CHECK | SWT.BORDER | SWT.FULL_SELECTION | SWT.MULTI);

    String[] columnNames = { Messages.FilteredLoadResourceDialog_ResourcePattern,
            Messages.FilteredLoadResourceDialog_ResourcePatternDescription };

    TableColumn tc0 = new TableColumn(table, SWT.LEFT);
    tc0.setText(columnNames[0]);
    tc0.setWidth(100);
    TableColumn tc1 = new TableColumn(table, SWT.LEFT);
    tc1.setText(columnNames[1]);
    tc1.setWidth(140);

    CheckboxTableViewer tableViewer = new CheckboxTableViewer(table);
    tableViewer.setContentProvider(new ArrayContentProvider());
    tableViewer.setInput(resourcePatterns);
    tableViewer.setColumnProperties(columnNames);
    tableViewer.setLabelProvider(new CellLabelProvider() {

        @Override
        public void update(ViewerCell cell) {

            if (cell.getColumnIndex() == 0)
                cell.setText(((ResourceFilePattern) cell.getElement()).getPattern());
            else if (cell.getColumnIndex() == 1)
                cell.setText(((ResourceFilePattern) cell.getElement()).getDescription());

        }

    });

    tableViewer.addCheckStateListener(new ICheckStateListener() {
        public void checkStateChanged(CheckStateChangedEvent e) {
            ResourceFilePattern r = (ResourceFilePattern) e.getElement();

            if (!filter.isRegisteredExtensionPattern(r.getPattern())) {
                filter.registerExtensionPattern(r.getPattern());
            } else
                filter.unregisterExtensionPattern(r.getPattern());
        }
    });

    tableViewer.setAllChecked(true);

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

    return super.createDialogArea(parent);
}

From source file:eu.celar.ui.views.AuthTokenView.java

License:Open Source License

@Override
public void createPartControl(final Composite parent) {

    this.tokenTable = new Table(parent, SWT.CHECK | SWT.MULTI | SWT.FULL_SELECTION);
    this.tokenTable.setHeaderVisible(true);
    this.tokenTable.setLinesVisible(true);

    AuthenticationTokenManager manager = AuthenticationTokenManager.getManager();
    this.tokenList = new CheckboxTableViewer(this.tokenTable);
    this.tokenList.setLabelProvider(new AuthenticationTokenLabelProvider());
    this.tokenList.setContentProvider(new AuthenticationTokenContentProvider());

    TableColumnListener columnListener = new TableColumnListener(this.tokenList);

    TableColumn idColumn = new TableColumn(this.tokenTable, SWT.LEFT);
    idColumn.setText(Messages.getString("AuthTokenView.id_column_label")); //$NON-NLS-1$
    idColumn.setWidth(300);/*from w  ww  .  j  a v  a2 s . co m*/
    idColumn.setAlignment(SWT.LEFT);
    idColumn.addSelectionListener(columnListener);
    TableColumn typeColumn = new TableColumn(this.tokenTable, SWT.CENTER);
    typeColumn.setText(Messages.getString("AuthTokenView.type_column_label")); //$NON-NLS-1$
    typeColumn.setWidth(150);
    typeColumn.setAlignment(SWT.CENTER);
    typeColumn.addSelectionListener(columnListener);
    TableColumn stateColumn = new TableColumn(this.tokenTable, SWT.CENTER);
    stateColumn.setText(Messages.getString("AuthTokenView.state_column_label")); //$NON-NLS-1$
    stateColumn.setWidth(100);
    stateColumn.setAlignment(SWT.CENTER);
    stateColumn.addSelectionListener(columnListener);
    TableColumn lifetimeColumn = new TableColumn(this.tokenTable, SWT.CENTER);
    lifetimeColumn.setText(Messages.getString("AuthTokenView.lifetime_column_label")); //$NON-NLS-1$
    lifetimeColumn.setWidth(150);
    lifetimeColumn.setAlignment(SWT.CENTER);
    lifetimeColumn.addSelectionListener(columnListener);

    // Initially we sort the tokens by ID, ascending
    this.tokenTable.setSortColumn(idColumn);
    this.tokenTable.setSortDirection(SWT.UP);
    this.tokenList.setComparator(new TableColumnComparator(idColumn));

    this.tokenList.setInput(manager);
    IAuthenticationToken defaultToken = manager.getDefaultToken();
    if (defaultToken != null) {
        this.tokenList.setCheckedElements(new Object[] { defaultToken });
    }

    this.tokenList.addSelectionChangedListener(new ISelectionChangedListener() {
        public void selectionChanged(final SelectionChangedEvent event) {
            updateActions();
        }
    });
    this.tokenList.addCheckStateListener(new ICheckStateListener() {
        public void checkStateChanged(final CheckStateChangedEvent event) {
            Object element = event.getElement();
            if (element instanceof IAuthenticationToken) {
                IAuthenticationToken token = (IAuthenticationToken) element;
                AuthenticationTokenManager innerManager = AuthenticationTokenManager.getManager();
                if (!event.getChecked()) {
                    innerManager.setDefaultToken(null);
                }
                innerManager.setDefaultToken(token);
            }
        }
    });
    this.tokenList.addDoubleClickListener(new IDoubleClickListener() {
        public void doubleClick(final DoubleClickEvent e) {
            showSelectedTokenInfo();
        }
    });
    this.tokenTable.addKeyListener(new KeyAdapter() {
        @Override
        public void keyPressed(final KeyEvent event) {
            if (event.character == SWT.DEL && event.stateMask == 0) {
                removeSelectedTokens();
            }
        }
    });
    manager.addListener(this);

    createActions();
    createToolbar();
    createContextMenu();

    // Set as selection provider so that properties get updated
    getSite().setSelectionProvider(this.tokenList);

}