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.rubypeople.rdt.internal.debug.ui.preferences.EvaluationExpressionsPreferencePage.java

License:Common Public License

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

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

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

    GridData data = new GridData(GridData.FILL_BOTH);
    data.widthHint = convertWidthInCharsToPixels(3);
    data.heightHint = convertHeightInCharsToPixels(10);
    table.setLayoutData(data);

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

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

    TableColumn column1 = new TableColumn(table, SWT.NONE);
    column1.setText(RdtDebugUiMessages.EvaluationExpressionsPreferencePage_column_name);

    TableColumn column2 = new TableColumn(table, SWT.NONE);
    column2.setText(RdtDebugUiMessages.EvaluationExpressionsPreferencePage_column_description);

    fTableViewer = new CheckboxTableViewer(table);
    fTableViewer.setLabelProvider(new EvaluationExpressionLabelProvider());
    fTableViewer.setContentProvider(new EvaluationExpressionContentProvider());

    fTableViewer.addDoubleClickListener(new IDoubleClickListener() {

        public void doubleClick(DoubleClickEvent e) {
            edit();
        }
    });

    fTableViewer.addSelectionChangedListener(new ISelectionChangedListener() {

        public void selectionChanged(SelectionChangedEvent e) {
            selectionChanged1();
        }
    });

    fTableViewer.addCheckStateListener(new ICheckStateListener() {

        public void checkStateChanged(CheckStateChangedEvent event) {
            ((EvaluationExpression) event.getElement()).setEnabled(event.getChecked());
        }
    });

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

    fAddButton = new Button(buttons, SWT.PUSH);
    fAddButton.setText(RdtDebugUiMessages.EvaluationExpressionsPreferencePage_new);
    fAddButton.setLayoutData(getButtonGridData(fAddButton));
    fAddButton.addListener(SWT.Selection, new Listener() {

        public void handleEvent(Event e) {
            add();
        }
    });

    fEditButton = new Button(buttons, SWT.PUSH);
    fEditButton.setText(RdtDebugUiMessages.EvaluationExpressionsPreferencePage_edit);
    fEditButton.setLayoutData(getButtonGridData(fEditButton));
    fEditButton.addListener(SWT.Selection, new Listener() {

        public void handleEvent(Event e) {
            edit();
        }
    });

    fRemoveButton = new Button(buttons, SWT.PUSH);
    fRemoveButton.setText(RdtDebugUiMessages.EvaluationExpressionsPreferencePage_remove);
    fRemoveButton.setLayoutData(getButtonGridData(fRemoveButton));
    fRemoveButton.addListener(SWT.Selection, new Listener() {

        public void handleEvent(Event e) {
            remove();
        }
    });

    createSeparator(buttons);

    fImportButton = new Button(buttons, SWT.PUSH);
    fImportButton.setText(RdtDebugUiMessages.EvaluationExpressionsPreferencePage_import);
    fImportButton.setLayoutData(getButtonGridData(fImportButton));
    fImportButton.addListener(SWT.Selection, new Listener() {

        public void handleEvent(Event e) {
            importFile();
        }
    });

    fExportButton = new Button(buttons, SWT.PUSH);
    fExportButton.setText(RdtDebugUiMessages.EvaluationExpressionsPreferencePage_export);
    fExportButton.setLayoutData(getButtonGridData(fExportButton));
    fExportButton.addListener(SWT.Selection, new Listener() {

        public void handleEvent(Event e) {
            exportFile();
        }
    });

    fTableViewer.setInput(fModel);
    setEnabledExpresions(fTableViewer);
    updateButtons();
    configureTableResizing(innerParent, buttons, table, column1, column2);

    Dialog.applyDialogFont(parent);
    return parent;
}

From source file:org.rubypeople.rdt.internal.testunit.ui.TestUnitPreferencePage.java

License:Open Source License

private void createFilterTable(Composite container) {
    TableLayoutComposite layouter = new TableLayoutComposite(container, SWT.NONE);
    layouter.addColumnData(new ColumnWeightData(100));
    layouter.setLayoutData(new GridData(GridData.FILL_BOTH));

    fFilterTable = new Table(layouter, SWT.CHECK | SWT.BORDER | SWT.MULTI | SWT.FULL_SELECTION);

    new TableColumn(fFilterTable, SWT.NONE);
    fFilterViewer = new CheckboxTableViewer(fFilterTable);
    fTableEditor = new TableEditor(fFilterTable);
    fFilterViewer.setLabelProvider(new FilterLabelProvider());
    fFilterViewer.setSorter(new FilterViewerSorter());
    fStackFilterContentProvider = new StackFilterContentProvider();
    fFilterViewer.setContentProvider(fStackFilterContentProvider);
    // input just needs to be non-null
    fFilterViewer.setInput(this);
    fFilterViewer.addCheckStateListener(new ICheckStateListener() {
        public void checkStateChanged(CheckStateChangedEvent event) {
            Filter filter = (Filter) event.getElement();
            fStackFilterContentProvider.toggleFilter(filter);
        }//from  w w w .  j av a 2 s .  c  o  m
    });
    fFilterViewer.addSelectionChangedListener(new ISelectionChangedListener() {
        public void selectionChanged(SelectionChangedEvent event) {
            ISelection selection = event.getSelection();
            fRemoveFilterButton.setEnabled(!selection.isEmpty());
        }
    });
}

From source file:org.rubypeople.rdt.internal.ui.search.FiltersDialog.java

License:Open Source License

protected Control createDialogArea(Composite composite) {
    Composite parent = (Composite) super.createDialogArea(composite);
    initializeDialogUnits(composite);//from   ww  w . ja v  a 2 s  .com

    createTableLimit(parent);
    // Create list viewer
    Label l = new Label(parent, SWT.NONE);
    l.setFont(parent.getFont());
    l.setText(org.rubypeople.rdt.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.rubypeople.rdt.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;
}

From source file:org.seasar.s2junit4plugin.preference.NamingRulesPreference.java

License:Apache License

private void createTable(Composite container) {
    Label label = new Label(container, SWT.NONE);
    label.setText(Messages.getString("NamingRulesPreference.label")); //$NON-NLS-1$
    GridData gd = new GridData(GridData.HORIZONTAL_ALIGN_BEGINNING);
    gd.horizontalSpan = 2;/*from ww w  .  j a v a 2 s  . c om*/
    label.setLayoutData(gd);

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

    gd = new GridData(GridData.FILL_HORIZONTAL);
    table.setLayoutData(gd);

    TableLayout tableLayout = new TableLayout();
    ColumnLayoutData[] columnLayoutData = new ColumnLayoutData[1];
    columnLayoutData[0] = new ColumnWeightData(100);
    tableLayout.addColumnData(columnLayoutData[0]);
    table.setLayout(tableLayout);
    new TableColumn(table, SWT.NONE);
    tableViewer = new CheckboxTableViewer(table);
    tableViewer.setLabelProvider(new TableLabelProvider());
    tableViewer.setContentProvider(new TableContentProvider());
    tableViewer.setInput(this);

    gd = new GridData(GridData.FILL_BOTH | GridData.GRAB_HORIZONTAL | GridData.GRAB_VERTICAL);
    tableViewer.getTable().setLayoutData(gd);
    tableViewer.addCheckStateListener(new ICheckStateListener() {
        public void checkStateChanged(CheckStateChangedEvent event) {
            NamingRule namingRule = (NamingRule) event.getElement();
            namingRule.setEnabled(event.getChecked());
            updateView();
        }
    });
    tableViewer.addSelectionChangedListener(new ISelectionChangedListener() {
        public void selectionChanged(SelectionChangedEvent event) {
            // unable if call update
            updateButtons();
        }
    });
    tableViewer.addDoubleClickListener(new IDoubleClickListener() {
        public void doubleClick(DoubleClickEvent event) {
            editNamingRule();
        }
    });
}

From source file:org.spearce.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("Commit Changes");

    GridLayout layout = new GridLayout(2, false);
    container.setLayout(layout);//from   w  w w  .ja  v  a2  s .com

    Label label = new Label(container, SWT.LEFT);
    label.setText("Commit Message:");
    label.setLayoutData(GridDataFactory.fillDefaults().span(2, 1).grab(true, false).create());

    commitText = new Text(container, SWT.MULTI | SWT.BORDER | SWT.V_SCROLL);
    commitText
            .setLayoutData(GridDataFactory.fillDefaults().span(2, 1).grab(true, true).hint(600, 200).create());

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

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

    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);
    } else if (!amendAllowed) {
        amendingButton.setEnabled(false);
    }
    amendingButton.addSelectionListener(new SelectionListener() {
        boolean alreadyAdded = false;

        public void widgetSelected(SelectionEvent arg0) {
            if (alreadyAdded)
                return;
            if (amendingButton.getSelection()) {
                alreadyAdded = true;
                String curText = commitText.getText();
                if (curText.length() > 0)
                    curText += "\n";
                commitText.setText(curText + previousCommitMessage);
            }
        }

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

    amendingButton.setText("Amend previous commit");
    amendingButton.setLayoutData(GridDataFactory.fillDefaults().grab(true, false).span(2, 1).create());

    signedOffButton = new Button(container, SWT.CHECK);
    signedOffButton.setSelection(signedOff);
    signedOffButton.setText("Add Signed-off-by");
    signedOffButton.setLayoutData(GridDataFactory.fillDefaults().grab(true, false).span(2, 1).create());

    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.setHeaderVisible(true);
    TableColumn statCol = new TableColumn(resourcesTable, SWT.LEFT);
    statCol.setText("Status");
    statCol.setWidth(150);

    TableColumn resourceCol = new TableColumn(resourcesTable, SWT.LEFT);
    resourceCol.setText("File");
    resourceCol.setWidth(415);

    filesViewer = new CheckboxTableViewer(resourcesTable);
    filesViewer.setContentProvider(new IStructuredContentProvider() {

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

        public void dispose() {
            // Empty
        }

        public Object[] getElements(Object inputElement) {
            return files.toArray();
        }

    });
    filesViewer.setLabelProvider(new CommitLabelProvider());
    filesViewer.setInput(files);
    filesViewer.setAllChecked(true);
    filesViewer.getTable().setMenu(getContextMenu());

    container.pack();
    return container;
}

From source file:org.springframework.ide.eclipse.boot.dash.ngrok.NGROKInstallBlock.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);
    control = parent;//from w ww  .j av  a 2 s .c om

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

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

    TableColumn column = new TableColumn(table, SWT.NULL);
    column.setText("Location");
    column.addSelectionListener(new SelectionAdapter() {
        @Override
        public void widgetSelected(SelectionEvent e) {
            sortByLocation();
        }
    });

    ngrokList = new CheckboxTableViewer(table);
    ngrokList.setLabelProvider(new NGROKLabelProvider());
    ngrokList.setContentProvider(new NGROKContentProvider());
    // by default, sort by name
    sortByLocation();

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

    ngrokList.addCheckStateListener(new ICheckStateListener() {
        public void checkStateChanged(CheckStateChangedEvent event) {
            if (event.getChecked()) {
                setCheckedNGROK((String) event.getElement());
            } else {
                setCheckedNGROK(null);
            }
        }
    });

    ngrokList.addDoubleClickListener(new IDoubleClickListener() {
        public void doubleClick(DoubleClickEvent e) {
            if (!ngrokList.getSelection().isEmpty()) {
                editNGROK();
            }
        }
    });
    table.addKeyListener(new KeyAdapter() {
        @Override
        public void keyPressed(KeyEvent event) {
            if (event.character == SWT.DEL && event.stateMask == 0) {
                if (removeButton.isEnabled()) {
                    removeNGROKs();
                }
            }
        }
    });

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

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

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

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

    SWTFactory.createVerticalSpacer(parent, 1);

    fillWithWorkspaceNGROKs();
    enableButtons();
    addButton.setEnabled(true);
}

From source file:org.springframework.ide.eclipse.boot.ui.preferences.InstalledBootInstallBlock.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);
    fControl = parent;/* w  w  w  .  j  a  v  a 2 s . c o m*/

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

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

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

    column = new TableColumn(fTable, SWT.NULL);
    column.setText("Location");
    column.addSelectionListener(new SelectionAdapter() {
        @Override
        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((IBootInstall) event.getElement());
            } else {
                setCheckedJRE(null);
            }
        }
    });

    fVMList.addDoubleClickListener(new IDoubleClickListener() {
        public void doubleClick(DoubleClickEvent e) {
            if (!fVMList.getSelection().isEmpty()) {
                editVM();
            }
        }
    });
    fTable.addKeyListener(new KeyAdapter() {
        @Override
        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.springframework.ide.eclipse.roo.ui.internal.properties.InstalledRooInstallBlock.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);
    fControl = parent;/*from   w  w w .  j av a  2s . c om*/

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

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

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

    column = new TableColumn(fTable, SWT.NULL);
    column.setText("Location");
    column.addSelectionListener(new SelectionAdapter() {
        @Override
        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((IRooInstall) event.getElement());
            } else {
                setCheckedJRE(null);
            }
        }
    });

    fVMList.addDoubleClickListener(new IDoubleClickListener() {
        public void doubleClick(DoubleClickEvent e) {
            if (!fVMList.getSelection().isEmpty()) {
                editVM();
            }
        }
    });
    fTable.addKeyListener(new KeyAdapter() {
        @Override
        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.summer.sdt.internal.debug.ui.jres.ExecutionEnvironmentsPreferencePage.java

License:Open Source License

@Override
protected Control createContents(Composite ancestor) {
    initializeDialogUnits(ancestor);/*from   w w  w  . j a  va2s.c  o m*/
    noDefaultAndApplyButton();
    // TODO: fix help
    PlatformUI.getWorkbench().getHelpSystem().setHelp(ancestor, IJavaDebugHelpContextIds.JRE_PROFILES_PAGE);

    // init default mappings
    IExecutionEnvironmentsManager manager = JavaRuntime.getExecutionEnvironmentsManager();
    IExecutionEnvironment[] environments = manager.getExecutionEnvironments();
    for (int i = 0; i < environments.length; i++) {
        IExecutionEnvironment environment = environments[i];
        IVMInstall install = environment.getDefaultVM();
        if (install != null) {
            fDefaults.put(environment, install);
        }
    }

    Composite container = new Composite(ancestor, SWT.NONE);
    GridLayout layout = new GridLayout();
    layout.numColumns = 2;
    layout.marginHeight = 0;
    layout.marginWidth = 0;
    layout.makeColumnsEqualWidth = true;
    container.setLayout(layout);
    GridData gd = new GridData(GridData.FILL_BOTH);
    container.setLayoutData(gd);
    container.setFont(ancestor.getFont());

    Composite eeContainer = new Composite(container, SWT.NONE);
    layout = new GridLayout();
    layout.marginWidth = 0;
    eeContainer.setLayout(layout);
    eeContainer.setLayoutData(new GridData(GridData.FILL_BOTH));

    Label label = new Label(eeContainer, SWT.NONE);
    label.setFont(ancestor.getFont());
    label.setText(JREMessages.JREProfilesPreferencePage_2);
    label.setLayoutData(new GridData(SWT.FILL, 0, true, false));

    Table table = new Table(eeContainer, SWT.BORDER | SWT.SINGLE);
    table.setLayout(layout);
    table.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));
    fProfilesViewer = new TableViewer(table);
    fProfilesViewer.setContentProvider(new ArrayContentProvider());
    fProfilesViewer.setLabelProvider(new ExecutionEnvironmentsLabelProvider());
    fProfilesViewer.setInput(JavaRuntime.getExecutionEnvironmentsManager().getExecutionEnvironments());

    Composite jreContainer = new Composite(container, SWT.NONE);
    layout = new GridLayout();
    layout.marginWidth = 0;
    jreContainer.setLayout(layout);
    jreContainer.setLayoutData(new GridData(GridData.FILL_BOTH));

    label = new Label(jreContainer, SWT.NONE);
    label.setFont(ancestor.getFont());
    label.setText(JREMessages.JREProfilesPreferencePage_3);
    label.setLayoutData(new GridData(SWT.FILL, 0, true, false));

    table = new Table(jreContainer, SWT.CHECK | SWT.BORDER | SWT.SINGLE);
    table.setLayout(layout);
    table.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));
    fJREsViewer = new CheckboxTableViewer(table);
    fJREsViewer.setContentProvider(new JREsContentProvider());
    fJREsViewer.setLabelProvider(
            new JREsEnvironmentLabelProvider(new JREsEnvironmentLabelProvider.IExecutionEnvironmentProvider() {
                public IExecutionEnvironment getEnvironment() {
                    return (IExecutionEnvironment) fJREsViewer.getInput();
                }
            }));
    fJREsViewer.setComparator(new JREsEnvironmentComparator());

    label = new Label(container, SWT.NONE);
    label.setFont(ancestor.getFont());
    label.setText(JREMessages.JREProfilesPreferencePage_4);
    label.setLayoutData(new GridData(SWT.FILL, 0, true, false, 2, 1));

    Text text = new Text(container, SWT.READ_ONLY | SWT.WRAP | SWT.BORDER);
    text.setFont(ancestor.getFont());
    text.setLayoutData(new GridData(SWT.FILL, 0, true, false, 2, 1));
    fDescription = text;

    fProfilesViewer.addSelectionChangedListener(new ISelectionChangedListener() {
        public void selectionChanged(SelectionChangedEvent event) {
            IExecutionEnvironment env = (IExecutionEnvironment) ((IStructuredSelection) event.getSelection())
                    .getFirstElement();
            fJREsViewer.setInput(env);
            String description = env.getDescription();
            if (description == null) {
                description = ""; //$NON-NLS-1$
            }
            fDescription.setText(description);
            IVMInstall jre = (IVMInstall) fDefaults.get(env);
            if (jre != null) {
                fJREsViewer.setCheckedElements(new Object[] { jre });
            } else {
                fJREsViewer.setCheckedElements(new Object[0]);
            }
        }
    });

    fJREsViewer.addCheckStateListener(new ICheckStateListener() {
        public void checkStateChanged(CheckStateChangedEvent event) {
            if (event.getChecked()) {
                Object element = event.getElement();
                fDefaults.put(fJREsViewer.getInput(), element);
                fJREsViewer.setCheckedElements(new Object[] { element });
            } else {
                fDefaults.remove(fJREsViewer.getInput());
            }

        }
    });

    Dialog.applyDialogFont(ancestor);
    return ancestor;
}

From source file:org.summer.sdt.internal.ui.preferences.JavaEditorHoverConfigurationBlock.java

License:Open Source License

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

    ScrolledPageContent scrolled = new ScrolledPageContent(parent, SWT.H_SCROLL | SWT.V_SCROLL);
    scrolled.setExpandHorizontal(true);
    scrolled.setExpandVertical(true);

    Composite hoverComposite = new Composite(scrolled, SWT.NONE);
    GridLayout layout = new GridLayout();
    layout.numColumns = 2;
    layout.marginWidth = 0;
    layout.marginHeight = 0;
    hoverComposite.setLayout(layout);

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

    addFiller(hoverComposite);

    Label label = new Label(hoverComposite, SWT.NONE);
    label.setText(PreferencesMessages.JavaEditorHoverConfigurationBlock_hoverPreferences);
    GridData 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.JavaEditorHoverConfigurationBlock_nameColumnTitle);
    fNameColumn.setResizable(true);

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

    fHoverTableViewer = new CheckboxTableViewer(fHoverTable);
    fHoverTableViewer.setUseHashlookup(true);
    fHoverTableViewer.setContentProvider(new JavaEditorTextHoverDescriptorContentProvider());
    fHoverTableViewer.setLabelProvider(new JavaEditorTextHoverDescriptorLabelProvider());

    ((CheckboxTableViewer) fHoverTableViewer).addCheckStateListener(new ICheckStateListener() {
        /*
         * @see org.eclipse.jface.viewers.ICheckStateListener#checkStateChanged(org.eclipse.jface.viewers.CheckStateChangedEvent)
         */
        public void checkStateChanged(CheckStateChangedEvent event) {
            String id = ((JavaEditorTextHoverDescriptor) event.getElement()).getId();
            if (id == null)
                return;
            JavaEditorTextHoverDescriptor[] 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.JavaEditorHoverConfigurationBlock_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.JavaEditorHoverConfigurationBlock_insertDelimiterAndModifierAndDelimiter,
                            new String[] { Action.findModifierString(e.stateMask) });
                else if (needsPrefixDelimiter)
                    insertString = Messages.format(
                            PreferencesMessages.JavaEditorHoverConfigurationBlock_insertDelimiterAndModifier,
                            new String[] { Action.findModifierString(e.stateMask) });
                else if (needsPostfixDelimiter)
                    insertString = Messages.format(
                            PreferencesMessages.JavaEditorHoverConfigurationBlock_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.JavaEditorHoverConfigurationBlock_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);
    SWTUtil.fixReadonlyTextBackground(fDescription);
    gd = new GridData(GridData.FILL_BOTH);
    gd.horizontalSpan = 2;
    fDescription.setLayoutData(gd);

    initialize();

    scrolled.setContent(hoverComposite);
    final Point size = hoverComposite.computeSize(SWT.DEFAULT, SWT.DEFAULT);
    scrolled.setMinSize(size.x, size.y);

    Dialog.applyDialogFont(scrolled);

    return scrolled;

}