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.wst.xml.search.ui.internal.preferences.InstalledProcessorsBlock.java

License:Open Source License

public void createControl(Composite ancestor) {

    Composite parent = new Composite(ancestor, SWT.NULL);
    GridLayout layout = new GridLayout();
    layout.numColumns = 2;// ww w.jav a2  s .  c om
    layout.marginHeight = 0;
    layout.marginWidth = 0;
    parent.setLayout(layout);
    Font font = ancestor.getFont();
    parent.setFont(font);
    fControl = parent;

    GridData data;

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

    Table fTable = new Table(parent, SWT.CHECK | SWT.BORDER | SWT.FULL_SELECTION | SWT.V_SCROLL);

    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.NONE);
    column1.setWidth(180);
    column1.setResizable(true);
    column1.setText(Messages.InstalledProcessorsBlock_1);
    column1.addSelectionListener(new SelectionAdapter() {
        @Override
        public void widgetSelected(SelectionEvent e) {
            sortByName();
        }
    });

    TableColumn column2 = new TableColumn(fTable, SWT.NONE);
    column2.setWidth(180);
    column2.setResizable(true);
    column2.setText(Messages.InstalledProcessorsBlock_2);
    column2.addSelectionListener(new SelectionAdapter() {
        @Override
        public void widgetSelected(SelectionEvent e) {
            sortBySource();
        }
    });

    // TableColumn column4 = new TableColumn(fTable, SWT.NONE);
    // column4.setWidth(180);
    // column4.setResizable(true);
    // column4.setText(Messages.InstalledProcessorsBlock_4);
    // column4.addSelectionListener(new SelectionAdapter()
    // {
    // @Override
    // public void widgetSelected(SelectionEvent e)
    // {
    // sortByVersion();
    // }
    // });

    tableViewer = new CheckboxTableViewer(fTable);
    tableViewer.setLabelProvider(new VMLabelProvider());
    tableViewer.setContentProvider(new ProcessorsContentProvider());

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

    tableViewer.addCheckStateListener(new ICheckStateListener() {
        public void checkStateChanged(CheckStateChangedEvent event) {
            if (event.getChecked()) {
                setCheckedInstall((IXPathProcessorType) event.getElement());
            } else {
                setCheckedInstall(null);
            }
        }
    });

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

    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, Messages.InstalledProcessorsBlock_5);
    fAddButton.addListener(SWT.Selection, new Listener() {
        public void handleEvent(Event evt) {
            addProcessor();
        }
    });
    fAddButton.setEnabled(false);

    fEditButton = createPushButton(buttons, Messages.InstalledProcessorsBlock_6);
    fEditButton.addListener(SWT.Selection, new Listener() {
        public void handleEvent(Event evt) {
            editProcessor();
        }
    });

    fRemoveButton = createPushButton(buttons, Messages.InstalledProcessorsBlock_7);
    fRemoveButton.addListener(SWT.Selection, new Listener() {
        public void handleEvent(Event evt) {
            removeProcessors();
        }
    });

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

    fillWithWorkspaceProcessors();
    enableButtons();

    restoreColumnSettings();
}

From source file:org.eclipse.wst.xsl.jaxp.debug.ui.internal.preferences.InstalledProcessorsBlock.java

License:Open Source License

public void createControl(Composite ancestor) {

    Composite parent = new Composite(ancestor, SWT.NULL);
    GridLayout layout = new GridLayout();
    layout.numColumns = 2;//from ww w. jav a  2s  .  c  o  m
    layout.marginHeight = 0;
    layout.marginWidth = 0;
    parent.setLayout(layout);
    Font font = ancestor.getFont();
    parent.setFont(font);
    fControl = parent;

    GridData data;

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

    Table fTable = new Table(parent, SWT.CHECK | SWT.BORDER | SWT.FULL_SELECTION | SWT.V_SCROLL);

    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.NONE);
    column1.setWidth(180);
    column1.setResizable(true);
    column1.setText(Messages.InstalledProcessorsBlock_1);
    column1.addSelectionListener(new SelectionAdapter() {
        @Override
        public void widgetSelected(SelectionEvent e) {
            sortByName();
        }
    });

    TableColumn column2 = new TableColumn(fTable, SWT.NONE);
    column2.setWidth(90);
    column2.setResizable(true);
    column2.setText(Messages.InstalledProcessorsBlock_2);
    column2.addSelectionListener(new SelectionAdapter() {
        @Override
        public void widgetSelected(SelectionEvent e) {
            sortByType();
        }
    });

    TableColumn column4 = new TableColumn(fTable, SWT.NONE);
    column4.setWidth(180);
    column4.setResizable(true);
    column4.setText(Messages.InstalledProcessorsBlock_4);
    column4.addSelectionListener(new SelectionAdapter() {
        @Override
        public void widgetSelected(SelectionEvent e) {
            sortByVersion();
        }
    });

    tableViewer = new CheckboxTableViewer(fTable);
    tableViewer.setLabelProvider(new VMLabelProvider());
    tableViewer.setContentProvider(new ProcessorsContentProvider());

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

    tableViewer.addCheckStateListener(new ICheckStateListener() {
        public void checkStateChanged(CheckStateChangedEvent event) {
            if (event.getChecked()) {
                setCheckedInstall((IProcessorInstall) event.getElement());
            } else {
                setCheckedInstall(null);
            }
        }
    });

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

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

    fEditButton = createPushButton(buttons, Messages.InstalledProcessorsBlock_6);
    fEditButton.addListener(SWT.Selection, new Listener() {
        public void handleEvent(Event evt) {
            editProcessor();
        }
    });

    fRemoveButton = createPushButton(buttons, Messages.InstalledProcessorsBlock_7);
    fRemoveButton.addListener(SWT.Selection, new Listener() {
        public void handleEvent(Event evt) {
            removeProcessors();
        }
    });

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

    fillWithWorkspaceProcessors();
    enableButtons();

    restoreColumnSettings();
}

From source file:org.emftools.emf2gv.graphdesc.presentation.wizard.EPackagesSelectionPage.java

License:Open Source License

/**
 * Creates the EPackage selection group.
 * //from   ww w  . j a  v  a  2 s . c o m
 * @param rootContainer
 *            the root container.
 */
private void createEPackageSelectionGroup(Composite rootContainer) {
    // EPackage list group
    Group ePackageListGroup = createGroup(rootContainer, "EPackage selection", 1, true);
    // EPackage table initialization
    Table ePackageTable = new Table(ePackageListGroup, SWT.CHECK | SWT.BORDER);
    GridData gridData = new GridData(SWT.FILL, SWT.FILL, true, true);
    // gridData.heightHint = 350;
    ePackageTable.setLayoutData(gridData);
    ePackageTableViewer = new CheckboxTableViewer(ePackageTable);
    ePackageTableViewer.setContentProvider(new EPackagesContentProvider());
    ePackageTableViewer.setLabelProvider(new EPackageLabelProvider());
    ePackageTableViewer.addCheckStateListener(new ICheckStateListener() {
        public void checkStateChanged(CheckStateChangedEvent event) {
            handleEPackageCheckedStateChanged((EPackage) event.getElement(), event.getChecked());
        }
    });

}

From source file:org.emftools.emf2gv.processor.ui.EMF2GvLaunchConfigFiltersTab.java

License:Open Source License

/**
 * Creates the group containing the filter options.
 * //from ww  w.ja  va2 s .  c  o  m
 * @param parent
 *            the parent composite.
 */
private void createFiltersGroup(Composite parent) {
    Group group = createGroup(parent, "Filter definitions", 2, GridData.FILL_BOTH);

    // Table initialization
    Table table = new Table(group, SWT.FULL_SELECTION | SWT.BORDER | SWT.CHECK);
    table.setLinesVisible(true);
    table.setHeaderVisible(true);
    GridData gd = new GridData(GridData.FILL_BOTH);
    gd.verticalSpan = 3;
    gd.heightHint = 150;
    gd.grabExcessHorizontalSpace = true;
    gd.grabExcessVerticalSpace = true;
    table.setLayoutData(gd);

    // Table viewer initialization
    eClassesTableViewer = new CheckboxTableViewer(table);
    eClassesTableViewer.setContentProvider(new TableContentProvider());
    eClassesTableViewer.setLabelProvider(new TableLabelProvider(adapterFactoryLabelProvider));
    eClassesTableViewer.addSelectionChangedListener(new ISelectionChangedListener() {
        public void selectionChanged(SelectionChangedEvent event) {
            updateButtonsEnablement();
        }
    });
    eClassesTableViewer.addDoubleClickListener(new IDoubleClickListener() {
        public void doubleClick(DoubleClickEvent event) {
            handleEditButton();
        }
    });
    eClassesTableViewer.addCheckStateListener(new ICheckStateListener() {
        public void checkStateChanged(CheckStateChangedEvent event) {
            OCLConstraint oCLConstraint = (OCLConstraint) event.getElement();
            if (oCLConstraint.enabled != event.getChecked()) {
                oCLConstraint.enabled = event.getChecked();
                updateLaunchConfigurationDialog();
            }
        }
    });

    // Columns configuration
    TableColumn eClassColumn = new TableColumn(table, SWT.LEFT);
    eClassColumn.setText("Filtered EClass");
    eClassColumn.setWidth(150);
    TableColumn expressionColumn = new TableColumn(table, SWT.LEFT);
    expressionColumn.setText("Draw if the following OCL condition is checked");
    expressionColumn.setWidth(290);

    // Buttons creation
    newButton = createButton(group, "New...", new SelectionAdapter() {
        @Override
        public void widgetSelected(SelectionEvent e) {
            handleNewButton();
        }
    });
    gd = new GridData(GridData.FILL_HORIZONTAL);
    gd.verticalAlignment = GridData.BEGINNING;
    gd.grabExcessHorizontalSpace = false;
    gd.grabExcessVerticalSpace = false;
    newButton.setLayoutData(gd);
    editButton = createButton(group, "Edit...", new SelectionAdapter() {
        @Override
        public void widgetSelected(SelectionEvent e) {
            handleEditButton();
        }
    });
    gd = new GridData(GridData.FILL_HORIZONTAL);
    gd.verticalAlignment = GridData.BEGINNING;
    gd.grabExcessHorizontalSpace = false;
    gd.grabExcessVerticalSpace = false;
    editButton.setLayoutData(gd);
    removeButton = createButton(group, "Remove", new SelectionAdapter() {
        @Override
        public void widgetSelected(SelectionEvent e) {
            handleRemoveButton();
        }
    });
    gd = new GridData(GridData.FILL_HORIZONTAL);
    gd.verticalAlignment = GridData.BEGINNING;
    gd.grabExcessHorizontalSpace = false;
    gd.grabExcessVerticalSpace = false;
    removeButton.setLayoutData(gd);
    updateButtonsEnablement();

    // Table viewer model initialization
    eClassesTableViewer.setInput(oCLConstraints);
}

From source file:org.erlide.ui.dialogfields.CheckedListDialogField.java

License:Open Source License

@Override
protected TableViewer createTableViewer(final Composite parent) {
    final Table table = new Table(parent, SWT.CHECK + getListStyle());
    final CheckboxTableViewer tableViewer = new CheckboxTableViewer(table);
    tableViewer.addCheckStateListener(new ICheckStateListener() {

        @Override/*from w ww  . j a v  a2 s  .  co m*/
        public void checkStateChanged(final CheckStateChangedEvent e) {
            doCheckStateChanged(e);
        }
    });
    return tableViewer;
}

From source file:org.erlide.ui.prefs.RuntimePreferencePage.java

License:Open Source License

private Control createMyControl(final Composite ancestor) {
    final Composite parent = new Composite(ancestor, SWT.NULL);
    GridLayout layout = new GridLayout();
    layout.numColumns = 2;//from w  w w  .j  av a2 s  .  c  o m
    layout.marginHeight = 0;
    layout.marginWidth = 0;
    parent.setLayout(layout);
    final Font font = ancestor.getFont();
    parent.setFont(font);

    GridData data;

    final Composite composite = new Composite(parent, SWT.NONE);
    composite.setLayoutData(new GridData(SWT.FILL, SWT.FILL, false, false));
    final GridLayout gridLayout = new GridLayout();
    gridLayout.numColumns = 2;
    composite.setLayout(gridLayout);

    final Label erlideLabel = new Label(composite, SWT.NONE);
    erlideLabel.setToolTipText("The erlide runtime is used for IDE purposes, not for running project code. "
            + "It is the most recent stable version that is installed.");
    final String erlideName = erlideRuntime == null ? "none" : erlideRuntime.getName();
    erlideLabel.setText(RuntimePreferenceMessages.RuntimePreferencePage_erlideLabel_text + erlideName);
    new Label(composite, SWT.NONE);
    new Label(parent, SWT.NONE);

    final Label tableLabel = new Label(parent, SWT.NONE);
    tableLabel.setText("Installed runtimes:");
    data = new GridData();
    data.horizontalSpan = 2;
    tableLabel.setLayoutData(data);
    tableLabel.setFont(font);

    final Table table = new Table(parent, SWT.CHECK | SWT.BORDER | SWT.MULTI | SWT.FULL_SELECTION);
    table.addSelectionListener(new SelectionAdapter() {
        @Override
        public void widgetSelected(final SelectionEvent e) {
            if (e.detail == SWT.CHECK) {
                final RuntimeInfo ri = (RuntimeInfo) e.item.getData();
                defaultRuntime = ri;
            }
        }
    });

    data = new GridData(SWT.FILL, SWT.FILL, true, true);
    data.widthHint = 403;
    table.setLayoutData(data);
    table.setFont(font);

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

    final TableLayout tableLayout = new TableLayout();
    table.setLayout(tableLayout);

    final TableColumn column1 = new TableColumn(table, SWT.NULL);
    column1.setWidth(80);
    column1.setText(RuntimePreferenceMessages.name);
    column1.setResizable(true);
    column1.addSelectionListener(new SelectionAdapter() {

        @Override
        public void widgetSelected(final SelectionEvent e) {
            sortByName();
        }
    });

    final TableColumn column2 = new TableColumn(table, SWT.NULL);
    column2.setWidth(150);
    column2.setText("Directory");
    column2.setResizable(true);
    column2.addSelectionListener(new SelectionAdapter() {

        @Override
        public void widgetSelected(final SelectionEvent e) {
            sortByDirectory();
        }
    });

    final TableColumn column3 = new TableColumn(table, SWT.NULL);
    column3.setWidth(80);
    column3.setText("Version");
    column3.setResizable(false);

    fRuntimeList = new CheckboxTableViewer(table);
    fRuntimeList.setLabelProvider(new RuntimeLabelProvider());
    fRuntimeList.setContentProvider(new RuntimeContentProvider());
    fRuntimeList.setInput(runtimes);
    if (defaultRuntime != null) {
        fRuntimeList.setCheckedElements(new Object[] { defaultRuntime });
    }
    // by default, sort by name
    sortByName();

    fRuntimeList.addSelectionChangedListener(new ISelectionChangedListener() {

        @Override
        public void selectionChanged(final SelectionChangedEvent evt) {
            enableButtons();
        }
    });

    fRuntimeList.addCheckStateListener(new ICheckStateListener() {

        @Override
        public void checkStateChanged(final CheckStateChangedEvent event) {
            if (event.getChecked()) {
                setCheckedRuntime((RuntimeInfo) event.getElement());
            } else {
                setCheckedRuntime(null);
            }
        }
    });

    fRuntimeList.addDoubleClickListener(new IDoubleClickListener() {

        @Override
        public void doubleClick(final DoubleClickEvent e) {
            if (!fRuntimeList.getSelection().isEmpty()) {
                editRuntime();
            }
        }
    });
    table.addKeyListener(new KeyAdapter() {

        @Override
        public void keyPressed(final KeyEvent event) {
            if (event.character == SWT.DEL && event.stateMask == 0) {
                removeSelectedRuntimes();
            }
        }
    });

    final 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, RuntimePreferenceMessages.add);
    fAddButton.addListener(SWT.Selection, new Listener() {
        @Override
        public void handleEvent(final Event evt) {
            addRuntime();
        }
    });

    fEditButton = createPushButton(buttons, RuntimePreferenceMessages.edit);
    fEditButton.addListener(SWT.Selection, new Listener() {
        @Override
        public void handleEvent(final Event evt) {
            editRuntime();
        }
    });

    fDuplicateButton = createPushButton(buttons, RuntimePreferenceMessages.duplicate);
    fDuplicateButton.addListener(SWT.Selection, new Listener() {
        @Override
        public void handleEvent(final Event evt) {
            duplicateRuntime();
        }

    });

    fRemoveButton = createPushButton(buttons, RuntimePreferenceMessages.remove);
    fRemoveButton.addListener(SWT.Selection, new Listener() {
        @Override
        public void handleEvent(final Event evt) {
            removeSelectedRuntimes();
        }
    });

    configureTableResizing(parent, buttons, table, column1, column2, column3);

    enableButtons();

    return parent;
}

From source file:org.erlide.ui.views.eval.LiveExpressionsView.java

License:Open Source License

/**
 * This is a callback that will allow us to create the viewer and initialize
 * it./*w  w  w .  j  a  va2 s . c o  m*/
 */
@Override
public void createPartControl(final Composite parent) {
    label = new Label(parent, SWT.NULL);
    final Table t = new Table(parent, SWT.SINGLE | SWT.V_SCROLL | SWT.FULL_SELECTION | SWT.CHECK);
    viewer = new CheckboxTableViewer(t);

    final GridData labelLData = new GridData();
    labelLData.verticalAlignment = GridData.BEGINNING;
    labelLData.horizontalAlignment = GridData.FILL;
    labelLData.widthHint = 300;
    labelLData.heightHint = 14;
    labelLData.horizontalIndent = 0;
    labelLData.horizontalSpan = 1;
    labelLData.verticalSpan = 1;
    labelLData.grabExcessHorizontalSpace = true;
    labelLData.grabExcessVerticalSpace = false;
    label.setLayoutData(labelLData);
    label.setSize(new org.eclipse.swt.graphics.Point(319, 14));

    final GridData viewerLData = new GridData();
    viewerLData.verticalAlignment = GridData.FILL;
    viewerLData.horizontalAlignment = GridData.FILL;
    viewerLData.widthHint = 600;
    viewerLData.heightHint = 150;
    viewerLData.horizontalIndent = 0;
    viewerLData.horizontalSpan = 1;
    viewerLData.verticalSpan = 1;
    viewerLData.grabExcessHorizontalSpace = true;
    viewerLData.grabExcessVerticalSpace = true;
    t.setLayoutData(viewerLData);
    t.setSize(new org.eclipse.swt.graphics.Point(600, 200));

    final GridLayout thisLayout = new GridLayout(1, true);
    parent.setLayout(thisLayout);
    thisLayout.marginWidth = 5;
    thisLayout.marginHeight = 5;
    thisLayout.numColumns = 1;
    thisLayout.makeColumnsEqualWidth = false;
    thisLayout.horizontalSpacing = 0;
    thisLayout.verticalSpacing = 1;

    t.setLinesVisible(true);
    t.setHeaderVisible(true);
    // t.setFont();

    final TableColumn colExpr = new TableColumn(t, SWT.LEAD, 0);
    colExpr.setText("Expression");
    colExpr.setWidth(150);

    final TableColumn colValue = new TableColumn(t, SWT.LEAD, 1);
    colValue.setText("Value");
    colValue.setWidth(t.getSize().x - 50);

    viewer.setColumnProperties(new String[] { "expr", "val" });

    viewer.setContentProvider(new ViewContentProvider());
    viewer.setLabelProvider(new ViewLabelProvider());
    // viewer.setSorter(new NameSorter());

    if (!restoreState()) {
        /* Fill LiveExpressions for first time */
        exprs = new ArrayList<LiveExpr>(10);
        addExpr(new LiveExpr("erlang:now()"));
    }
    viewer.setInput(exprs);

    final TextCellEditor e = new TextCellEditor(t);
    viewer.setCellEditors(new CellEditor[] { e, null });
    viewer.setCellModifier(new LiveExprCellModifier(this));

    makeActions();
    hookContextMenu();
    contributeToActionBars();
    hookGlobalActions();

    final Listener tableListener = new Listener() {

        SourceViewerInformationControl info = null;

        @Override
        public void handleEvent(final Event event) {
            switch (event.type) {
            case SWT.Dispose:
            case SWT.KeyDown:
            case SWT.MouseMove: {
                if (info == null) {
                    break;
                }
                info.dispose();
                info = null;
                break;
            }
            case SWT.MouseHover: {
                final TableItem item = t.getItem(new Point(event.x, event.y));
                if (item != null) {
                    String str = item.getText(1);
                    if (str.length() > 0) {
                        // ErlLogger.debug(str);
                        final BackendEvalResult r = BackendHelper.eval(
                                BackendCore.getBackendManager().getIdeBackend(),
                                "lists:flatten(io_lib:format(\"~p\", [" + item.getText(1) + "])).", null);
                        if (r.isOk()) {
                            str = ErlUtils.asString(r.getValue());
                        } else {
                            str = r.getErrorReason().toString();
                        }
                        info = new SourceViewerInformationControl(t.getShell(),
                                SWT.ON_TOP | SWT.TOOL | SWT.RESIZE, SWT.MULTI | SWT.WRAP,
                                PreferenceConstants.EDITOR_TEXT_FONT, null);
                        info.setForegroundColor(t.getDisplay().getSystemColor(SWT.COLOR_INFO_FOREGROUND));
                        info.setBackgroundColor(t.getDisplay().getSystemColor(SWT.COLOR_INFO_BACKGROUND));
                        info.setInformation(str);

                        final Rectangle rect = item.getBounds(1);
                        final int lw = t.getGridLineWidth();
                        final Point pt = t.toDisplay(rect.x + lw, rect.y + lw);
                        info.setLocation(pt);
                        info.setSize(rect.width + lw, t.getBounds().height - rect.y);
                        info.setVisible(true);
                    }
                }
            }
                break;
            }
        }
    };
    t.addListener(SWT.Dispose, tableListener);
    t.addListener(SWT.KeyDown, tableListener);
    t.addListener(SWT.MouseMove, tableListener);
    t.addListener(SWT.MouseHover, tableListener);

    // /////////////

}

From source file:org.gradle.eclipse.launchConfigurations.GradleTasksTab.java

License:Apache License

/**
 * Creates the table which displays the available tasks
 * @param parent the parent composite//from  www. j a  v a  2 s .co  m
 */
private void createTasksTable(Composite parent) {
    Font font = parent.getFont();
    Label label = new Label(parent, SWT.NONE);
    label.setFont(font);
    label.setText(GradleLaunchConfigurationMessages.GradleTasksTab_Check_task_to_e_xecute__1);

    final Table table = new Table(parent, SWT.CHECK | SWT.BORDER | SWT.FULL_SELECTION);

    GridData data = new GridData(GridData.FILL_BOTH);
    int availableRows = availableRows(parent);
    data.heightHint = table.getItemHeight() * (availableRows / 20);
    data.widthHint = 500;
    data.minimumWidth = 500;

    table.setLayoutData(data);
    table.setFont(font);
    table.setHeaderVisible(true);
    table.setLinesVisible(true);

    TableLayout tableLayout = new TableLayout();
    ColumnWeightData weightData = new ColumnWeightData(250, true);
    tableLayout.addColumnData(weightData);
    weightData = new ColumnWeightData(250, true);
    tableLayout.addColumnData(weightData);
    table.setLayout(tableLayout);

    final TableColumn column1 = new TableColumn(table, SWT.NULL);
    column1.setText(GradleLaunchConfigurationMessages.GradleTasksTab_Name_5);
    column1.setWidth(300);

    final TableColumn column2 = new TableColumn(table, SWT.NULL);
    column2.setText(GradleLaunchConfigurationMessages.GradleTasksTab_Description_6);
    column2.setWidth(300);

    //TableLayout only sizes columns once. If showing the tasks
    //tab as the initial tab, the dialog isn't open when the layout
    //occurs and the column size isn't computed correctly. Need to
    //recompute the size of the columns once all the parent controls 
    //have been created/sized.
    //HACK Bug 139190 
    getShell().addShellListener(new ShellAdapter() {
        public void shellActivated(ShellEvent e) {
            if (!table.isDisposed()) {
                int tableWidth = table.getSize().x;
                if (tableWidth > 0) {
                    int c1 = tableWidth / 3;
                    column1.setWidth(c1);
                    column2.setWidth(tableWidth - c1);
                }
                getShell().removeShellListener(this);
            }
        }
    });

    fTableViewer = new CheckboxTableViewer(table);

    fTableViewer.setLabelProvider(new GradleTaskModelLabelProvider());
    fTableViewer.setContentProvider(new GradleTaskModelContentProvider());

    fTableViewer.addCheckStateListener(new ICheckStateListener() {
        public void checkStateChanged(CheckStateChangedEvent event) {
            updateOrderedTargets(event.getElement(), event.getChecked());
        }
    });
}

From source file:org.grails.ide.eclipse.ui.internal.properties.InstalledGrailsInstallBlock.java

License:Open Source License

public void createControl(Composite ancestor) {
    Font font = ancestor.getFont();
    Composite parent = SWTFactory.createComposite(ancestor, font, 2, 1, GridData.FILL_BOTH);
    GridDataFactory.fillDefaults().grab(true, true).applyTo(parent);
    fControl = parent;/*from  w  w  w  . j  ava  2 s  .  co m*/

    SWTFactory.createLabel(parent, "Grails Installations:", 2);

    fTable = new Table(parent, SWT.CHECK | SWT.BORDER | SWT.MULTI | SWT.FULL_SELECTION);
    fTable.setFont(font);
    fTable.setHeaderVisible(true);
    fTable.setLinesVisible(true);

    //      GridData gd = new GridData(GridData.FILL_BOTH);
    //      gd.heightHint = 250;
    //      gd.widthHint = 350;
    GridDataFactory.fillDefaults().hint(350, 250).grab(true, true).applyTo(fTable);

    TableColumn column = new TableColumn(fTable, SWT.LEFT);
    column.setText("Name");
    column.addSelectionListener(new SelectionAdapter() {
        public void widgetSelected(SelectionEvent e) {
            sortByName();
        }
    });

    column = new TableColumn(fTable, SWT.LEFT);
    column.setText("Location");
    column.addSelectionListener(new SelectionAdapter() {
        public void widgetSelected(SelectionEvent e) {
            sortByLocation();
        }
    });

    fVMList = new CheckboxTableViewer(fTable);
    fVMList.setLabelProvider(new VMLabelProvider());
    fVMList.setContentProvider(new JREsContentProvider());
    // by default, sort by name
    sortByName();

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

    fVMList.addCheckStateListener(new ICheckStateListener() {
        public void checkStateChanged(CheckStateChangedEvent event) {
            if (event.getChecked()) {
                setCheckedJRE((IGrailsInstall) event.getElement());
            } else {
                setCheckedJRE(null);
            }
        }
    });

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

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

    fAddButton = SWTFactory.createPushButton(buttons, "Add...", null);
    fAddButton.addListener(SWT.Selection, new Listener() {
        public void handleEvent(Event evt) {
            addVM();
        }
    });

    fEditButton = SWTFactory.createPushButton(buttons, "Edit...", null);
    fEditButton.addListener(SWT.Selection, new Listener() {
        public void handleEvent(Event evt) {
            editVM();
        }
    });

    fRemoveButton = SWTFactory.createPushButton(buttons, "Remove...", null);
    fRemoveButton.addListener(SWT.Selection, new Listener() {
        public void handleEvent(Event evt) {
            removeVMs();
        }
    });

    SWTFactory.createVerticalSpacer(parent, 1);

    fillWithWorkspaceJREs();
    enableButtons();
    fAddButton.setEnabled(JavaRuntime.getVMInstallTypes().length > 0);
}

From source file:org.hawk.ui2.dialog.HImportDialog.java

License:Open Source License

protected Control createDialogArea(Composite parent) {
    Composite container = (Composite) super.createDialogArea(parent);
    final GridLayout gridLayout = new GridLayout();
    gridLayout.numColumns = 3;//from  w w  w  .  j  a v  a  2  s. co m
    container.setLayout(gridLayout);

    // Instance type row //////////////////////////////////////////////////

    final Label lblInstanceType = new Label(container, SWT.NONE);
    lblInstanceType.setText("&Instance type:");

    final Combo cmbInstanceType = new Combo(container, SWT.READ_ONLY);
    final GridData cmbInstanceTypeLayout = new GridData(SWT.FILL, SWT.CENTER, true, false);
    cmbInstanceTypeLayout.horizontalSpan = 2;
    cmbInstanceType.setLayoutData(cmbInstanceTypeLayout);

    cmbvInstanceType = new ComboViewer(cmbInstanceType);
    cmbvInstanceType.setContentProvider(new ArrayContentProvider());
    cmbvInstanceType.setLabelProvider(new ClassNameLabelProvider());
    cmbvInstanceType.addSelectionChangedListener(new ISelectionChangedListener() {
        @Override
        public void selectionChanged(SelectionChangedEvent event) {
            dialogChanged();
        }
    });
    cmbvInstanceType.setInput(this.factories);
    if (this.factories.length > 0) {
        cmbInstanceType.select(0);
    }

    // Remote location ////////////////////////////////////////////////////

    final Label lblLocation = new Label(container, SWT.NONE);
    lblLocation.setText("&Location:");

    txtLocation = new Text(container, SWT.BORDER);
    txtLocation.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false));
    // We do *not* add a text change listener, as we do not want to repeatedly
    // send bad requests to remote servers. Users will be expected to hit the
    // "Fetch" button to query the remote server.

    btnFetch = new Button(container, SWT.NONE);
    btnFetch.setText("Fetch");
    btnFetch.addSelectionListener(new SelectionAdapter() {
        @Override
        public void widgetSelected(SelectionEvent e) {
            dialogChanged();
        }
    });

    // Instance list //////////////////////////////////////////////////////

    final Table tblInstances = new Table(container, SWT.BORDER | SWT.CHECK);
    final GridData tblInstancesLayout = new GridData(SWT.FILL, SWT.FILL, true, true);
    tblInstancesLayout.horizontalSpan = 3;
    tblInstancesLayout.minimumHeight = 200;
    tblInstancesLayout.minimumWidth = 400;
    tblInstances.setLayoutData(tblInstancesLayout);

    tblvInstances = new CheckboxTableViewer(tblInstances);
    tblvInstances.setLabelProvider(new LabelProvider() {
        @Override
        public String getText(Object element) {
            final IHawkFactory.InstanceInfo entry = (IHawkFactory.InstanceInfo) element;
            return entry.name + (entry.state != HawkState.STOPPED ? " (running)" : "");
        }
    });
    tblvInstances.setSorter(new ViewerSorter());
    tblvInstances.setFilters(
            new ViewerFilter[] { new RemoveExistingHawksFilter(), new RemoveHawksWithUnknownDBTypeFilter() });
    tblvInstances.setContentProvider(new ArrayContentProvider());

    // "Select all" and "Deselect all" ////////////////////////////////////

    final Composite batchSelectContainer = new Composite(container, SWT.NONE);
    batchSelectContainer.setLayout(new FillLayout());
    final GridData batchSelectContainerLayout = new GridData();
    batchSelectContainerLayout.horizontalSpan = 3;
    batchSelectContainer.setLayoutData(batchSelectContainerLayout);

    final Button btnSelectAll = new Button(batchSelectContainer, SWT.NONE);
    btnSelectAll.setText("&Select All");
    btnSelectAll.addSelectionListener(new SelectionAdapter() {
        @Override
        public void widgetSelected(SelectionEvent e) {
            tblvInstances.setAllChecked(true);
        }
    });

    final Button btnDeselectAll = new Button(batchSelectContainer, SWT.NONE);
    btnDeselectAll.setText("&Deselect All");
    btnDeselectAll.addSelectionListener(new SelectionAdapter() {
        @Override
        public void widgetSelected(SelectionEvent e) {
            tblvInstances.setAllChecked(false);
        }
    });

    dialogChanged();
    return container;
}