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.dltk.mod.ui.preferences.ScriptEditorHoverConfigurationBlock.java

License:Open Source License

/**
 * Creates page for hover preferences./*from  www.jav a2 s. c o m*/
 * 
 * @param parent
 *            the parent composite
 * @return the control for the preference page
 */
public Control createControl(Composite parent) {

    Composite hoverComposite = new Composite(parent, SWT.NONE);
    GridLayout layout = new GridLayout();
    layout.numColumns = 2;
    hoverComposite.setLayout(layout);

    String rollOverLabel = PreferencesMessages.DLTKEditorHoverConfigurationBlock_annotationRollover;
    addCheckBox(hoverComposite, rollOverLabel, PreferenceConstants.EDITOR_ANNOTATION_ROLL_OVER, 0);

    GridData gd;

    addFiller(hoverComposite);

    Label label = new Label(hoverComposite, SWT.NONE);
    label.setText(PreferencesMessages.DLTKEditorHoverConfigurationBlock_hoverPreferences);
    gd = new GridData(GridData.FILL_HORIZONTAL);
    gd.horizontalAlignment = GridData.BEGINNING;
    gd.horizontalSpan = 2;
    label.setLayoutData(gd);

    TableLayoutComposite layouter = new TableLayoutComposite(hoverComposite, SWT.NONE);
    addColumnLayoutData(layouter);

    // Hover table
    fHoverTable = new Table(layouter,
            SWT.H_SCROLL | SWT.V_SCROLL | SWT.SINGLE | SWT.BORDER | SWT.FULL_SELECTION | SWT.CHECK);
    fHoverTable.setHeaderVisible(true);
    fHoverTable.setLinesVisible(true);

    gd = new GridData(GridData.FILL_HORIZONTAL);
    gd.heightHint = SWTUtil.getTableHeightHint(fHoverTable, 10);
    gd.horizontalSpan = 2;
    gd.widthHint = new PixelConverter(parent).convertWidthInCharsToPixels(30);
    layouter.setLayoutData(gd);

    fHoverTable.addSelectionListener(new SelectionListener() {
        public void widgetSelected(SelectionEvent e) {
            handleHoverListSelection();
        }

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

    TableLayout tableLayout = new TableLayout();
    fHoverTable.setLayout(tableLayout);

    fNameColumn = new TableColumn(fHoverTable, SWT.NONE);
    fNameColumn.setText(PreferencesMessages.DLTKEditorHoverConfigurationBlock_nameColumnTitle);
    fNameColumn.setResizable(true);

    fModifierColumn = new TableColumn(fHoverTable, SWT.NONE);
    fModifierColumn.setText(PreferencesMessages.DLTKEditorHoverConfigurationBlock_modifierColumnTitle);
    fModifierColumn.setResizable(true);

    fHoverTableViewer = new CheckboxTableViewer(fHoverTable);
    fHoverTableViewer.setUseHashlookup(true);
    fHoverTableViewer.setContentProvider(new ScriptEditorTextHoverDescriptorContentProvider());
    fHoverTableViewer.setLabelProvider(new ScriptEditorTextHoverDescriptorLabelProvider());

    ((CheckboxTableViewer) fHoverTableViewer).addCheckStateListener(new ICheckStateListener() {
        /*
        * @seeorg.eclipse.jface.viewers.ICheckStateListener#
        * checkStateChanged
        * (org.eclipse.jface.viewers.CheckStateChangedEvent)
        */
        public void checkStateChanged(CheckStateChangedEvent event) {
            String id = ((EditorTextHoverDescriptor) event.getElement()).getId();
            if (id == null)
                return;
            EditorTextHoverDescriptor[] descriptors = getContributedHovers();
            HoverConfig hoverConfig = null;
            int i = 0, length = fHoverConfigs.length;
            while (i < length) {
                if (id.equals(descriptors[i].getId())) {
                    hoverConfig = fHoverConfigs[i];
                    hoverConfig.fIsEnabled = event.getChecked();
                    fModifierEditor.setEnabled(event.getChecked());
                    fHoverTableViewer.setSelection(new StructuredSelection(descriptors[i]));
                }
                i++;
            }
            handleHoverListSelection();
            updateStatus(hoverConfig);
        }
    });

    // Text field for modifier string
    label = new Label(hoverComposite, SWT.LEFT);
    label.setText(PreferencesMessages.DLTKEditorHoverConfigurationBlock_keyModifier);
    fModifierEditor = new Text(hoverComposite, SWT.BORDER);
    gd = new GridData(GridData.HORIZONTAL_ALIGN_FILL);
    fModifierEditor.setLayoutData(gd);

    fModifierEditor.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 text = fModifierEditor.getText();
                Point selection = fModifierEditor.getSelection();
                int i = selection.x - 1;
                while (i > -1 && Character.isWhitespace(text.charAt(i))) {
                    i--;
                }
                boolean needsPrefixDelimiter = i > -1 && !String.valueOf(text.charAt(i)).equals(DELIMITER);

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

                String insertString;

                if (needsPrefixDelimiter && needsPostfixDelimiter)
                    insertString = Messages.format(
                            PreferencesMessages.DLTKEditorHoverConfigurationBlock_insertDelimiterAndModifierAndDelimiter,
                            new String[] { Action.findModifierString(e.stateMask) });
                else if (needsPrefixDelimiter)
                    insertString = Messages.format(
                            PreferencesMessages.DLTKEditorHoverConfigurationBlock_insertDelimiterAndModifier,
                            new String[] { Action.findModifierString(e.stateMask) });
                else if (needsPostfixDelimiter)
                    insertString = Messages.format(
                            PreferencesMessages.DLTKEditorHoverConfigurationBlock_insertModifierAndDelimiter,
                            new String[] { Action.findModifierString(e.stateMask) });
                else
                    insertString = Action.findModifierString(e.stateMask);

                if (insertString != null)
                    fModifierEditor.insert(insertString);
            }
        }
    });

    fModifierEditor.addModifyListener(new ModifyListener() {
        public void modifyText(ModifyEvent e) {
            handleModifierModified();
        }
    });

    // Description
    Label descriptionLabel = new Label(hoverComposite, SWT.LEFT);
    descriptionLabel.setText(PreferencesMessages.DLTKEditorHoverConfigurationBlock_description);
    gd = new GridData(GridData.VERTICAL_ALIGN_BEGINNING);
    gd.horizontalSpan = 2;
    descriptionLabel.setLayoutData(gd);
    fDescription = new Text(hoverComposite, SWT.LEFT | SWT.WRAP | SWT.MULTI | SWT.READ_ONLY | SWT.BORDER);
    gd = new GridData(GridData.FILL_BOTH);
    gd.horizontalSpan = 2;
    fDescription.setLayoutData(gd);

    initialize();

    Dialog.applyDialogFont(hoverComposite);
    return hoverComposite;
}

From source file:org.eclipse.dltk.mod.validators.internal.ui.ValidatorBlock.java

License:Open Source License

/**
 * Creates this block's control in the given control.
 * /*from w ww.ja  v  a  2  s.  c  o m*/
 * @param ancestor
 *            containing control
 * @param useManageButton
 *            whether to present a single 'manage...' button to the user
 *            that opens the installed InterpreterEnvironments pref page for
 *            InterpreterEnvironment management, or to provide 'add, remove,
 *            edit, and search' buttons.
 */
public void createControl(Composite ancestor) {

    Composite parent = new Composite(ancestor, SWT.NULL);
    GridLayout layout = new GridLayout();
    layout.numColumns = 2;
    layout.marginHeight = 0;
    layout.marginWidth = 0;

    Font font = ancestor.getFont();
    parent.setFont(font);
    parent.setLayout(layout);

    fControl = parent;

    GridData data;

    Label tableLabel = new Label(parent, SWT.NONE);
    tableLabel.setText(ValidatorMessages.InstalledValidatorBlock_15);
    data = new GridData();
    data.horizontalSpan = 2;
    tableLabel.setLayoutData(data);
    tableLabel.setFont(font);

    PixelConverter conv = new PixelConverter(parent);
    data = new GridData(GridData.FILL_BOTH);
    data.widthHint = conv.convertWidthInCharsToPixels(50);
    TableLayoutComposite tblComposite = new TableLayoutComposite(parent, SWT.NONE);
    tblComposite.setLayoutData(data);
    fTable = new Table(tblComposite, SWT.CHECK | SWT.BORDER | SWT.MULTI | SWT.FULL_SELECTION);

    data = new GridData(GridData.FILL_BOTH);
    data.widthHint = 450;
    fTable.setLayoutData(data);
    fTable.setFont(font);

    fTable.setHeaderVisible(true);
    fTable.setLinesVisible(true);

    TableColumn column1 = new TableColumn(fTable, SWT.NULL);
    column1.setText(ValidatorMessages.InstalledValidatorBlock_0);
    column1.addSelectionListener(new SelectionAdapter() {
        public void widgetSelected(SelectionEvent e) {
            sortByName();
        }
    });

    TableColumn column2 = new TableColumn(fTable, SWT.NULL);
    column2.setText(ValidatorMessages.InstalledValidatorBlock_2);
    column2.addSelectionListener(new SelectionAdapter() {
        public void widgetSelected(SelectionEvent e) {
            sortByType();
        }
    });

    TableColumn column3 = new TableColumn(fTable, SWT.NULL);
    column3.setText(ValidatorMessages.InstalledValidatorBlock_1);
    // column3.addSelectionListener(new SelectionAdapter() {
    // public void widgetSelected(SelectionEvent e) {
    // sortByLocation();
    // }
    // });

    fValidatorList = new CheckboxTableViewer(fTable);
    fValidatorList.setLabelProvider(new ValidatorLabelProvider());
    fValidatorList.setContentProvider(new ValidatorContentProvider());
    fValidatorList.addCheckStateListener(new ICheckStateListener() {
        public void checkStateChanged(CheckStateChangedEvent event) {
            IValidator validator = (IValidator) event.getElement();
            validator.setAutomatic(event.getChecked());
        }
    });

    // by default, sort by name
    sortByName();

    fValidatorList.addSelectionChangedListener(new ISelectionChangedListener() {
        public void selectionChanged(SelectionChangedEvent evt) {
            enableButtons();
        }
    });

    fValidatorList.addDoubleClickListener(new IDoubleClickListener() {
        public void doubleClick(DoubleClickEvent e) {
            if (!fValidatorList.getSelection().isEmpty()) {
                editValidator();
            }
        }
    });
    fTable.addKeyListener(new KeyAdapter() {
        public void keyPressed(KeyEvent event) {
            if (event.character == SWT.DEL && event.stateMask == 0) {
                if (fRemoveButton.getEnabled())
                    removeValidator();
            }
        }
    });

    Composite buttons = new Composite(parent, SWT.NULL);
    buttons.setLayoutData(new GridData(GridData.VERTICAL_ALIGN_BEGINNING));
    layout = new GridLayout();
    layout.marginHeight = 0;
    layout.marginWidth = 0;
    buttons.setLayout(layout);
    buttons.setFont(font);

    fAddButton = createPushButton(buttons, ValidatorMessages.InstalledValidatorBlock_3);
    fAddButton.addListener(SWT.Selection, new Listener() {
        public void handleEvent(Event evt) {
            addValidator();
        }
    });

    fEditButton = createPushButton(buttons, ValidatorMessages.InstalledValidatorBlock_4);
    fEditButton.addListener(SWT.Selection, new Listener() {
        public void handleEvent(Event evt) {
            editValidator();
        }
    });

    fCopyButton = createPushButton(buttons, ValidatorMessages.InstalledValidatorBlock_16);
    fCopyButton.addListener(SWT.Selection, new Listener() {
        public void handleEvent(Event evt) {
            copyValidator();
        }
    });

    fRemoveButton = createPushButton(buttons, ValidatorMessages.InstalledValidatorBlock_5);
    fRemoveButton.addListener(SWT.Selection, new Listener() {
        public void handleEvent(Event evt) {
            removeValidator();
        }
    });

    // copied from ListDialogField.CreateSeparator()
    Label separator = new Label(buttons, SWT.NONE);
    separator.setVisible(false);
    GridData gd = new GridData();
    gd.horizontalAlignment = GridData.FILL;
    gd.verticalAlignment = GridData.BEGINNING;
    gd.heightHint = 4;
    separator.setLayoutData(gd);

    fillWithWorkspaceValidators();
    enableButtons();
}

From source file:org.eclipse.edt.ide.deployment.rui.internal.editor.RUIFormPage.java

License:Open Source License

private void createRUIHandlerSection(FormToolkit toolkit, Composite parent) {
    Section section = toolkit.createSection(parent, Section.TWISTIE | Section.EXPANDED);
    GridData gd = new GridData(GridData.FILL_BOTH);
    section.setText(Messages.rui_handlers_section_title);
    section.setLayoutData(gd);//from w w  w  . jav  a2s. co m

    Composite separator = toolkit.createCompositeSeparator(section);
    gd = new GridData(GridData.FILL_BOTH);
    gd.heightHint = 3;
    separator.setLayoutData(gd);

    Composite client = toolkit.createComposite(section, SWT.WRAP);
    GridLayout layout = new GridLayout();
    layout.numColumns = 1;
    layout.marginWidth = 2;
    layout.marginHeight = 2;
    client.setLayout(layout);

    Composite fieldComposite = toolkit.createComposite(client);
    int layoutColumn = 2;
    layout = new GridLayout(layoutColumn, false);
    gd = new GridData(GridData.FILL_HORIZONTAL);
    fieldComposite.setLayout(layout);
    fieldComposite.setLayoutData(gd);

    Label label = toolkit.createLabel(fieldComposite, Messages.editor_detail_page_handlers_label);
    gd = new GridData();
    gd.horizontalSpan = layoutColumn;
    label.setLayoutData(gd);

    fCheckbox = toolkit.createButton(fieldComposite, Messages.rui_handlers_deploy_all_label, SWT.CHECK);
    fCheckbox.addSelectionListener(new SelectionAdapter() {
        public void widgetSelected(SelectionEvent event) {
            RUIApplication application = getApplication();
            boolean checked = fCheckbox.getSelection();
            application.setDeployAllHandlers(checked);
            fHandlerTableViewer.getTable().setEnabled(!checked);
            updateButtons();
            fHandlerTableViewer.refresh();

            if (!checked) {
                // Add each handler to the model that wasn't already there.
                // Default it to enabled when 0 handlers are in the model,
                // otherwise false.
                TableItem[] items = fHandlerTableViewer.getTable().getItems();
                for (int i = 0; i < items.length; i++) {
                    Object data = items[i].getData();
                    if (data instanceof RUIHandlerRowItem) {
                        RUIHandlerRowItem item = (RUIHandlerRowItem) data;
                        RUIHandler fromModel = getMatchingHandlerFromModel(item.handler.getImplementation(),
                                application);
                        if (fromModel == null) {
                            application.getRuihandler().add(item.handler);
                        }
                    }
                }
            }
            validateLocales();
        }
    });
    gd = new GridData();
    gd.verticalIndent = 10;
    gd.horizontalSpan = layoutColumn;
    fCheckbox.setLayoutData(gd);

    Table t = createRUIHandlerTableControl(toolkit, fieldComposite, true);
    fHandlerTableViewer = new CheckboxTableViewer(t) {
        protected void doUpdateItem(Widget widget, Object element, boolean fullMap) {
            super.doUpdateItem(widget, element, fullMap);
            ((TableItem) widget).setChecked(
                    fCheckbox.getSelection() || ((RUIHandlerRowItem) element).handler.isEnableGeneration());
        }

        protected void preservingSelection(Runnable updateCode) {
            updateCode.run();
        }
    };
    CellEditor[] cellEditors = new CellEditor[HANDLER_TABLE_COLUMN_PROPERTIES.length];
    cellEditors[COLINDEX_HTML] = new TextCellEditor(t);
    fHandlerTableViewer.setCellEditors(cellEditors);
    fHandlerTableViewer.setCellModifier(new RUIHandlerCellModifier());
    fHandlerTableViewer.setColumnProperties(HANDLER_TABLE_COLUMN_PROPERTIES);
    fHandlerTableViewer.setContentProvider(new RUIHandlerContentProvider(getEditorProject()));
    fHandlerTableViewer.setLabelProvider(new RUIHandlerLabelProvider());
    fHandlerTableViewer.addCheckStateListener(new ICheckStateListener() {
        public void checkStateChanged(CheckStateChangedEvent event) {
            Object element = event.getElement();
            if (element instanceof RUIHandlerRowItem) {
                RUIHandlerRowItem item = (RUIHandlerRowItem) element;
                if (getMatchingHandlerFromModel(item.handler.getImplementation(), fApplication) == null) {
                    // This row was not previously in the model, so add it.
                    getApplication().getRuihandler().add(item.handler);
                }
                item.handler.setEnableGeneration(event.getChecked());
                validateLocales();
            }
        }
    });
    fHandlerTableViewer.addSelectionChangedListener(new ISelectionChangedListener() {
        public void selectionChanged(SelectionChangedEvent event) {
            updateButtons();
        }
    });
    fHandlerTableViewer.setSorter(new ViewerSorter());
    t.addKeyListener(new KeyAdapter() {
        public void keyReleased(KeyEvent e) {
            if (e.keyCode == SWT.F3) {
                HandleOpenPressed();
            }
        }
    });

    t.addSelectionListener(new SelectionAdapter() {
        public void widgetDefaultSelected(SelectionEvent e) {
            HandleOpenPressed();
        }
    });
    fHandlerTableViewer.setInput(getModelRoot());

    Composite buttonComposite = toolkit.createComposite(fieldComposite);
    layout = new GridLayout(1, true);
    gd = new GridData(GridData.VERTICAL_ALIGN_BEGINNING);
    buttonComposite.setLayout(layout);
    buttonComposite.setLayoutData(gd);

    fBtnEnable = toolkit.createButton(buttonComposite, Messages.enable_all_btn_label, SWT.PUSH);
    gd = new GridData(GridData.FILL_HORIZONTAL | GridData.HORIZONTAL_ALIGN_BEGINNING);
    fBtnEnable.setLayoutData(gd);
    fBtnEnable.addSelectionListener(new SelectionAdapter() {
        public void widgetSelected(SelectionEvent event) {
            HandleEnableAllPressed();
        }
    });

    fBtnDisable = toolkit.createButton(buttonComposite, Messages.disable_all_btn_label, SWT.PUSH);
    gd = new GridData(GridData.FILL_HORIZONTAL | GridData.HORIZONTAL_ALIGN_BEGINNING);
    fBtnDisable.setLayoutData(gd);
    fBtnDisable.addSelectionListener(new SelectionAdapter() {
        public void widgetSelected(SelectionEvent event) {
            HandleDisableAllPressed();
        }
    });

    fBtnOpen = toolkit.createButton(buttonComposite, SOAMessages.OpenLabel, SWT.PUSH);
    gd = new GridData(GridData.FILL_HORIZONTAL | GridData.HORIZONTAL_ALIGN_BEGINNING);
    fBtnOpen.setLayoutData(gd);
    fBtnOpen.setEnabled(false);
    fBtnOpen.addSelectionListener(new SelectionAdapter() {
        public void widgetSelected(SelectionEvent e) {
            HandleOpenPressed();
        }
    });

    createSpacer(toolkit, fieldComposite, layoutColumn);
    toolkit.paintBordersFor(fieldComposite);
    section.setClient(client);
}

From source file:org.eclipse.edt.ide.deployment.rui.internal.editor.RUIFormPage.java

License:Open Source License

private void createLocaleSection(FormToolkit toolkit, Composite parent) {
    Section section = toolkit.createSection(parent, Section.TWISTIE | Section.EXPANDED);
    GridData gd = new GridData(GridData.FILL_BOTH);
    section.setText(Messages.locale_section_title);
    section.setLayoutData(gd);// w w w .ja  v  a2 s.c om

    Composite separator = toolkit.createCompositeSeparator(section);
    gd = new GridData(GridData.FILL_BOTH);
    gd.heightHint = 3;
    separator.setLayoutData(gd);

    Composite client = toolkit.createComposite(section, SWT.WRAP);
    GridLayout layout = new GridLayout();
    layout.numColumns = 1;
    layout.marginWidth = 2;
    layout.marginHeight = 2;
    client.setLayout(layout);

    Composite fieldComposite = toolkit.createComposite(client);
    int layoutColumn = 1;
    layout = new GridLayout(layoutColumn, false);
    gd = new GridData(GridData.FILL_HORIZONTAL);
    fieldComposite.setLayout(layout);
    fieldComposite.setLayoutData(gd);

    fLocalesLink = new Link(fieldComposite, SWT.NONE);
    fLocalesLink.setText(NLS.bind(Messages.editor_detail_page_locales_label, SOAMessages.ConfigureLinkLabel));
    fLocalesLink.addSelectionListener(new SelectionAdapter() {
        public void widgetSelected(SelectionEvent e) {
            run();
        }

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

        private void run() {
            String id = "org.eclipse.edt.ide.rui.ruiPreferences"; //$NON-NLS-1$
            PreferencesUtil.createPreferenceDialogOn(null, id, null, null).open();
        }
    });
    fLocalesLink.setBackground(toolkit.getColors().getBackground());
    gd = new GridData();
    gd.horizontalSpan = layoutColumn;
    fLocalesLink.setLayoutData(gd);

    Table t = createLocalesTable(toolkit, fieldComposite, layoutColumn);
    fLocalesTableViewer = new CheckboxTableViewer(t) {
        protected void doUpdateItem(Widget widget, Object element, boolean fullMap) {
            super.doUpdateItem(widget, element, fullMap);
            ((TableItem) widget).setChecked(checkLocale((DeployLocale) element));
        }

        protected void preservingSelection(Runnable updateCode) {
            updateCode.run();
        }
    };
    fLocalesTableViewer.setColumnProperties(LOCALE_TABLE_COLUMN_PROPERTIES);

    // Must be created before passed into the content provider.
    localesList = new HandlerLocalesList();
    localesList.buildLocalesList();
    localesList.addChangeListener(this);

    fLocalesTableViewer.setContentProvider(new LocalesContentProvider(localesList));
    fLocalesTableViewer.setLabelProvider(new LocalesLabelProvider());
    fLocalesTableViewer.addCheckStateListener(new ICheckStateListener() {
        public void checkStateChanged(CheckStateChangedEvent event) {
            // intentionally don't call the getter - if we haven't started caching, don't start now.
            if (cachedModelLocales != null) {
                if (event.getChecked()) {
                    cachedModelLocales.add(event.getElement());
                } else {
                    cachedModelLocales.remove(event.getElement());
                }
            }
            updateLocalesParameterInModel();
            validateLocales();
        }
    });
    fLocalesTableViewer.setSorter(new ViewerSorter());
    fLocalesTableViewer.setInput(""); //$NON-NLS-1$

    createSpacer(toolkit, fieldComposite, layoutColumn);
    toolkit.paintBordersFor(fieldComposite);
    section.setClient(client);
}

From source file:org.eclipse.edt.ide.rui.wizards.pages.ProjectWizardRUILibraryPage.java

License:Open Source License

private void createSelectionTable(Composite ancestor) {
    Composite tableComposite = new Composite(ancestor, SWT.NONE);
    GridData data = new GridData(GridData.FILL_BOTH);
    data.widthHint = 360;/*from  w  w w  .  j a  v  a  2s .co  m*/
    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);

    fTableViewer = new CheckboxTableViewer(table);
    fTableViewer.setComparator(new ViewerSorter());
    fTableViewer.setContentProvider(new LibraryContentProvider());

    TableViewerColumn column1 = new TableViewerColumn(fTableViewer, new TableColumn(table, SWT.NONE));
    column1.getColumn().setText(RuiNewWizardMessages.RUILibraryPage_libname_label);
    column1.setLabelProvider(new ColumnLabelProvider() {
        public String getText(Object element) {
            LibraryNode insertDataNode = (LibraryNode) element;
            return insertDataNode.getName();
        }
    });
    columnLayout.addColumnData(new ColumnWeightData(4, 70, true));

    final TableViewerColumn column2 = new TableViewerColumn(fTableViewer, new TableColumn(table, SWT.NONE));
    column2.getColumn().setText(RuiNewWizardMessages.RUILibraryPage_version_label);
    column2.setEditingSupport(new VersionColumnEditingSupport(fTableViewer));
    column2.setLabelProvider(new ColumnLabelProvider() {
        public String getText(Object element) {
            LibraryNode insertDataNode = (LibraryNode) element;
            return insertDataNode.getVersion();
        }
    });
    columnLayout.addColumnData(new ColumnWeightData(2, 70, true));

    final TableViewerColumn column3 = new TableViewerColumn(fTableViewer, new TableColumn(table, SWT.NONE));
    column3.getColumn().setText(RuiNewWizardMessages.RUILibraryPage_provider_label);
    column3.setLabelProvider(new ColumnLabelProvider() {
        public String getText(Object element) {
            LibraryNode insertDataNode = (LibraryNode) element;
            return insertDataNode.getProvider();
        }
    });
    //      column3.getColumn().setToolTipText(NewWizardMessages.RUILibraryPage_version_tooltip);

    columnLayout.addColumnData(new ColumnWeightData(2, 40, true));

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

    });

    fTableViewer.addCheckStateListener(new ICheckStateListener() {
        public void checkStateChanged(CheckStateChangedEvent event) {
            LibraryNode newElement = (LibraryNode) event.getElement();
            if ((!(event.getChecked())) && newElement.getWProvider().isMandatory()) {
                fTableViewer.setChecked(newElement, true);
                return;
            }
            setSelectedWidgetLibrary((LibraryNode) event.getElement());
        }

    });
    fTableViewer.setInput(new ArrayList<LibraryNode>(fLibraryNodes.values()));
    fTableViewer.setAllChecked(false);
    setSelectedWidgetLibrary();
}

From source file:org.eclipse.egit.ui.internal.clone.SourceBranchPage.java

License:Open Source License

public void createControl(final Composite parent) {
    final Composite panel = new Composite(parent, SWT.NULL);
    final GridLayout layout = new GridLayout();
    layout.numColumns = 1;//from  w ww  .java2 s.c om
    panel.setLayout(layout);

    label = new Label(panel, SWT.NONE);
    label.setLayoutData(new GridData(SWT.FILL, SWT.TOP, true, false));

    Table refsTable = new Table(panel, SWT.CHECK | SWT.V_SCROLL | SWT.BORDER);
    refsTable.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));
    refsViewer = new CheckboxTableViewer(refsTable);
    refsViewer.setContentProvider(ArrayContentProvider.getInstance());
    refsViewer.setLabelProvider(new LabelProvider() {
        @Override
        public String getText(Object element) {
            return ((Ref) element).getName().substring(Constants.R_HEADS.length());
        }

        @Override
        public Image getImage(Object element) {
            return RepositoryTreeNodeType.REF.getIcon();
        }
    });

    refsViewer.addCheckStateListener(new ICheckStateListener() {
        public void checkStateChanged(CheckStateChangedEvent event) {
            checkPage();
        }
    });
    final Composite bPanel = new Composite(panel, SWT.NONE);
    bPanel.setLayout(new RowLayout());
    selectB = new Button(bPanel, SWT.PUSH);
    selectB.setText(UIText.SourceBranchPage_selectAll);
    selectB.addSelectionListener(new SelectionAdapter() {
        public void widgetSelected(final SelectionEvent e) {
            refsViewer.setAllChecked(true);
            checkPage();
        }
    });
    unselectB = new Button(bPanel, SWT.PUSH);
    unselectB.setText(UIText.SourceBranchPage_selectNone);
    unselectB.addSelectionListener(new SelectionAdapter() {
        public void widgetSelected(final SelectionEvent e) {
            refsViewer.setAllChecked(false);
            checkPage();
        }
    });
    bPanel.setLayoutData(new GridData(SWT.FILL, SWT.TOP, true, false));

    Dialog.applyDialogFont(panel);
    setControl(panel);
    checkPage();
}

From source file:org.eclipse.egit.ui.internal.dialogs.CommitDialog.java

License:Open Source License

@Override
protected Control createDialogArea(Composite parent) {
    Composite container = (Composite) super.createDialogArea(parent);
    parent.getShell().setText(UIText.CommitDialog_CommitChanges);

    GridLayout layout = new GridLayout(2, false);
    container.setLayout(layout);//from  w w  w .j a va2 s. co  m

    Label label = new Label(container, SWT.LEFT);
    label.setText(UIText.CommitDialog_CommitMessage);
    label.setLayoutData(GridDataFactory.fillDefaults().span(2, 1).grab(true, false).create());

    commitText = new SpellcheckableMessageArea(container, commitMessage);
    Point size = commitText.getTextWidget().getSize();
    int minHeight = commitText.getTextWidget().getLineHeight() * 3;
    commitText.setLayoutData(GridDataFactory.fillDefaults().span(2, 1).grab(true, true).hint(size)
            .minSize(size.x, minHeight).align(SWT.FILL, SWT.FILL).create());
    commitText.setText(commitMessage);

    // allow to commit with ctrl-enter
    commitText.getTextWidget().addKeyListener(new KeyAdapter() {
        public void keyPressed(KeyEvent event) {
            if (event.keyCode == SWT.CR && (event.stateMask & SWT.CONTROL) > 0) {
                okPressed();
            } else if (event.keyCode == SWT.TAB && (event.stateMask & SWT.SHIFT) == 0) {
                event.doit = false;
                commitText.traverse(SWT.TRAVERSE_TAB_NEXT);
            }
        }
    });

    new Label(container, SWT.LEFT).setText(UIText.CommitDialog_Author);
    authorText = new Text(container, SWT.BORDER);
    authorText.setLayoutData(GridDataFactory.fillDefaults().grab(true, false).create());
    if (author != null)
        authorText.setText(author);

    authorHandler = UIUtils.addPreviousValuesContentProposalToText(authorText, AUTHOR_VALUES_PREF);
    new Label(container, SWT.LEFT).setText(UIText.CommitDialog_Committer);
    committerText = new Text(container, SWT.BORDER);
    committerText.setLayoutData(GridDataFactory.fillDefaults().grab(true, false).create());
    if (committer != null)
        committerText.setText(committer);
    committerText.addModifyListener(new ModifyListener() {
        String oldCommitter = committerText.getText();

        public void modifyText(ModifyEvent e) {
            if (signedOffButton.getSelection()) {
                // the commit message is signed
                // the signature must be updated
                String newCommitter = committerText.getText();
                String oldSignOff = getSignedOff(oldCommitter);
                String newSignOff = getSignedOff(newCommitter);
                commitText.setText(replaceSignOff(commitText.getText(), oldSignOff, newSignOff));
                oldCommitter = newCommitter;
            }
        }
    });

    committerHandler = UIUtils.addPreviousValuesContentProposalToText(committerText, COMMITTER_VALUES_PREF);

    Link preferencesLink = new Link(container, SWT.NONE);
    preferencesLink.setText(UIText.CommitDialog_ConfigureLink);
    preferencesLink.addSelectionListener(new SelectionAdapter() {
        @Override
        public void widgetSelected(SelectionEvent e) {
            String preferencePageId = "org.eclipse.egit.ui.internal.preferences.CommitDialogPreferencePage"; //$NON-NLS-1$
            PreferenceDialog dialog = PreferencesUtil.createPreferenceDialogOn(getShell(), preferencePageId,
                    new String[] { preferencePageId }, null);
            dialog.open();
            commitText.reconfigure();
        }
    });

    amendingButton = new Button(container, SWT.CHECK);
    if (amending) {
        amendingButton.setSelection(amending);
        amendingButton.setEnabled(false); // if already set, don't allow any changes
        commitText.setText(previousCommitMessage);
        authorText.setText(previousAuthor);
        saveOriginalChangeId();
    } else if (!amendAllowed) {
        amendingButton.setEnabled(false);
        originalChangeId = null;
    }
    amendingButton.addSelectionListener(new SelectionListener() {
        boolean alreadyAdded = false;

        public void widgetSelected(SelectionEvent arg0) {
            if (!amendingButton.getSelection()) {
                originalChangeId = null;
                authorText.setText(author);
            } else {
                saveOriginalChangeId();
                if (!alreadyAdded) {
                    alreadyAdded = true;
                    String curText = commitText.getText();
                    if (curText.length() > 0)
                        curText += Text.DELIMITER;
                    commitText.setText(curText + previousCommitMessage.replaceAll("\n", Text.DELIMITER)); //$NON-NLS-1$
                }
                authorText.setText(previousAuthor);
            }
            refreshChangeIdText();
        }

        public void widgetDefaultSelected(SelectionEvent arg0) {
            // Empty
        }
    });

    amendingButton.setText(UIText.CommitDialog_AmendPreviousCommit);
    amendingButton.setLayoutData(GridDataFactory.fillDefaults().grab(true, false).span(2, 1).create());

    signedOffButton = new Button(container, SWT.CHECK);
    signedOffButton.setSelection(signedOff);
    signedOffButton.setText(UIText.CommitDialog_AddSOB);
    signedOffButton.setLayoutData(GridDataFactory.fillDefaults().grab(true, false).span(2, 1).create());

    signedOffButton.addSelectionListener(new SelectionListener() {
        public void widgetSelected(SelectionEvent arg0) {
            String curText = commitText.getText();
            if (signedOffButton.getSelection()) {
                // add signed off line
                commitText.setText(signOff(curText));
            } else {
                // remove signed off line
                curText = replaceSignOff(curText, getSignedOff(), ""); //$NON-NLS-1$
                if (curText.endsWith(Text.DELIMITER + Text.DELIMITER))
                    curText = curText.substring(0, curText.length() - Text.DELIMITER.length());
                commitText.setText(curText);
            }
        }

        public void widgetDefaultSelected(SelectionEvent arg0) {
            // Empty
        }
    });

    changeIdButton = new Button(container, SWT.CHECK);
    changeIdButton.setText(UIText.CommitDialog_AddChangeIdLabel);
    changeIdButton.setLayoutData(GridDataFactory.fillDefaults().grab(true, false).span(2, 1).create());
    changeIdButton.setToolTipText(UIText.CommitDialog_AddChangeIdTooltip);
    changeIdButton.addSelectionListener(new SelectionListener() {

        public void widgetSelected(SelectionEvent e) {
            refreshChangeIdText();
        }

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

    showUntrackedButton = new Button(container, SWT.CHECK);
    showUntrackedButton.setText(UIText.CommitDialog_ShowUntrackedFiles);
    showUntrackedButton.setLayoutData(GridDataFactory.fillDefaults().grab(true, false).span(2, 1).create());

    IDialogSettings settings = org.eclipse.egit.ui.Activator.getDefault().getDialogSettings();
    if (settings.get(SHOW_UNTRACKED_PREF) != null) {
        showUntracked = Boolean.valueOf(settings.get(SHOW_UNTRACKED_PREF)).booleanValue();
    }

    showUntrackedButton.setSelection(showUntracked);

    showUntrackedButton.addSelectionListener(new SelectionAdapter() {

        public void widgetSelected(SelectionEvent e) {
            showUntracked = showUntrackedButton.getSelection();
            filesViewer.refresh(true);
        }

    });

    commitText.getTextWidget().addModifyListener(new ModifyListener() {
        public void modifyText(ModifyEvent e) {
            updateSignedOffButton();
            updateChangeIdButton();
        }
    });
    updateSignedOffButton();
    updateChangeIdButton();

    Table resourcesTable = new Table(container,
            SWT.H_SCROLL | SWT.V_SCROLL | SWT.FULL_SELECTION | SWT.MULTI | SWT.CHECK | SWT.BORDER);
    resourcesTable
            .setLayoutData(GridDataFactory.fillDefaults().hint(600, 200).span(2, 1).grab(true, true).create());

    resourcesTable.addSelectionListener(new CommitItemSelectionListener());

    resourcesTable.setHeaderVisible(true);
    TableColumn statCol = new TableColumn(resourcesTable, SWT.LEFT);
    statCol.setText(UIText.CommitDialog_Status);
    statCol.setWidth(150);
    statCol.addSelectionListener(new HeaderSelectionListener(CommitItem.Order.ByStatus));

    TableColumn resourceCol = new TableColumn(resourcesTable, SWT.LEFT);
    resourceCol.setText(UIText.CommitDialog_File);
    resourceCol.setWidth(415);
    resourceCol.addSelectionListener(new HeaderSelectionListener(CommitItem.Order.ByFile));

    filesViewer = new CheckboxTableViewer(resourcesTable);
    filesViewer.setContentProvider(ArrayContentProvider.getInstance());
    filesViewer.setLabelProvider(new CommitLabelProvider());
    filesViewer.addFilter(new CommitItemFilter());
    filesViewer.setInput(items);
    filesViewer.getTable().setMenu(getContextMenu());
    if (!allowToChangeSelection) {
        amendingButton.setSelection(false);
        amendingButton.setEnabled(false);
        showUntrackedButton.setSelection(false);
        showUntrackedButton.setEnabled(false);

        filesViewer.addCheckStateListener(new ICheckStateListener() {

            public void checkStateChanged(CheckStateChangedEvent event) {
                if (!event.getChecked()) {
                    filesViewer.setAllChecked(true);
                }
            }
        });
        filesViewer.setAllGrayed(true);
        filesViewer.setAllChecked(true);
    } else {
        // pre-emptively check any preselected files
        for (IFile selectedFile : preselectedFiles) {
            for (CommitItem item : items) {
                if (item.file.equals(selectedFile) && !item.status.equals(UIText.CommitDialog_StatusUntracked)
                        && !item.status.equals(UIText.CommitDialog_StatusAssumeUnchaged)) {
                    filesViewer.setChecked(item, true);
                    break;
                }
            }
        }
    }

    applyDialogFont(container);
    container.pack();
    return container;
}

From source file:org.eclipse.emf.converter.ui.contribution.base.ModelConverterPackagePage.java

License:Open Source License

protected void createPackageControl(Composite parent) {
    Composite composite = new Composite(parent, SWT.NONE);
    composite.setLayoutData(new GridData(GridData.FILL_BOTH));
    {/*from ww w  . j a v  a2s.com*/
        FormLayout layout = new FormLayout();
        layout.marginTop = 10;
        layout.spacing = 10;
        composite.setLayout(layout);
    }

    Label packagesLabel = new Label(composite, SWT.LEFT);
    packagesLabel.setText(getPackagesLabel());
    {
        FormData data = new FormData();
        data.left = new FormAttachment(0);
        packagesLabel.setLayoutData(data);
    }

    Table packagesTable = new Table(composite, SWT.CHECK | SWT.BORDER | SWT.SINGLE | SWT.FULL_SELECTION);
    ePackagesCheckboxTableViewer = new CheckboxTableViewer(packagesTable);
    {
        FormData data = new FormData();
        data.top = new FormAttachment(packagesLabel, 5);
        data.bottom = new FormAttachment(100);
        data.left = new FormAttachment(0);
        data.right = new FormAttachment(100);
        data.height = 90;
        packagesTable.setLayoutData(data);
    }

    Composite selectionComposite = new Composite(composite, SWT.NONE);
    {
        FormData data = new FormData();
        data.top = new FormAttachment(packagesLabel, 0, SWT.CENTER);
        data.right = new FormAttachment(100);
        selectionComposite.setLayoutData(data);

        GridLayout layout = new GridLayout(2, true);
        layout.marginLeft = -5;
        layout.marginRight = -5;
        layout.marginTop = -5;
        layout.marginBottom = -5;
        selectionComposite.setLayout(layout);
    }

    Button selectAllButton = new Button(selectionComposite, SWT.PUSH);
    selectAllButton.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
    selectAllButton.setText(getSelectAllLabel());
    selectAllButton.addSelectionListener(new SelectionAdapter() {
        @Override
        public void widgetSelected(SelectionEvent event) {
            ePackagesCheckboxTableViewer.setCheckedElements(getModelConverter().getEPackages().toArray());
            ePackageCheckStateChanged();
        }
    });

    Button deselectAllButton = new Button(selectionComposite, SWT.PUSH);
    deselectAllButton.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
    deselectAllButton.setText(getDeselectAllLabel());
    deselectAllButton.addSelectionListener(new SelectionAdapter() {
        @Override
        public void widgetSelected(SelectionEvent event) {
            ePackagesCheckboxTableViewer.setCheckedElements(new Object[0]);
            ePackageCheckStateChanged();
        }
    });

    packagesTable.setLinesVisible(true);
    packagesTable.setLayout(new TableLayout());

    ePackagesCheckboxTableViewer.addCheckStateListener(new ICheckStateListener() {
        public void checkStateChanged(CheckStateChangedEvent event) {
            ePackageCheckStateChanged();
        }
    });

    adjustEPackagesTableViewer(ePackagesCheckboxTableViewer);
}

From source file:org.eclipse.epf.authoring.ui.forms.ContentPackageDescriptionPage.java

License:Open Source License

private void createDependencySection(FormToolkit toolkit) {
    Section dependencySection = createSection(toolkit, sectionComposite,
            AuthoringUIText.DEPENDENCIES_SECTION_NAME, AuthoringUIText.DEPENDENCIES_SECTION_DESC);
    Composite dependencyComposite = createComposite(toolkit, dependencySection);

    Table ctrl_table = toolkit.createTable(dependencyComposite,
            SWT.V_SCROLL | SWT.CHECK | SWT.READ_ONLY | SWT.COLOR_BLUE);
    {/* w ww .  j av  a2 s . co  m*/
        GridData gridData = new GridData(GridData.BEGINNING | GridData.FILL_HORIZONTAL);
        gridData.heightHint = 100;
        ctrl_table.setLayoutData(gridData);
    }

    ctrl_dependency = new CheckboxTableViewer(ctrl_table);

    ILabelProvider labelProvider = new LabelProvider() {
        public String getText(Object element) {
            if (element instanceof ContentPackage) {
                return TngUtil.getLabelWithPath((ContentPackage) element);
            } else {
                return element.toString();
            }
        }
    };
    ctrl_dependency.setLabelProvider(labelProvider);
    ctrl_dependency.setContentProvider(new IStructuredContentProvider() {
        public void dispose() {
        }

        public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {
        }

        public Object[] getElements(Object inputElement) {
            if (inputElement instanceof ContentPackage) {
                return getDependenciesPackages(contentPackage).toArray();
            } else {
                return Collections.EMPTY_LIST.toArray();
            }
        }
    });
    ctrl_dependency.setSorter(new ViewerSorter());
    ctrl_dependency.setInput(contentPackage);

    ctrl_dependency.setAllChecked(true);
    ctrl_dependency.setAllGrayed(true);

    toolkit.paintBordersFor(dependencyComposite);
}

From source file:org.eclipse.epf.authoring.ui.forms.MethodPluginDescriptionPage.java

License:Open Source License

protected void createReferenceContent(FormToolkit toolkit) {

    Table ctrl_table = toolkit.createTable(refModelComposite, SWT.CHECK);
    {//ww  w. ja v  a2s  .  c  om
        GridData gridData = new GridData(GridData.BEGINNING | GridData.FILL_BOTH);
        gridData.heightHint = 100;
        ctrl_table.setLayoutData(gridData);
    }

    ctrl_refModel = new CheckboxTableViewer(ctrl_table);
    ILabelProvider labelProvider = new LabelProvider() {
        public String getText(Object element) {
            MethodPlugin plugin = (MethodPlugin) element;
            return plugin.getName();
        }
    };
    ctrl_refModel.setLabelProvider(labelProvider);

    createRefModelBriefDescField(toolkit);

    toolkit.paintBordersFor(refModelComposite);
}