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.cdt.utils.ui.controls.ControlFactory.java

License:Open Source License

/**
 *   Create this group's list viewer.//  w  w w .ja va 2s  .co m
 */
public static CheckboxTableViewer createListViewer(Composite parent, String[] opt_list, int width, int height,
        int style) {

    Table table = new Table(parent, SWT.BORDER | SWT.CHECK);
    table.setFont(parent.getFont());
    CheckboxTableViewer listViewer = new CheckboxTableViewer(table);
    GridData data = new GridData(style);
    data.widthHint = width;
    data.heightHint = height;
    listViewer.getTable().setLayoutData(data);
    if (null != opt_list)
        listViewer.add(opt_list);
    //      listViewer.setLabelProvider(listLabelProvider);
    //      listViewer.addCheckStateListener(this);
    return listViewer;
}

From source file:org.eclipse.datatools.sqltools.internal.sqlscrapbook.connection.FilesConnectionInfoDialog.java

License:Open Source License

protected void createFilesArea(Composite composite) {
    Label label = new Label(composite, SWT.NONE);
    label.setText(Messages.ConnectionInfoDialog_file_conn_info);
    TableLayoutComposite tableComposite = new TableLayoutComposite(composite, SWT.NONE);
    GridData data = new GridData(GridData.FILL_BOTH);
    data.widthHint = 500;/*from  ww w . j  a  v  a  2  s.c  o  m*/
    data.heightHint = convertHeightInCharsToPixels(15);
    tableComposite.setLayoutData(data);

    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(Messages.FilesConnectionInfoDialog_column_name);
    int minWidth = computeMinimumColumnWidth(gc, Messages.FilesConnectionInfoDialog_column_name);
    tableComposite.addColumnData(new ColumnWeightData(2, minWidth, true));
    column1.addSelectionListener(new SelectionAdapter() {
        boolean sortType = true;

        public void widgetSelected(SelectionEvent e) {
            sortType = !sortType;
            fTableViewer.setSorter(sortType ? nameSorter : nameSorterReverse);
            setSortColumn(e, sortType);
        }

    });

    TableColumn column2 = new TableColumn(table, SWT.NONE);
    column2.setText(Messages.FilesConnectionInfoDialog_column_type);
    minWidth = computeMinimumColumnWidth(gc, Messages.FilesConnectionInfoDialog_column_type);
    tableComposite.addColumnData(new ColumnWeightData(2, minWidth, true));
    column2.addSelectionListener(new SelectionAdapter() {
        boolean sortType = true;

        public void widgetSelected(SelectionEvent e) {
            sortType = !sortType;
            fTableViewer.setSorter(sortType ? vendorSorter : vendorSorterReverse);
            setSortColumn(e, sortType);
        }

    });
    TableColumn column3 = new TableColumn(table, SWT.NONE);
    column3.setText(Messages.FilesConnectionInfoDialog_column_profile);
    minWidth = computeMinimumColumnWidth(gc, Messages.FilesConnectionInfoDialog_column_profile);
    tableComposite.addColumnData(new ColumnWeightData(1, minWidth, true));
    column3.addSelectionListener(new SelectionAdapter() {
        boolean sortType = true;

        public void widgetSelected(SelectionEvent e) {
            sortType = !sortType;
            fTableViewer.setSorter(sortType ? profileSorter : profileSorterReverse);
            setSortColumn(e, sortType);
        }

    });

    TableColumn column4 = new TableColumn(table, SWT.NONE);
    column4.setAlignment(SWT.CENTER);
    column4.setText(Messages.FilesConnectionInfoDialog_column_database);
    minWidth = computeMinimumColumnWidth(gc, Messages.FilesConnectionInfoDialog_column_database);
    tableComposite.addColumnData(new ColumnWeightData(1, minWidth, true));
    column4.addSelectionListener(new SelectionAdapter() {
        boolean sortType = true;

        public void widgetSelected(SelectionEvent e) {
            sortType = !sortType;
            fTableViewer.setSorter(sortType ? dbSorter : dbSorterReverse);
            setSortColumn(e, sortType);
        }
    });

    gc.dispose();

    fTableViewer = new CheckboxTableViewer(table);
    fTableViewer.setLabelProvider(new FileConnectionInfoLabelProvider());
    fTableViewer.setContentProvider(new FileConnectionInfoContentProvider());

    fTableViewer.setComparator(null);

    fTableViewer.addCheckStateListener(new ICheckStateListener() {
        public void checkStateChanged(CheckStateChangedEvent event) {
            checkOK();
        }
    });
    fTableViewer.setInput(_files);
    fTableViewer.setAllChecked(true);
    fTableViewer.getControl().addMouseTrackListener(new TooltipPresenter());

    addSelectionButtons(composite);
}

From source file:org.eclipse.debug.internal.ui.AbstractDebugCheckboxSelectionDialog.java

License:Open Source License

protected StructuredViewer createViewer(Composite parent) {
    //by default return a checkbox table viewer
    Table table = new Table(parent, SWT.BORDER | SWT.SINGLE | SWT.CHECK);
    GridData gd = new GridData(GridData.FILL_BOTH);
    gd.heightHint = 150;/*from  w ww . j a  v a2s. c  om*/
    gd.widthHint = 250;
    table.setLayoutData(gd);
    return new CheckboxTableViewer(table);
}

From source file:org.eclipse.debug.internal.ui.preferences.LaunchConfigurationsPreferencePage.java

License:Open Source License

/**
 * @param parent the parent to add this composite to
 * @return the new composite with the type selection table in it
 *//*www . j a  v  a 2s .  c  o  m*/
private Composite createTypeFiltering(Composite parent) {
    Composite comp = SWTFactory.createComposite(parent, parent.getFont(), 1, 1, GridData.FILL_HORIZONTAL);
    BooleanFieldEditor2 editor = new BooleanFieldEditor2(IInternalDebugUIConstants.PREF_FILTER_LAUNCH_TYPES,
            DebugPreferencesMessages.LaunchConfigurationsPreferencePage_0, SWT.NONE, comp);
    editor.setPropertyChangeListener(new IPropertyChangeListener() {
        public void propertyChange(PropertyChangeEvent event) {
            boolean newvalue = false;
            if (event.getNewValue() instanceof Boolean) {
                newvalue = ((Boolean) event.getNewValue()).booleanValue();
            } else {
                newvalue = Boolean.valueOf(event.getNewValue().toString()).booleanValue();
            }
            if (newvalue) {
                fTable.setEnabled(true);
            } else {
                fTable.setEnabled(false);
            }
        }
    });
    fFieldEditors.add(editor);
    fTable = new Table(comp, SWT.CHECK | SWT.BORDER);
    GridData gd = new GridData(GridData.FILL_HORIZONTAL);
    gd.heightHint = 155;
    fTable.setLayoutData(gd);
    CheckboxTableViewer tviewer = new CheckboxTableViewer(fTable);
    tviewer.setLabelProvider(DebugUITools.newDebugModelPresentation());
    tviewer.setContentProvider(new TableContentProvider());
    tviewer.setComparator(new WorkbenchViewerComparator());
    // filter external tool builders
    tviewer.addFilter(
            new LaunchCategoryFilter(IInternalDebugUIConstants.ID_EXTERNAL_TOOL_BUILDER_LAUNCH_CATEGORY));
    tviewer.setInput(getLaunchConfigurationTypes());
    fTable.setFont(parent.getFont());
    return comp;
}

From source file:org.eclipse.debug.internal.ui.preferences.LaunchersPreferencePage.java

License:Open Source License

/**
 * @see org.eclipse.jface.preference.PreferencePage#createContents(org.eclipse.swt.widgets.Composite)
 *///  w  w  w  .ja v a 2s  .  c o  m
protected Control createContents(Composite parent) {
    Composite comp = SWTFactory.createComposite(parent, 2, 1, GridData.FILL_BOTH);
    SWTFactory.createWrapLabel(comp, DebugPreferencesMessages.LaunchDelegatesPreferencePage_1, 2, 300);

    boolean enabled = fDuplicates.size() > 0;
    if (!enabled) {
        SWTFactory.createVerticalSpacer(comp, 1);
        SWTFactory.createWrapLabel(comp, DebugPreferencesMessages.LaunchersPreferencePage_0, 2, 300);
    }

    SWTFactory.createVerticalSpacer(comp, 1);
    //tree
    Composite comp1 = SWTFactory.createComposite(comp, 1, 1, GridData.FILL_VERTICAL);
    SWTFactory.createLabel(comp1, DebugPreferencesMessages.LaunchDelegatesPreferencePage_2, 1);
    Tree tree = new Tree(comp1, SWT.BORDER | SWT.H_SCROLL | SWT.V_SCROLL | SWT.SINGLE);
    tree.setEnabled(enabled);
    tree.setFont(parent.getFont());
    GridData gd = new GridData(GridData.FILL_BOTH);
    gd.grabExcessHorizontalSpace = false;
    tree.setLayoutData(gd);
    fTreeViewer = new TreeViewer(tree);
    fTreeViewer.setComparator(new WorkbenchViewerComparator());
    fTreeViewer.setContentProvider(new TreeProvider());
    fTreeViewer.setLabelProvider(new LabelProvider());
    fTreeViewer.setInput(fDuplicates);
    fTreeViewer.expandToLevel(2);
    fTreeViewer.addSelectionChangedListener(new ISelectionChangedListener() {
        public void selectionChanged(SelectionChangedEvent event) {
            Object obj = ((IStructuredSelection) event.getSelection()).getFirstElement();
            if (obj instanceof DuplicateDelegate) {
                fTableViewer.setAllChecked(false);
                DuplicateDelegate dd = (DuplicateDelegate) obj;
                fTableViewer.setInput(dd.getDelegates());
                fTableViewer.setSelection(null);
                obj = fDupeSelections.get(dd);
                if (obj != null) {
                    fTableViewer.setChecked(obj, true);
                    fTableViewer.setSelection(new StructuredSelection(obj));
                }
            } else {
                fTableViewer.setInput(null);
            }
        }
    });

    //table
    Composite comp2 = SWTFactory.createComposite(comp, comp.getFont(), 1, 1, GridData.FILL_BOTH);
    SWTFactory.createLabel(comp2, DebugPreferencesMessages.LaunchDelegatesPreferencePage_3, 1);
    Table table = new Table(comp2, SWT.BORDER | SWT.H_SCROLL | SWT.V_SCROLL | SWT.CHECK | SWT.SINGLE);
    table.setEnabled(enabled);
    table.setLayoutData(new GridData(GridData.FILL_BOTH));
    table.setFont(parent.getFont());
    fTableViewer = new CheckboxTableViewer(table);
    fTableViewer.setComparator(new WorkbenchViewerComparator());
    fTableViewer.setLabelProvider(new LabelProvider());
    fTableViewer.setContentProvider(new ArrayContentProvider());
    fTableViewer.addSelectionChangedListener(new ISelectionChangedListener() {
        public void selectionChanged(SelectionChangedEvent event) {
            IStructuredSelection ss = (IStructuredSelection) event.getSelection();
            if (ss != null && !ss.isEmpty()) {
                ILaunchDelegate delegate = (ILaunchDelegate) ss.getFirstElement();
                fDescription.setText(delegate.getDescription());
            } else {
                fDescription.setText(IInternalDebugCoreConstants.EMPTY_STRING);
            }
        }
    });
    fTableViewer.addCheckStateListener(new ICheckStateListener() {
        public void checkStateChanged(CheckStateChangedEvent event) {
            fDirty = true;
            Object element = event.getElement();
            boolean checked = event.getChecked();
            //always set checked, this way users cannot 'undo' a change to selecting a preferred delegate
            //The story for this is that on startup if there are dupes, the user is prompted to pick a delegate, after that they cannot 
            //return to a state of not being able to launch something, but can pick a different delegate
            fTableViewer.setCheckedElements(new Object[] { element });
            //set the selection to be the checked element
            //https://bugs.eclipse.org/bugs/show_bug.cgi?id=233233
            fTableViewer.setSelection(new StructuredSelection(element));
            //persist the selection
            Object obj = ((IStructuredSelection) fTreeViewer.getSelection()).getFirstElement();
            if (obj instanceof DuplicateDelegate) {
                fDupeSelections.remove(obj);
                if (checked) {
                    fDupeSelections.put(obj, element);
                }
            }
        }
    });
    Group group = SWTFactory.createGroup(comp, DebugPreferencesMessages.LaunchDelegatesPreferencePage_4, 1, 2,
            GridData.FILL_BOTH);
    fDescription = SWTFactory.createText(group, SWT.WRAP | SWT.READ_ONLY, 1, GridData.FILL_BOTH);
    fDescription.setEnabled(enabled);
    fDescription.setBackground(group.getBackground());
    return comp;
}

From source file:org.eclipse.debug.internal.ui.preferences.ViewManagementPreferencePage.java

License:Open Source License

/**
 * @param parent/*  ww  w. ja  va2s . c  o  m*/
 */
private void createPerspectiveViewer(Composite parent) {
    Label label = new Label(parent, SWT.WRAP);
    label.setText(DebugPreferencesMessages.ViewManagementPreferencePage_2);
    label.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));

    Table table = new Table(parent, SWT.CHECK | SWT.BORDER | SWT.MULTI | SWT.FULL_SELECTION);
    table.setLayout(new GridLayout());
    table.setLayoutData(new GridData(GridData.FILL_BOTH));

    fPerspectiveViewer = new CheckboxTableViewer(table);
    PerspectiveProvider provider = new PerspectiveProvider();
    fPerspectiveViewer.setContentProvider(provider);
    fLabelProvider = new PerspectiveLabelProvider();
    fPerspectiveViewer.setLabelProvider(fLabelProvider);
    fPerspectiveViewer.setInput(this);

    Set perspectives;
    String preference = DebugUIPlugin.getDefault().getPreferenceStore()
            .getString(IDebugUIConstants.PREF_MANAGE_VIEW_PERSPECTIVES);
    if (IDebugUIConstants.PREF_MANAGE_VIEW_PERSPECTIVES_DEFAULT.equals(preference)) {
        perspectives = ViewContextService.getDefaultEnabledPerspectives();
    } else {
        perspectives = ViewContextService.parseList(preference);
    }
    checkPerspectives(perspectives);
}

From source file:org.eclipse.dltk.internal.debug.ui.interpreters.InterpretersBlock.java

License:Open Source License

/**
 * Creates this block's control in the given control.
 * //from w  ww.j av 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;

    Composite env = new Composite(parent, SWT.NONE);
    GridLayout layout2 = new GridLayout(2, false);
    layout2.marginLeft = -5;
    layout2.marginRight = -5;
    layout2.marginTop = -5;
    layout2.marginBottom = -5;
    env.setLayout(layout2);
    data = new GridData(SWT.FILL, SWT.DEFAULT, true, false);
    data.horizontalSpan = 2;
    env.setLayoutData(data);
    Label environmentLabel = new Label(env, SWT.NONE);
    environmentLabel.setText(InterpretersMessages.InterpretersBlock_host);
    this.fEnvironments = new Combo(env, SWT.DROP_DOWN | SWT.READ_ONLY);
    data = new GridData(SWT.FILL, SWT.DEFAULT, true, false);
    this.fEnvironments.setLayoutData(data);
    environments = EnvironmentManager.getEnvironments();
    String[] items = new String[environments.length];
    int local = 0;
    for (int i = 0; i < items.length; i++) {
        items[i] = environments[i].getName();
        if (environments[i].isLocal()) {
            local = i;
        }
    }
    this.fEnvironments.setItems(items);
    this.fEnvironments.select(local);

    this.fEnvironments.addSelectionListener(new SelectionAdapter() {
        public void widgetSelected(SelectionEvent e) {
            Object install = checkedInterpreters.get(getCurrentEnvironment());
            fInterpreterList.refresh();
            if (install != null) {
                fInterpreterList.setCheckedElements(new Object[] { install });
            } else {
                fInterpreterList.setCheckedElements(new Object[0]);
            }
        }
    });

    // Label tableLabel = new Label(parent, SWT.NONE);
    // tableLabel.setText(InterpretersMessages.InstalledInterpretersBlock_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(InterpretersMessages.InstalledInterpretersBlock_0);
    column1.addSelectionListener(new SelectionAdapter() {
        public void widgetSelected(SelectionEvent e) {
            sortByName();
        }
    });
    column1.setWidth(conv.convertWidthInCharsToPixels(15));

    TableColumn column2 = new TableColumn(fTable, SWT.NULL);
    column2.setText(InterpretersMessages.InstalledInterpretersBlock_2);
    column2.addSelectionListener(new SelectionAdapter() {
        public void widgetSelected(SelectionEvent e) {
            sortByType();
        }
    });
    column2.setWidth(conv.convertWidthInCharsToPixels(15));

    TableColumn column3 = new TableColumn(fTable, SWT.NULL);
    column3.setText(InterpretersMessages.InstalledInterpretersBlock_1);
    column3.addSelectionListener(new SelectionAdapter() {
        public void widgetSelected(SelectionEvent e) {
            sortByLocation();
        }
    });
    column3.setWidth(conv.convertWidthInCharsToPixels(20));

    fInterpreterList = new CheckboxTableViewer(fTable);
    fInterpreterList.setLabelProvider(new InterpreterLabelProvider());
    fInterpreterList.setContentProvider(new InterpretersContentProvider());
    // by default, sort by name
    sortByName();

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

    fInterpreterList.addCheckStateListener(new ICheckStateListener() {
        public void checkStateChanged(CheckStateChangedEvent event) {
            if (event.getChecked()) {
                setCheckedInterpreter((IInterpreterInstall) event.getElement());
            } else {
                setCheckedInterpreter(null);
            }
        }
    });

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

    fTable.layout();

    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, InterpretersMessages.InstalledInterpretersBlock_3);
    fAddButton.addListener(SWT.Selection, new Listener() {
        public void handleEvent(Event evt) {
            addInterpreter();
        }
    });

    fEditButton = createPushButton(buttons, InterpretersMessages.InstalledInterpretersBlock_4);
    fEditButton.addListener(SWT.Selection, new Listener() {
        public void handleEvent(Event evt) {
            editInterpreter();
        }
    });

    fCopyButton = createPushButton(buttons, InterpretersMessages.InstalledInterpretersBlock_16);
    fCopyButton.addListener(SWT.Selection, new Listener() {
        public void handleEvent(Event evt) {
            copyInterpreter();
        }
    });

    fRemoveButton = createPushButton(buttons, InterpretersMessages.InstalledInterpretersBlock_5);
    fRemoveButton.addListener(SWT.Selection, new Listener() {
        public void handleEvent(Event evt) {
            removeInterpreters();
        }
    });

    // 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);

    fSearchButton = createPushButton(buttons, InterpretersMessages.InstalledInterpretersBlock_6);
    fSearchButton.addListener(SWT.Selection, new Listener() {
        public void handleEvent(Event evt) {
            search();
        }
    });

    fillWithWorkspaceInterpreters();
    enableButtons();
    fAddButton.setEnabled(ScriptRuntime.getInterpreterInstallTypes(getCurrentNature()).length > 0);
}

From source file:org.eclipse.dltk.internal.ui.wizards.dialogfields.CheckedListDialogField.java

License:Open Source License

@Override
protected TableViewer createTableViewer(Composite parent) {
    Table table = new Table(parent, SWT.CHECK + getListStyle());
    table.setFont(parent.getFont());// w ww . ja  va2s. c o  m
    CheckboxTableViewer tableViewer = new CheckboxTableViewer(table);
    tableViewer.addCheckStateListener(new ICheckStateListener() {
        public void checkStateChanged(CheckStateChangedEvent e) {
            doCheckStateChanged(e);
        }
    });
    return tableViewer;
}

From source file:org.eclipse.dltk.mod.internal.debug.ui.interpreters.InterpretersBlock.java

License:Open Source License

/**
 * Creates this block's control in the given control.
 * //from  w ww. j  a  v  a  2s .  c  om
 * @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;

    Composite env = new Composite(parent, SWT.NONE);
    GridLayout layout2 = new GridLayout(2, false);
    layout2.marginLeft = -5;
    layout2.marginRight = -5;
    layout2.marginTop = -5;
    layout2.marginBottom = -5;
    env.setLayout(layout2);
    data = new GridData(SWT.FILL, SWT.DEFAULT, true, false);
    data.horizontalSpan = 2;
    env.setLayoutData(data);
    Label environmentLabel = new Label(env, SWT.NONE);
    environmentLabel.setText(InterpretersMessages.InterpretersBlock_host);
    this.fEnvironments = new Combo(env, SWT.DROP_DOWN | SWT.READ_ONLY);
    data = new GridData(SWT.FILL, SWT.DEFAULT, true, false);
    this.fEnvironments.setLayoutData(data);
    environments = EnvironmentManager.getEnvironments();
    String[] items = new String[environments.length];
    int local = 0;
    for (int i = 0; i < items.length; i++) {
        items[i] = environments[i].getName();
        if (environments[i].getId().equals(LocalEnvironment.ENVIRONMENT_ID)) {
            local = i;
        }
    }
    this.fEnvironments.setItems(items);
    this.fEnvironments.select(local);

    this.fEnvironments.addSelectionListener(new SelectionAdapter() {
        public void widgetSelected(SelectionEvent e) {
            Object install = checkedInterpreters.get(getCurrentEnvironment());
            fInterpreterList.refresh();
            if (install != null) {
                fInterpreterList.setCheckedElements(new Object[] { install });
            } else {
                fInterpreterList.setCheckedElements(new Object[0]);
            }
        }
    });

    // Label tableLabel = new Label(parent, SWT.NONE);
    // tableLabel.setText(InterpretersMessages.InstalledInterpretersBlock_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(InterpretersMessages.InstalledInterpretersBlock_0);
    column1.addSelectionListener(new SelectionAdapter() {
        public void widgetSelected(SelectionEvent e) {
            sortByName();
        }
    });
    column1.setWidth(conv.convertWidthInCharsToPixels(15));

    TableColumn column2 = new TableColumn(fTable, SWT.NULL);
    column2.setText(InterpretersMessages.InstalledInterpretersBlock_2);
    column2.addSelectionListener(new SelectionAdapter() {
        public void widgetSelected(SelectionEvent e) {
            sortByType();
        }
    });
    column2.setWidth(conv.convertWidthInCharsToPixels(15));

    TableColumn column3 = new TableColumn(fTable, SWT.NULL);
    column3.setText(InterpretersMessages.InstalledInterpretersBlock_1);
    column3.addSelectionListener(new SelectionAdapter() {
        public void widgetSelected(SelectionEvent e) {
            sortByLocation();
        }
    });
    column3.setWidth(conv.convertWidthInCharsToPixels(20));

    fInterpreterList = new CheckboxTableViewer(fTable);
    fInterpreterList.setLabelProvider(new InterpreterLabelProvider());
    fInterpreterList.setContentProvider(new InterpretersContentProvider());
    // by default, sort by name
    sortByName();

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

    fInterpreterList.addCheckStateListener(new ICheckStateListener() {
        public void checkStateChanged(CheckStateChangedEvent event) {
            if (event.getChecked()) {
                setCheckedInterpreter((IInterpreterInstall) event.getElement());
            } else {
                setCheckedInterpreter(null);
            }
        }
    });

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

    fTable.layout();

    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, InterpretersMessages.InstalledInterpretersBlock_3);
    fAddButton.addListener(SWT.Selection, new Listener() {
        public void handleEvent(Event evt) {
            addInterpreter();
        }
    });

    fEditButton = createPushButton(buttons, InterpretersMessages.InstalledInterpretersBlock_4);
    fEditButton.addListener(SWT.Selection, new Listener() {
        public void handleEvent(Event evt) {
            editInterpreter();
        }
    });

    fCopyButton = createPushButton(buttons, InterpretersMessages.InstalledInterpretersBlock_16);
    fCopyButton.addListener(SWT.Selection, new Listener() {
        public void handleEvent(Event evt) {
            copyInterpreter();
        }
    });

    fRemoveButton = createPushButton(buttons, InterpretersMessages.InstalledInterpretersBlock_5);
    fRemoveButton.addListener(SWT.Selection, new Listener() {
        public void handleEvent(Event evt) {
            removeInterpreters();
        }
    });

    // 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);

    fSearchButton = createPushButton(buttons, InterpretersMessages.InstalledInterpretersBlock_6);
    fSearchButton.addListener(SWT.Selection, new Listener() {
        public void handleEvent(Event evt) {
            search();
        }
    });

    fillWithWorkspaceInterpreters();
    enableButtons();
    fAddButton.setEnabled(ScriptRuntime.getInterpreterInstallTypes(getCurrentNature()).length > 0);
}

From source file:org.eclipse.dltk.mod.internal.ui.search.FiltersDialog.java

License:Open Source License

protected Control createDialogArea(Composite composite) {
    Composite parent = (Composite) super.createDialogArea(composite);
    initializeDialogUnits(composite);/*from  www.  j av a  2s. c  o m*/

    createTableLimit(parent);
    // Create list viewer
    Label l = new Label(parent, SWT.NONE);
    l.setFont(parent.getFont());
    l.setText(org.eclipse.dltk.mod.internal.ui.search.SearchMessages.FiltersDialog_filters_label);

    Table table = new Table(parent, SWT.CHECK | SWT.BORDER);
    table.setFont(parent.getFont());
    fListViewer = new CheckboxTableViewer(table);

    GridData data = new GridData(GridData.FILL_BOTH);
    data.minimumHeight = convertHeightInCharsToPixels(8);
    table.setLayoutData(data);

    fListViewer.setLabelProvider(new LabelProvider() {
        public String getText(Object element) {
            // Return the features's label.
            return ((MatchFilter) element).getName();
        }
    });

    // Set the content provider
    ArrayContentProvider cp = new ArrayContentProvider();
    fListViewer.setContentProvider(cp);
    fListViewer.setInput(MatchFilter.allFilters());
    fListViewer.setCheckedElements(fPage.getMatchFilters());

    l = new Label(parent, SWT.NONE);
    l.setFont(parent.getFont());
    l.setText(org.eclipse.dltk.mod.internal.ui.search.SearchMessages.FiltersDialog_description_label);
    final Text description = new Text(parent,
            SWT.LEFT | SWT.WRAP | SWT.MULTI | SWT.READ_ONLY | SWT.BORDER | SWT.V_SCROLL);
    description.setFont(parent.getFont());
    data = new GridData(GridData.FILL_HORIZONTAL);
    data.heightHint = convertHeightInCharsToPixels(3);
    description.setLayoutData(data);
    fListViewer.addSelectionChangedListener(new ISelectionChangedListener() {
        public void selectionChanged(SelectionChangedEvent event) {
            Object selectedElement = ((IStructuredSelection) event.getSelection()).getFirstElement();
            if (selectedElement != null)
                description.setText(((MatchFilter) selectedElement).getDescription());
            else
                description.setText(""); //$NON-NLS-1$
        }
    });
    return parent;
}