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:org.eclipse.ui.internal.editors.text.HyperlinkDetectorsConfigurationBlock.java

License:Open Source License

public Control createControl(Composite parent) {

    PixelConverter pixelConverter = new PixelConverter(parent);

    Composite composite = new Composite(parent, SWT.NONE);
    GridLayout layout = new GridLayout();
    layout.numColumns = 2;//from w w w .  j  a va  2s.  c o m
    layout.marginHeight = 0;
    layout.marginWidth = 0;
    composite.setLayout(layout);

    addFiller(composite, 2);

    String label = TextEditorMessages.HyperlinksEnabled_label;
    fHyperlinksEnabledCheckBox = addCheckBox(composite, label,
            AbstractDecoratedTextEditorPreferenceConstants.EDITOR_HYPERLINKS_ENABLED, 0);
    fHyperlinksEnabledCheckBox.addSelectionListener(new SelectionListener() {
        public void widgetSelected(SelectionEvent e) {
            boolean state = fHyperlinksEnabledCheckBox.getSelection();
            fHyperlinkDefaultKeyModifierText.setEnabled(state);
            fHyperlinkKeyModifierText.setEnabled(state && getSelectedItem() != null);
            fHyperlinkDetectorsViewer.getTable().setEnabled(state);
            handleHyperlinkKeyModifierModified();
        }

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

    // Text field for default modifier string
    label = TextEditorMessages.HyperlinkDefaultKeyModifier_label;
    fHyperlinkDefaultKeyModifierText = (Text) addTextField(composite, label,
            AbstractDecoratedTextEditorPreferenceConstants.EDITOR_HYPERLINK_KEY_MODIFIER, 15, 20,
            pixelConverter)[1];

    fHyperlinkDefaultKeyModifierText.addKeyListener(new KeyListener() {
        private boolean isModifierCandidate;

        public void keyPressed(KeyEvent e) {
            isModifierCandidate = e.keyCode > 0 && e.character == 0 && e.stateMask == 0;
        }

        public void keyReleased(KeyEvent e) {
            if (isModifierCandidate && e.stateMask > 0 && e.stateMask == e.stateMask && e.character == 0) {// && e.time -time < 1000) {
                String modifierString = fHyperlinkDefaultKeyModifierText.getText();
                Point selection = fHyperlinkDefaultKeyModifierText.getSelection();
                int i = selection.x - 1;
                while (i > -1 && Character.isWhitespace(modifierString.charAt(i))) {
                    i--;
                }
                boolean needsPrefixDelimiter = i > -1
                        && !String.valueOf(modifierString.charAt(i)).equals(MODIFIER_DELIMITER);

                i = selection.y;
                while (i < modifierString.length() && Character.isWhitespace(modifierString.charAt(i))) {
                    i++;
                }
                boolean needsPostfixDelimiter = i < modifierString.length()
                        && !String.valueOf(modifierString.charAt(i)).equals(MODIFIER_DELIMITER);

                String insertString;

                if (needsPrefixDelimiter && needsPostfixDelimiter)
                    insertString = NLSUtility.format(
                            TextEditorMessages.HyperlinkKeyModifier_insertDelimiterAndModifierAndDelimiter,
                            Action.findModifierString(e.stateMask));
                else if (needsPrefixDelimiter)
                    insertString = NLSUtility.format(
                            TextEditorMessages.HyperlinkKeyModifier_insertDelimiterAndModifier,
                            Action.findModifierString(e.stateMask));
                else if (needsPostfixDelimiter)
                    insertString = NLSUtility.format(
                            TextEditorMessages.HyperlinkKeyModifier_insertModifierAndDelimiter,
                            Action.findModifierString(e.stateMask));
                else
                    insertString = Action.findModifierString(e.stateMask);

                fHyperlinkDefaultKeyModifierText.insert(insertString);
            }
        }
    });

    fHyperlinkDefaultKeyModifierText.addModifyListener(new ModifyListener() {
        public void modifyText(ModifyEvent e) {
            handleHyperlinkDefaultKeyModifierModified();
        }
    });

    addFiller(composite, 2);

    Composite editorComposite = new Composite(composite, SWT.NONE);
    GridData gd;

    gd = new GridData(SWT.FILL, SWT.TOP, true, false);
    gd.horizontalSpan = 2;
    gd.horizontalIndent = 20;
    editorComposite.setLayoutData(gd);
    TableColumnLayout tableColumnlayout = new TableColumnLayout();
    editorComposite.setLayout(tableColumnlayout);

    // Hyperlink detector table
    Table hyperlinkDetectorTable = new Table(editorComposite,
            SWT.H_SCROLL | SWT.V_SCROLL | SWT.SINGLE | SWT.BORDER | SWT.FULL_SELECTION | SWT.CHECK);
    hyperlinkDetectorTable.setHeaderVisible(true);
    hyperlinkDetectorTable.setLinesVisible(true);
    hyperlinkDetectorTable.setFont(parent.getFont());

    hyperlinkDetectorTable.addSelectionListener(new SelectionListener() {
        public void widgetSelected(SelectionEvent e) {
            handleListSelection();
        }

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

    ColumnLayoutData columnLayoutData = new ColumnWeightData(1);

    TableColumn nameColumn = new TableColumn(hyperlinkDetectorTable, SWT.NONE, 0);
    nameColumn.setText(TextEditorMessages.HyperlinkDetectorTable_nameColumn);
    tableColumnlayout.setColumnData(nameColumn, columnLayoutData);

    TableColumn modifierKeysColumn = new TableColumn(hyperlinkDetectorTable, SWT.NONE, 1);
    modifierKeysColumn.setText(TextEditorMessages.HyperlinkDetectorTable_modifierKeysColumn);
    tableColumnlayout.setColumnData(modifierKeysColumn, columnLayoutData);

    TableColumn targetNameColumn = new TableColumn(hyperlinkDetectorTable, SWT.NONE, 2);
    targetNameColumn.setText(TextEditorMessages.HyperlinkDetectorTable_targetNameColumn);
    tableColumnlayout.setColumnData(targetNameColumn, columnLayoutData);

    fHyperlinkDetectorsViewer = new CheckboxTableViewer(hyperlinkDetectorTable);
    fHyperlinkDetectorsViewer.setUseHashlookup(true);

    fHyperlinkDetectorsViewer.addCheckStateListener(new ICheckStateListener() {
        /*
         * @see org.eclipse.jface.viewers.ICheckStateListener#checkStateChanged(org.eclipse.jface.viewers.CheckStateChangedEvent)
         */
        public void checkStateChanged(CheckStateChangedEvent event) {
            String id = ((ListItem) event.getElement()).id;
            if (id == null)
                return;
            fStore.setValue(id, !event.getChecked());
        }
    });

    fHyperlinkDetectorsViewer.setLabelProvider(new ItemLabelProvider());
    fHyperlinkDetectorsViewer.setContentProvider(new ItemContentProvider());
    gd = new GridData(SWT.FILL, SWT.FILL, true, false);
    gd.heightHint = pixelConverter.convertHeightInCharsToPixels(10);
    fHyperlinkDetectorsViewer.getControl().setLayoutData(gd);

    //      addFiller(composite, 2);

    // Text field for modifier string
    label = TextEditorMessages.HyperlinkKeyModifier_label;
    fHyperlinkKeyModifierText = (Text) addTextField(composite, label, null, 15, 20, pixelConverter)[1];

    fHyperlinkKeyModifierText.addKeyListener(new KeyListener() {
        private boolean isModifierCandidate;

        public void keyPressed(KeyEvent e) {
            isModifierCandidate = e.keyCode > 0 && e.character == 0 && e.stateMask == 0;
        }

        public void keyReleased(KeyEvent e) {
            if (isModifierCandidate && e.stateMask > 0 && e.stateMask == e.stateMask && e.character == 0) {// && e.time -time < 1000) {
                String modifierString = fHyperlinkKeyModifierText.getText();
                Point selection = fHyperlinkKeyModifierText.getSelection();
                int i = selection.x - 1;
                while (i > -1 && Character.isWhitespace(modifierString.charAt(i))) {
                    i--;
                }
                boolean needsPrefixDelimiter = i > -1
                        && !String.valueOf(modifierString.charAt(i)).equals(MODIFIER_DELIMITER);

                i = selection.y;
                while (i < modifierString.length() && Character.isWhitespace(modifierString.charAt(i))) {
                    i++;
                }
                boolean needsPostfixDelimiter = i < modifierString.length()
                        && !String.valueOf(modifierString.charAt(i)).equals(MODIFIER_DELIMITER);

                String insertString;

                if (needsPrefixDelimiter && needsPostfixDelimiter)
                    insertString = NLSUtility.format(
                            TextEditorMessages.HyperlinkKeyModifier_insertDelimiterAndModifierAndDelimiter,
                            Action.findModifierString(e.stateMask));
                else if (needsPrefixDelimiter)
                    insertString = NLSUtility.format(
                            TextEditorMessages.HyperlinkKeyModifier_insertDelimiterAndModifier,
                            Action.findModifierString(e.stateMask));
                else if (needsPostfixDelimiter)
                    insertString = NLSUtility.format(
                            TextEditorMessages.HyperlinkKeyModifier_insertModifierAndDelimiter,
                            Action.findModifierString(e.stateMask));
                else
                    insertString = Action.findModifierString(e.stateMask);

                fHyperlinkKeyModifierText.insert(insertString);
            }
        }
    });

    fHyperlinkKeyModifierText.addModifyListener(new ModifyListener() {
        public void modifyText(ModifyEvent e) {
            handleHyperlinkKeyModifierModified();
        }
    });

    return composite;
}

From source file:org.eclipse.ui.internal.net.NonProxyHostsComposite.java

License:Open Source License

protected void createWidgets() {
    setLayout(new GridLayout(2, false));

    hostsLabel = new Label(this, SWT.NONE);
    hostsLabel.setText(NetUIMessages.ProxyPreferencePage_12);
    hostsLabel.setLayoutData(new GridData(SWT.LEFT, SWT.TOP, false, false, 2, 1));

    Table hostsTable = new Table(this,
            SWT.BORDER | SWT.V_SCROLL | SWT.H_SCROLL | SWT.MULTI | SWT.FULL_SELECTION | SWT.CHECK);
    hostsTable.setHeaderVisible(true);//from w  ww.ja  va2  s .  c  o m
    hostsTable.setLinesVisible(true);
    hostsTable.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true, 1, 3));

    hostsViewer = new CheckboxTableViewer(hostsTable);
    NonProxyHostsLabelProvider labelProvider = new NonProxyHostsLabelProvider();
    NonProxyHostsContentProvider contentProvider = new NonProxyHostsContentProvider();
    labelProvider.createColumns(hostsViewer);
    hostsViewer.setContentProvider(contentProvider);
    hostsViewer.setLabelProvider(labelProvider);

    TableLayout tableLayout = new TableLayout();
    tableLayout.addColumnData(new ColumnPixelData(24));
    tableLayout.addColumnData(new ColumnWeightData(50, 50, true));
    tableLayout.addColumnData(new ColumnWeightData(50, 50, true));
    hostsTable.setLayout(tableLayout);

    addButton = createButton(NetUIMessages.ProxyPreferencePage_15);
    editButton = createButton(NetUIMessages.ProxyPreferencePage_16);
    removeButton = createButton(NetUIMessages.ProxyPreferencePage_17);

    hostsViewer.addSelectionChangedListener(new ISelectionChangedListener() {
        public void selectionChanged(SelectionChangedEvent event) {
            enableButtons();
        }
    });
    hostsViewer.addCheckStateListener(new ICheckStateListener() {
        public void checkStateChanged(CheckStateChangedEvent event) {
            setProvider(currentProvider);
        }
    });
    hostsViewer.addDoubleClickListener(new IDoubleClickListener() {
        public void doubleClick(DoubleClickEvent event) {
            editSelection();
        }
    });
    addButton.addSelectionListener(new SelectionAdapter() {
        public void widgetSelected(SelectionEvent e) {
            addHost();
        }
    });
    editButton.addSelectionListener(new SelectionAdapter() {
        public void widgetSelected(SelectionEvent e) {
            editSelection();
        }
    });
    removeButton.addSelectionListener(new SelectionAdapter() {
        public void widgetSelected(SelectionEvent e) {
            removeSelection();
        }
    });

    initializeValues();
    enableButtons();
}

From source file:org.eclipse.ui.internal.net.ProxyEntriesComposite.java

License:Open Source License

protected void createWidgets() {
    setLayout(new GridLayout(2, false));

    entriesLabel = new Label(this, SWT.NONE);
    entriesLabel.setText(NetUIMessages.ProxyPreferencePage_1);
    entriesLabel.setLayoutData(new GridData(SWT.BEGINNING, SWT.CENTER, false, false, 2, 1));

    Table entriesTable = new Table(this,
            SWT.BORDER | SWT.V_SCROLL | SWT.H_SCROLL | SWT.MULTI | SWT.FULL_SELECTION | SWT.CHECK);
    entriesTable.setHeaderVisible(true);
    entriesTable.setLinesVisible(true);//from   ww  w.jav  a 2s  .c om
    entriesTable.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true, 1, 3));

    entriesViewer = new CheckboxTableViewer(entriesTable);
    ProxyEntriesLabelProvider labelProvider = new ProxyEntriesLabelProvider();
    ProxyEntriesContentProvider contentProvider = new ProxyEntriesContentProvider();
    labelProvider.createColumns(entriesViewer);
    entriesViewer.setContentProvider(contentProvider);
    entriesViewer.setLabelProvider(labelProvider);

    TableLayout tableLayout = new TableLayout();
    tableLayout.addColumnData(new ColumnPixelData(24));
    tableLayout.addColumnData(new ColumnWeightData(20, 50, true));
    tableLayout.addColumnData(new ColumnWeightData(50, 50, true));
    tableLayout.addColumnData(new ColumnWeightData(20, 50, true));
    tableLayout.addColumnData(new ColumnWeightData(20, 50, true));
    tableLayout.addColumnData(new ColumnWeightData(20, 50, true));
    tableLayout.addColumnData(new ColumnWeightData(50, 50, true));
    tableLayout.addColumnData(new ColumnWeightData(50, 50, true));

    entriesTable.setLayout(tableLayout);

    // addButton = createButton(NetUIMessages.ProxyPreferencePage_9);
    editButton = createButton(NetUIMessages.ProxyPreferencePage_10);
    removeButton = createButton(NetUIMessages.ProxyPreferencePage_11);

    entriesViewer.addSelectionChangedListener(new ISelectionChangedListener() {
        public void selectionChanged(SelectionChangedEvent event) {
            enableButtons();
        }
    });
    entriesViewer.addCheckStateListener(new ICheckStateListener() {
        public void checkStateChanged(CheckStateChangedEvent event) {
            setProvider(currentProvider);
        }
    });
    entriesViewer.addDoubleClickListener(new IDoubleClickListener() {
        public void doubleClick(DoubleClickEvent event) {
            editSelection();
        }
    });
    // addButton.addSelectionListener(new SelectionAdapter() {
    // public void widgetSelected(SelectionEvent e) {
    // addEntry();
    // }
    // });
    editButton.addSelectionListener(new SelectionAdapter() {
        public void widgetSelected(SelectionEvent e) {
            editSelection();
        }
    });
    removeButton.addSelectionListener(new SelectionAdapter() {
        public void widgetSelected(SelectionEvent e) {
            removeSelection();
        }
    });

    initializeValues();
    enableButtons();
}

From source file:org.eclipse.ui.texteditor.templates.CTemplatePreferencePage.java

License:Open Source License

protected Control createContents(Composite ancestor) {
    Composite parent = new Composite(ancestor, SWT.NONE);
    GridLayout layout = new GridLayout();
    layout.numColumns = 2;// w  w w. ja va  2  s.c  o 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("Name");
    int minWidth = computeMinimumColumnWidth(gc, "Name");
    columnLayout.addColumnData(new ColumnWeightData(2, minWidth, true));

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

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

    // TableColumn column4 = new TableColumn(table, SWT.NONE);
    // column4.setAlignment(SWT.CENTER);
    // column4.setText("Auto Insert");
    // minWidth = computeMinimumColumnWidth(gc, "Auto Insert");
    // minWidth = Math.max(minWidth, computeMinimumColumnWidth(gc, "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() {
        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);
        }

        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());
        }
    });

    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("New...");
    fAddButton.setLayoutData(getButtonGridData(fAddButton));
    fAddButton.addListener(SWT.Selection, new Listener() {
        public void handleEvent(Event e) {
            add();
        }
    });
    fAddButton.setEnabled(false);

    fEditButton = new Button(buttons, SWT.PUSH);
    fEditButton.setText("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("Remove");
    fRemoveButton.setLayoutData(getButtonGridData(fRemoveButton));
    fRemoveButton.addListener(SWT.Selection, new Listener() {
        public void handleEvent(Event e) {
            remove();
        }
    });
    fRemoveButton.setEnabled(false);

    createSeparator(buttons);

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

    fRevertButton = new Button(buttons, SWT.PUSH);
    fRevertButton.setText("Revert to Default");
    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("Import...");
    fImportButton.setLayoutData(getButtonGridData(fImportButton));
    fImportButton.addListener(SWT.Selection, new Listener() {
        public void handleEvent(Event e) {
            import_();
        }
    });
    fImportButton.setEnabled(false);

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

    fPatternViewer = doCreateViewer(parent);

    if (isShowFormatterSetting()) {
        fFormatButton = new Button(parent, SWT.CHECK);
        fFormatButton.setText("Code Format");
        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:org.eclipse.ui.texteditor.templates.TemplatePreferencePage.java

License:Open Source License

protected Control createContents(Composite ancestor) {
    Composite parent = new Composite(ancestor, SWT.NONE);
    GridLayout layout = new GridLayout();
    layout.numColumns = 2;//from   ww  w . j  a v  a2s  . c o  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() {
        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);
        }

        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());
        }
    });

    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:org.eclipse.vtp.desktop.projects.interactive.core.util.InteractionTypeConfigurationScreen.java

License:Open Source License

/**
 * @param parent// w w  w.j  a v a 2 s .  co m
 * @return
 */
public Control createContents(Composite parent) {
    final FormToolkit toolkit = new FormToolkit(parent.getDisplay());
    ScrolledForm sf = toolkit.createScrolledForm(parent);
    Composite comp = sf.getForm().getBody();
    comp.setLayout(new GridLayout(1, true));
    comp.setBackground(parent.getBackground());

    Section brandSection = toolkit.createSection(comp, Section.TITLE_BAR);
    GridData gridData = new GridData(GridData.FILL_HORIZONTAL);
    brandSection.setLayoutData(gridData);
    brandSection.setText("Supported Interaction Types");

    Table table = new Table(comp, SWT.BORDER | SWT.FULL_SELECTION | SWT.CHECK | SWT.SINGLE);
    table.setHeaderVisible(true);
    TableLayout layout = new TableLayout();
    layout.addColumnData(new ColumnWeightData(1));
    table.setLayout(layout);
    TableColumn column = new TableColumn(table, SWT.NONE);
    column.setText("Interaction Type");
    column.setWidth(100);
    column.setResizable(true);
    GridData gd = new GridData(GridData.FILL_HORIZONTAL);
    gd.heightHint = 200;
    table.setLayoutData(gd);

    viewer = new CheckboxTableViewer(table);
    viewer.setContentProvider(new InteractionTypeContentProvider());
    InteractionTypeLabelProvider labelProvider = new InteractionTypeLabelProvider();
    viewer.setLabelProvider(labelProvider);
    viewer.setCheckStateProvider(labelProvider);
    viewer.addCheckStateListener(this);
    viewer.setInput(this);

    return comp;
}

From source file:org.eclipse.vtp.modules.standard.ui.properties.ReturnVariablesPropertyPanel.java

License:Open Source License

public void createControls(Composite parent) {
    parent.setLayout(new GridLayout(2, false));

    Table variableTable = new Table(parent, SWT.SINGLE | SWT.FULL_SELECTION | SWT.BORDER | SWT.CHECK);
    variableTable.setHeaderVisible(true);

    TableColumn nameColumn = new TableColumn(variableTable, SWT.NONE);
    nameColumn.setText("Variable Name");
    nameColumn.setWidth(150);/* w  w  w.  j av  a  2s  .  c  om*/

    TableColumn typeColumn = new TableColumn(variableTable, SWT.NONE);
    typeColumn.setText("Type");
    typeColumn.setWidth(150);

    GridData gd = new GridData(GridData.FILL_VERTICAL);
    gd.verticalSpan = 2;
    gd.widthHint = 505;
    gd.heightHint = 200;
    variableTable.setLayoutData(gd);
    variableViewer = new CheckboxTableViewer(variableTable);
    variableViewer.addCheckStateListener(new ICheckStateListener() {

        public void checkStateChanged(CheckStateChangedEvent event) {
            exportedVars.remove(((Variable) event.getElement()).getName());
            if (event.getChecked())
                exportedVars.add(((Variable) event.getElement()).getName());
        }

    });
    variableViewer.setColumnProperties(new String[] { "Name", "Type", "Value" });
    variableViewer.setContentProvider(new VariableContentProvider());
    variableViewer.setLabelProvider(new VariableLabelProvider());
    variableViewer.setInput(this);
    for (Variable vd : variables) {
        variableViewer.setChecked(vd, exportedVars.contains(vd.getName()));
    }

}

From source file:org.eclipse.wazaabi.engine.swt.commons.views.collections.SWTCollectionView.java

License:Open Source License

protected Widget createSWTWidget(Widget parent, int swtStyle, int index) {
    int style = computeSWTCreationStyle(getHost());

    LookAndFeel lookAndFeel = getLookAndFeel();
    if (lookAndFeel == null)
        lookAndFeel = LookAndFeel.TABLE;

    switch (lookAndFeel.getValue()) {
    case LookAndFeel.COMBOBOX_VALUE:
        viewer = new ComboViewer(
                createCombo((org.eclipse.swt.widgets.Composite) parent, style | SWT.READ_ONLY)) {

            public void setLabelProvider(IBaseLabelProvider labelProvider) {
                assert labelProvider instanceof IBaseLabelProvider;
                IBaseLabelProvider oldProvider = SWTCollectionView.this.labelProvider;
                // If it hasn't changed, do nothing.
                // This also ensures that the provider is not disposed
                // if set a second time.
                if (labelProvider == oldProvider) {
                    return;
                }//from   w w w .  j  av a  2 s.c  om

                SWTCollectionView.this.labelProvider = (IBaseLabelProvider) labelProvider;

                refresh();

                // Dispose old provider after refresh, so that items never
                // refer to stale images.
                if (oldProvider != null) {
                    oldProvider.dispose();
                }
            }

            public IBaseLabelProvider getLabelProvider() {
                if (labelProvider == null)
                    return defaultComboLabelProvider;
                return labelProvider;
            }

        };
        viewer.addSelectionChangedListener(getSelectionChangedListener());
        return ((ComboViewer) viewer).getCombo();
    case LookAndFeel.TREE_VALUE: {
        org.eclipse.swt.widgets.Composite layoutHolder = createLayoutHolder(
                (org.eclipse.swt.widgets.Composite) parent, SWT.NONE);
        layoutHolder.setLayout(new TreeColumnLayout());

        if (isCheckable()) {
            viewer = new CheckboxTreeViewer(createTree(layoutHolder,
                    SWT.CHECK | computeSWTCreationStyle(getHost()) | computeSWTCreationStyleForTableOrTree()));
            ((CheckboxTreeViewer) viewer).addCheckStateListener(getCheckStateListener());
        } else
            viewer = new TreeViewer(createTree(layoutHolder,
                    computeSWTCreationStyle(getHost()) | computeSWTCreationStyleForTableOrTree()));
        viewer.addSelectionChangedListener(getSelectionChangedListener());
        return layoutHolder;
    }
    case LookAndFeel.TABLE_VALUE: {
        org.eclipse.swt.widgets.Composite layoutHolder = createLayoutHolder(
                (org.eclipse.swt.widgets.Composite) parent, SWT.NONE);
        layoutHolder.setLayout(new TableColumnLayout());

        if (isCheckable()) {
            viewer = new CheckboxTableViewer(createTable(layoutHolder,
                    SWT.CHECK | computeSWTCreationStyle(getHost()) | computeSWTCreationStyleForTableOrTree()));
            ((CheckboxTableViewer) viewer).addCheckStateListener(getCheckStateListener());

        } else
            viewer = new TableViewer(layoutHolder,
                    computeSWTCreationStyle(getHost()) | computeSWTCreationStyleForTableOrTree());
        viewer.addSelectionChangedListener(getSelectionChangedListener());
        return layoutHolder;
    }
    }
    throw new RuntimeException("Invalid LookAndFeel value"); //$NON-NLS-1$
}

From source file:org.eclipse.wst.jsdt.internal.ui.preferences.InstalledJSRuntimesBlock.java

License:Open Source License

/**
 * Creates this block's control in the given control.
 * /* www  . j av a 2  s.co m*/
 * @param ancestor containing control
 */
public void createControl(Composite ancestor) {
    Font font = ancestor.getFont();
    Composite parent = SWTFactory.createComposite(ancestor, font, 2, 1, GridData.FILL_BOTH);
    fControl = parent;

    SWTFactory.createLabel(parent, PreferencesMessages.InstalledJSRuntimesBlock_InstalledRuntimes_Label, 2);

    fTable = new Table(parent, SWT.CHECK | SWT.BORDER | SWT.MULTI | SWT.FULL_SELECTION);
    GridData gd = new GridData(GridData.FILL_BOTH);
    gd.heightHint = 250;
    gd.widthHint = 350;
    fTable.setLayoutData(gd);
    fTable.setFont(font);
    fTable.setHeaderVisible(true);
    fTable.setLinesVisible(true);

    TableColumn column = new TableColumn(fTable, SWT.NULL);
    column.setText(PreferencesMessages.InstalledJSRuntimesBlock_NameColumn_Label);
    column.addSelectionListener(new SelectionAdapter() {
        @Override
        public void widgetSelected(SelectionEvent e) {
            sortByName();
            fRuntimeList.refresh(true);
        }
    });
    int defaultwidth = 350 / 2 + 1;
    column.setWidth(defaultwidth);

    column = new TableColumn(fTable, SWT.NULL);
    column.setText(PreferencesMessages.InstalledJSRuntimesBlock_LocationColumn_Label);
    column.addSelectionListener(new SelectionAdapter() {
        @Override
        public void widgetSelected(SelectionEvent e) {
            sortByLocation();
            fRuntimeList.refresh(true);
        }
    });
    column.setWidth(defaultwidth);

    fRuntimeList = new CheckboxTableViewer(fTable);
    fRuntimeList.setLabelProvider(new RuntimeInstallsLabelProvider());
    fRuntimeList.setContentProvider(new RuntimeInstallsContentProvider());
    fRuntimeList.setUseHashlookup(true);
    // by default, sort by name
    sortByName();

    fRuntimeList.addSelectionChangedListener(new ISelectionChangedListener() {
        @Override
        public void selectionChanged(SelectionChangedEvent evt) {
            enableButtons();
        }
    });

    fRuntimeList.addCheckStateListener(new ICheckStateListener() {
        @Override
        public void checkStateChanged(CheckStateChangedEvent event) {
            if (event.getChecked()) {
                setCheckedRuntimeInstall((IJSRuntimeInstall) event.getElement());
            } else {
                setCheckedRuntimeInstall(null);
            }
        }
    });

    fRuntimeList.addDoubleClickListener(new IDoubleClickListener() {
        @Override
        public void doubleClick(DoubleClickEvent e) {
            if (!fRuntimeList.getSelection().isEmpty()) {
                editRuntime();
            }
        }
    });
    fTable.addKeyListener(new KeyAdapter() {
        @Override
        public void keyPressed(KeyEvent event) {
            if (event.character == SWT.DEL && event.stateMask == 0) {
                if (fRemoveButton.isEnabled()) {
                    removeRuntimes();
                }
            }
        }
    });

    Composite buttons = SWTFactory.createComposite(parent, font, 1, 1, GridData.VERTICAL_ALIGN_BEGINNING, 0, 0);

    fAddButton = SWTFactory.createPushButton(buttons,
            PreferencesMessages.InstalledJSRuntimesBlock_AddButton_Label, null);
    fAddButton.addListener(SWT.Selection, new Listener() {
        @Override
        public void handleEvent(Event evt) {
            addRuntime();
        }
    });

    fEditButton = SWTFactory.createPushButton(buttons,
            PreferencesMessages.InstalledJSRuntimesBlock_EditButton_Label, null);
    fEditButton.addListener(SWT.Selection, new Listener() {
        @Override
        public void handleEvent(Event evt) {
            editRuntime();
        }
    });

    fCopyButton = SWTFactory.createPushButton(buttons,
            PreferencesMessages.InstalledJSRuntimesBlock_DuplicateButton_Label, null);
    fCopyButton.addListener(SWT.Selection, new Listener() {
        @Override
        public void handleEvent(Event evt) {
            copyRuntime();
        }
    });

    fRemoveButton = SWTFactory.createPushButton(buttons,
            PreferencesMessages.InstalledJSRuntimesBlock_RemoveButton_Label, null);
    fRemoveButton.addListener(SWT.Selection, new Listener() {
        @Override
        public void handleEvent(Event evt) {
            removeRuntimes();
        }
    });

    SWTFactory.createVerticalSpacer(parent, 1);

    enableButtons();
    fAddButton.setEnabled(JSRuntimeManager.getJSRuntimeTypes().size() > 0);
}

From source file:org.eclipse.wst.server.ui.internal.editor.OverviewEditorPart.java

License:Open Source License

protected void createPublishSection(Composite rightColumnComp, FormToolkit toolkit) {
    Section section = toolkit.createSection(rightColumnComp, ExpandableComposite.TWISTIE
            | ExpandableComposite.TITLE_BAR | Section.DESCRIPTION | ExpandableComposite.FOCUS_TITLE);
    section.setText(Messages.serverEditorOverviewPublishSection);
    section.setDescription(Messages.serverEditorOverviewPublishDescription);
    section.setLayoutData(new GridData(GridData.FILL_HORIZONTAL | GridData.VERTICAL_ALIGN_FILL));

    Composite composite = toolkit.createComposite(section);
    GridLayout layout = new GridLayout();
    layout.numColumns = 2;//  www .j ava2s  .  c om
    layout.marginHeight = 5;
    layout.marginWidth = 10;
    layout.verticalSpacing = 5;
    layout.horizontalSpacing = 15;
    composite.setLayout(layout);
    composite.setLayoutData(new GridData(GridData.FILL_HORIZONTAL | GridData.VERTICAL_ALIGN_FILL));
    IWorkbenchHelpSystem whs = PlatformUI.getWorkbench().getHelpSystem();
    whs.setHelp(composite, ContextIds.EDITOR_OVERVIEW_PAGE);
    toolkit.paintBordersFor(composite);
    section.setClient(composite);

    //    auto-publish
    if (server != null) {
        final Server svr = (Server) server;
        int publishSetting = svr.getAutoPublishSetting();

        GridData data = new GridData(GridData.FILL_HORIZONTAL);
        autoPublishDisable = toolkit.createButton(composite, Messages.serverEditorOverviewAutoPublishDisable,
                SWT.RADIO);
        data = new GridData(GridData.FILL_HORIZONTAL);
        data.horizontalSpan = 2;
        autoPublishDisable.setLayoutData(data);
        autoPublishDisable.setSelection(publishSetting == Server.AUTO_PUBLISH_DISABLE);
        whs.setHelp(autoPublishDisable, ContextIds.EDITOR_AUTOPUBLISH_DISABLE);

        autoPublishEnableResource = toolkit.createButton(composite,
                Messages.serverEditorOverviewAutoPublishEnabledResource, SWT.RADIO);
        autoPublishEnableResource.setSelection(publishSetting == Server.AUTO_PUBLISH_RESOURCE);
        data = new GridData(GridData.FILL_HORIZONTAL);
        data.horizontalSpan = 2;
        autoPublishEnableResource.setLayoutData(data);
        whs.setHelp(autoPublishEnableResource, ContextIds.EDITOR_AUTOPUBLISH_ENABLE);

        autoPublishEnableBuild = toolkit.createButton(composite,
                Messages.serverEditorOverviewAutoPublishEnabledBuild, SWT.RADIO);
        autoPublishEnableBuild.setSelection(publishSetting == Server.AUTO_PUBLISH_BUILD);
        data = new GridData(GridData.FILL_HORIZONTAL);
        data.horizontalSpan = 2;
        autoPublishEnableBuild.setLayoutData(data);
        whs.setHelp(autoPublishEnableBuild, ContextIds.EDITOR_AUTOPUBLISH_BUILD);

        final Label autoPublishTimeLabel = createLabel(toolkit, composite,
                Messages.serverEditorOverviewAutoPublishEnabledInterval);
        data = new GridData();
        data.horizontalIndent = 20;
        autoPublishTimeLabel.setLayoutData(data);
        autoPublishTimeLabel.setEnabled(!autoPublishDisable.getSelection());

        autoPublishTime = new Spinner(composite, SWT.BORDER);
        autoPublishTime.setMinimum(0);
        autoPublishTime.setIncrement(5);
        autoPublishTime.setMaximum(120);
        autoPublishTime.setSelection(svr.getAutoPublishTime());
        data = new GridData(GridData.HORIZONTAL_ALIGN_END);
        data.widthHint = 30;
        autoPublishTime.setLayoutData(data);
        autoPublishTime.setEnabled(!autoPublishDisable.getSelection());
        SWTUtil.setSpinnerTooltip(autoPublishTime);
        whs.setHelp(autoPublishTime, ContextIds.EDITOR_AUTOPUBLISH_INTERVAL);

        autoPublishEnableResource.addSelectionListener(new SelectionAdapter() {
            public void widgetSelected(SelectionEvent e) {
                if (updating || !autoPublishEnableResource.getSelection())
                    return;
                updating = true;
                execute(new SetServerAutoPublishDefaultCommand(getServer(), Server.AUTO_PUBLISH_RESOURCE));
                updating = false;
                autoPublishTimeLabel.setEnabled(!autoPublishDisable.getSelection());
                autoPublishTime.setEnabled(!autoPublishDisable.getSelection());
                validate();
            }
        });

        autoPublishEnableBuild.addSelectionListener(new SelectionAdapter() {
            public void widgetSelected(SelectionEvent e) {
                if (updating || !autoPublishEnableBuild.getSelection())
                    return;
                updating = true;
                execute(new SetServerAutoPublishDefaultCommand(getServer(), Server.AUTO_PUBLISH_BUILD));
                updating = false;
                autoPublishTimeLabel.setEnabled(!autoPublishDisable.getSelection());
                autoPublishTime.setEnabled(!autoPublishDisable.getSelection());
                validate();
            }
        });

        autoPublishDisable.addSelectionListener(new SelectionAdapter() {
            public void widgetSelected(SelectionEvent e) {
                if (updating || !autoPublishDisable.getSelection())
                    return;
                updating = true;
                execute(new SetServerAutoPublishDefaultCommand(getServer(), Server.AUTO_PUBLISH_DISABLE));
                updating = false;
                autoPublishTimeLabel.setEnabled(!autoPublishDisable.getSelection());
                autoPublishTime.setEnabled(!autoPublishDisable.getSelection());
                validate();
            }
        });

        autoPublishTime.addModifyListener(new ModifyListener() {
            public void modifyText(ModifyEvent e) {
                if (updating)
                    return;
                updating = true;
                execute(new SetServerAutoPublishTimeCommand(getServer(), autoPublishTime.getSelection()));
                SWTUtil.setSpinnerTooltip(autoPublishTime);
                updating = false;
                validate();
            }
        });

        // publishers
        Publisher[] pubs = ((Server) server).getAllPublishers();
        if (pubs != null && pubs.length > 0) {
            Label label = toolkit.createLabel(composite, Messages.serverEditorOverviewPublishers);
            data = new GridData(GridData.FILL_HORIZONTAL);
            data.horizontalSpan = 2;
            label.setLayoutData(data);

            publishersTable = toolkit.createTable(composite,
                    SWT.V_SCROLL | SWT.H_SCROLL | SWT.FULL_SELECTION | SWT.CHECK);
            publishersTable.setHeaderVisible(false);
            publishersTable.setLinesVisible(false);
            whs.setHelp(publishersTable, ContextIds.EDITOR_PUBLISHTASKS_CONFIGURATION);

            data = new GridData(GridData.FILL_HORIZONTAL | GridData.VERTICAL_ALIGN_FILL);
            data.horizontalSpan = 2;
            data.heightHint = 80;
            publishersTable.setLayoutData(data);

            publishersViewer = new CheckboxTableViewer(publishersTable);
            publishersViewer.setColumnProperties(new String[] { "name" });
            publishersViewer.setContentProvider(new PublisherContentProvider(pubs));
            publishersViewer.setLabelProvider(new PublishLabelProvider());
            publishersViewer.setInput("root");

            Publisher[] pubs2 = ((Server) server).getEnabledPublishers();
            for (Publisher p : pubs2)
                publishersViewer.setChecked(p, true);

            publishersViewer.addCheckStateListener(new ICheckStateListener() {
                public void checkStateChanged(CheckStateChangedEvent event) {
                    Object element = event.getElement();
                    if (element == null || !(element instanceof Publisher))
                        return;
                    if (updating)
                        return;
                    updating = true;
                    execute(new SetPublisherEnablementCommand(getServer(), (Publisher) element,
                            event.getChecked()));
                    updating = false;
                }
            });
        }
    }
}