Example usage for org.eclipse.jface.viewers CheckboxTableViewer getCheckedElements

List of usage examples for org.eclipse.jface.viewers CheckboxTableViewer getCheckedElements

Introduction

In this page you can find the example usage for org.eclipse.jface.viewers CheckboxTableViewer getCheckedElements.

Prototype

public Object[] getCheckedElements() 

Source Link

Document

Returns a list of elements corresponding to checked table items in this viewer.

Usage

From source file:org.kalypso.contribs.eclipse.jface.wizard.ArrayChooserPage.java

License:Open Source License

/**
 * This function creates one type of button from two available types. Each type of button will change the check-state
 * of all chooseables./*from   ww  w  .ja v a  2s.co m*/
 *
 * @param parent
 *          The parent composite.
 * @param viewer
 *          The viewer, which will be manipulated from this button.
 * @param select
 *          The type of the created button.<br>
 *          If true, a button which will select all chooseables, will be created.<br>
 *          If false, a button which will unselect all chooseables, will be created.
 */
private void createSelectButton(final Composite parent, final CheckboxTableViewer viewer,
        final boolean select) {
    final Button button = new Button(parent, SWT.PUSH);

    button.setLayoutData(new GridData(GridData.FILL_BOTH));
    button.setText(select ? SELECT_ALL_TITLE : DESELECT_ALL_TITLE);

    button.addSelectionListener(new SelectionAdapter() {
        @Override
        public void widgetSelected(final SelectionEvent e) {
            viewer.setAllChecked(select);

            /* Update the list of checked elements. */
            setChecked(viewer.getCheckedElements());

            /* Update the dialog settings. */
            updateDialogSettings();

            /* Check, if the page can continue. */
            chkPageComplete(false);
        }
    });
}

From source file:org.kalypso.contribs.eclipse.ui.dialogs.ListSelectionDialog.java

License:Open Source License

/**
 * @see org.eclipse.jface.dialogs.Dialog#createDialogArea(org.eclipse.swt.widgets.Composite)
 *//*from w  ww  .j a  v  a  2s.  co m*/
@Override
protected Control createDialogArea(final Composite parent) {
    /* Set the title. */
    getShell().setText("Auswahl erforderlich");

    /* Create the main composite. */
    final Composite main = (Composite) super.createDialogArea(parent);
    main.setLayout(new GridLayout(1, false));
    final GridData mainData = new GridData(SWT.FILL, SWT.FILL, true, true);
    mainData.widthHint = 400;
    main.setLayoutData(mainData);

    /* Create a label. */
    final Label descriptionLabel = new Label(main, SWT.WRAP);
    descriptionLabel.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false));
    descriptionLabel.setText("Bitte whlen Sie die gewnschten Elemente aus.");
    if (m_description != null && m_description.length() > 0)
        descriptionLabel.setText(m_description);

    /* Create the list viewer. */
    final CheckboxTableViewer listViewer = CheckboxTableViewer.newCheckList(main, SWT.BORDER);
    listViewer.getTable().setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));
    listViewer.getTable().setHeaderVisible(false);
    listViewer.getTable().setLinesVisible(true);
    listViewer.setContentProvider(new ArrayContentProvider());
    listViewer.setInput(m_allElements);
    listViewer.setLabelProvider(new LabelProvider());
    if (m_labelProvider != null)
        listViewer.setLabelProvider(m_labelProvider);

    /* Add a check state provider. */
    listViewer.setCheckStateProvider(new ICheckStateProvider() {
        /**
         * @see org.eclipse.jface.viewers.ICheckStateProvider#isGrayed(java.lang.Object)
         */
        @Override
        public boolean isGrayed(final Object element) {
            return false;
        }

        /**
         * @see org.eclipse.jface.viewers.ICheckStateProvider#isChecked(java.lang.Object)
         */
        @Override
        public boolean isChecked(final Object element) {
            if (m_selectedElements == null || m_selectedElements.length == 0)
                return false;

            final List<T> checkedElements = Arrays.asList(m_selectedElements);
            return checkedElements.contains(element);
        }
    });

    /* Add a listener. */
    listViewer.addCheckStateListener(new ICheckStateListener() {
        @SuppressWarnings("unchecked")
        @Override
        public void checkStateChanged(final CheckStateChangedEvent event) {
            /* Store the new selection. */
            final Object[] checkedElements = listViewer.getCheckedElements();

            final Object newInstance = java.lang.reflect.Array.newInstance(m_clazz, checkedElements.length);
            System.arraycopy(checkedElements, 0, newInstance, 0, checkedElements.length);
            m_selectedElements = (T[]) newInstance;

            /* Check if the dialog can be completed. */
            checkDialogComplete();
        }
    });

    return main;
}

From source file:org.kalypso.model.wspm.tuhh.ui.export.sobek.SobekFrictionDatExportUI.java

License:Open Source License

private void createZoneChooser(final Composite parent) {
    final Label zoneLabel = new Label(parent, SWT.NONE);
    zoneLabel.setLayoutData(new GridData(SWT.BEGINNING, SWT.BEGINNING, false, false));
    zoneLabel.setText(Messages.getString("SobekFricFileChooser_2")); //$NON-NLS-1$
    zoneLabel.setToolTipText(Messages.getString("SobekFricFileChooser_3")); //$NON-NLS-1$

    final Table table = new Table(parent, SWT.CHECK | SWT.BORDER | SWT.V_SCROLL);
    table.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true, 2, 1));
    final CheckboxTableViewer zoneViewer = new CheckboxTableViewer(table);

    zoneViewer.setLabelProvider(new LabelProvider());
    zoneViewer.setContentProvider(new ArrayContentProvider());
    zoneViewer.setInput(m_info.getAllRoughnessZones());
    zoneViewer.setCheckedElements(m_info.getRoughnessZoneTypes());

    zoneViewer.addCheckStateListener(new ICheckStateListener() {
        @Override// w w w  .  jav  a 2s  . c  o  m
        public void checkStateChanged(final CheckStateChangedEvent event) {
            handleZonesChecked(zoneViewer.getCheckedElements());
        }
    });
}

From source file:org.marketcetera.photon.internal.strategy.engine.ui.DeployStrategyComposite.java

/**
 * Constructor. Creates the UI widgets and binds them to the provided model.
 * /*w  w  w.ja v a2  s. c o m*/
 * @param parent
 *            parent composite in which to create the widgets
 * @param dataBindingContext
 *            the data binding context to use for model-UI bindings
 * @param strategy
 *            the strategy model object
 * @param availableEngines
 *            the engines available for selection
 * @param selectedEngine
 *            the selected engine model
 * @param scriptSelectionButtons
 *            controls the creation of script selection buttons
 */
public DeployStrategyComposite(Composite parent, DataBindingContext dataBindingContext, final Strategy strategy,
        StrategyEngine[] availableEngines, final IObservableValue selectedEngine,
        ScriptSelectionButton... scriptSelectionButtons) {
    super(parent);
    mDataBindingContext = dataBindingContext;
    mStrategy = strategy;

    GridLayoutFactory.swtDefaults().spacing(10, 5).numColumns(3).applyTo(this);

    Messages.STRATEGY_DEPLOYMENT_COMPOSITE_SCRIPT.createLabel(this);

    final IObservableValue script = observe(StrategyEngineCorePackage.Literals.STRATEGY__SCRIPT_PATH);
    {
        Text text = new Text(this, SWT.BORDER);
        GridDataFactory.swtDefaults().align(SWT.FILL, SWT.CENTER).grab(true, false).applyTo(text);
        bindRequiredField(SWTObservables.observeText(text, SWT.Modify), script,
                Messages.STRATEGY_DEPLOYMENT_COMPOSITE_SCRIPT.getRawLabel());
        script.addValueChangeListener(new IValueChangeListener() {
            @Override
            public void handleValueChange(ValueChangeEvent event) {
                scriptValueChanged();
            }
        });
        scriptValueChanged();
    }

    {
        final Composite buttons = new Composite(this, SWT.NONE);
        for (ScriptSelectionButton scriptSelectionButton : scriptSelectionButtons) {
            final ScriptSelectionButton current = scriptSelectionButton;
            Button button = new Button(buttons, SWT.NONE);
            button.setText(scriptSelectionButton.getText());
            button.addSelectionListener(new SelectionAdapter() {
                @Override
                public void widgetSelected(SelectionEvent e) {
                    final String selected = current.selectScript(getShell(), (String) script.getValue());
                    if (StringUtils.isNotBlank(selected)) {
                        script.setValue(selected.trim());
                    }
                }
            });
        }
        GridDataFactory.fillDefaults().applyTo(buttons);
        GridLayoutFactory.swtDefaults().numColumns(scriptSelectionButtons.length).generateLayout(buttons);
    }

    Messages.STRATEGY_DEPLOYMENT_COMPOSITE_LANGUAGE.createLabel(this);

    {
        Combo combo = new Combo(this, SWT.NONE);
        combo.setItems(Language.getValues());
        GridDataFactory.swtDefaults().align(SWT.LEFT, SWT.CENTER).hint(100, SWT.DEFAULT).applyTo(combo);
        bindRequiredField(SWTObservables.observeText(combo),
                observe(StrategyEngineCorePackage.Literals.STRATEGY__LANGUAGE),
                Messages.STRATEGY_DEPLOYMENT_COMPOSITE_LANGUAGE.getRawLabel());
    }

    new Label(this, SWT.NONE);

    Messages.STRATEGY_DEPLOYMENT_COMPOSITE_CLASS.createLabel(this);

    {
        Text classText = new Text(this, SWT.BORDER);
        GridDataFactory.swtDefaults().align(SWT.LEFT, SWT.CENTER).hint(180, SWT.DEFAULT).applyTo(classText);
        bindRequiredField(SWTObservables.observeText(classText, SWT.Modify),
                observe(StrategyEngineCorePackage.Literals.STRATEGY__CLASS_NAME),
                Messages.STRATEGY_DEPLOYMENT_COMPOSITE_CLASS.getRawLabel());
    }

    new Label(this, SWT.NONE);

    Messages.STRATEGY_DEPLOYMENT_COMPOSITE_INSTANCE_NAME.createLabel(this);

    {
        Text instanceNameText = new Text(this, SWT.BORDER);
        GridDataFactory.swtDefaults().align(SWT.LEFT, SWT.CENTER).hint(180, SWT.DEFAULT)
                .applyTo(instanceNameText);
        bindRequiredField(SWTObservables.observeText(instanceNameText, SWT.Modify),
                observe(StrategyEngineCorePackage.Literals.STRATEGY__INSTANCE_NAME),
                Messages.DEPLOYED_STRATEGY_CONFIGURATION_COMPOSITE_INSTANCE_NAME.getRawLabel());
    }

    new Label(this, SWT.NONE);

    {
        Group configurationGroup = new Group(this, SWT.NONE);
        GridDataFactory.swtDefaults().align(SWT.FILL, SWT.CENTER).grab(true, false).indent(5, SWT.DEFAULT)
                .span(3, 1).applyTo(configurationGroup);
        GridLayoutFactory.swtDefaults().applyTo(configurationGroup);
        configurationGroup.setText(Messages.STRATEGY_DEPLOYMENT_COMPOSITE_CONFIGURATION_GROUP__LABEL.getText());

        {
            Button routeButton = new Button(configurationGroup, SWT.CHECK);
            routeButton.setText(Messages.STRATEGY_DEPLOYMENT_COMPOSITE_ROUTE.getRawLabel());
            routeButton.setToolTipText(Messages.STRATEGY_DEPLOYMENT_COMPOSITE_ROUTE.getTooltip());
            dataBindingContext.bindValue(SWTObservables.observeSelection(routeButton),
                    observe(StrategyEngineCorePackage.Literals.STRATEGY__ROUTE_ORDERS_TO_SERVER));
        }
    }

    {
        Label selectionEnginesLabel = new Label(this, SWT.NONE);
        GridDataFactory.swtDefaults().align(SWT.FILL, SWT.CENTER).grab(true, false).span(3, 1)
                .applyTo(selectionEnginesLabel);
        selectionEnginesLabel
                .setText(Messages.STRATEGY_DEPLOYMENT_COMPOSITE_ENGINE_SELECTION_TABLE__LABEL.getText());
    }

    {
        final CheckboxTableViewer selectEnginesTableViewer = CheckboxTableViewer.newCheckList(this, SWT.BORDER);
        GridDataFactory.fillDefaults().grab(true, true).indent(6, SWT.DEFAULT).span(3, 1)
                .applyTo(selectEnginesTableViewer.getTable());
        selectEnginesTableViewer.setContentProvider(new ArrayContentProvider());
        selectEnginesTableViewer.setLabelProvider(new StrategyEnginesLabelProvider());
        selectEnginesTableViewer.setInput(availableEngines);
        /*
         * Typically, checkbox tables allow multiple selection. In this
         * case, we are using the widget for a single selection so we need a
         * custom listener. It is also a WritableValue and IViewerObservable
         * for data binding and RequiredFieldSupport.
         */
        class FirstAndOnly extends WritableValue implements IViewerObservable, ICheckStateListener {
            public FirstAndOnly() {
                super(selectedEngine.getValue(), StrategyEngine.class);
            }

            @Override
            public Viewer getViewer() {
                return selectEnginesTableViewer;
            }

            @Override
            public void checkStateChanged(CheckStateChangedEvent event) {
                // simulate single selection
                if (event.getChecked()) {
                    for (Object object : selectEnginesTableViewer.getCheckedElements()) {
                        if (object != event.getElement()) {
                            selectEnginesTableViewer.setChecked(object, false);
                        } else {
                            setValue(object);
                        }
                    }
                } else {
                    setValue(null);
                }
            }
        }
        // if an engine has been pre-selected, check it and disable the
        // table
        if (selectedEngine.getValue() != null) {
            selectEnginesTableViewer.getTable().setEnabled(false);
            selectEnginesTableViewer.setChecked(selectedEngine.getValue(), true);
        }
        FirstAndOnly firstAndOnly = new FirstAndOnly();
        selectEnginesTableViewer.addCheckStateListener(firstAndOnly);
        getObservablesManager().addObservable(firstAndOnly);
        bindRequiredField(firstAndOnly, selectedEngine,
                Messages.STRATEGY_DEPLOYMENT_COMPOSITE_ENGINE__LABEL.getText());
    }
}

From source file:org.nuxeo.ide.sdk.ui.widgets.SDKTableViewerFactory.java

License:Open Source License

public static CheckboxTableViewer getTable(Composite parent) {
    final CheckboxTableViewer tv = CheckboxTableViewer.newCheckList(parent,
            SWT.FULL_SELECTION | SWT.H_SCROLL | SWT.V_SCROLL | SWT.BORDER);

    tv.setContentProvider(new SDKContentProvider());

    TableViewerColumn column = new TableViewerColumn(tv, SWT.NONE);
    column.setLabelProvider(new ColumnLabelProvider() {
        @Override/*ww  w .  jav a  2  s.  c om*/
        public String getText(Object element) {
            return ((SDKInfo) element).getName();
        }

        @Override
        public Image getImage(Object element) {
            return JavaUI.getSharedImages().getImage(ISharedImages.IMG_OBJS_LIBRARY);
        }
    });
    TableColumn col = column.getColumn();
    col.setText("Name");
    col.setWidth(100);
    col.setResizable(true);

    column = new TableViewerColumn(tv, SWT.NONE);
    column.setLabelProvider(new ColumnLabelProvider() {
        @Override
        public String getText(Object element) {
            return ((SDKInfo) element).getVersion();
        }
    });
    col = column.getColumn();
    col.setText("Version");
    col.setWidth(100);
    col.setResizable(true);

    column = new TableViewerColumn(tv, SWT.NONE);
    column.setLabelProvider(new ColumnLabelProvider() {
        @Override
        public String getText(Object element) {
            return ((SDKInfo) element).getInstallDirectory().getAbsolutePath();
        }
    });
    col = column.getColumn();
    col.setText("Install Location");
    col.setWidth(350);
    col.setResizable(true);

    tv.getTable().setHeaderVisible(true);
    tv.getTable().setLinesVisible(true);

    tv.setInput(Boolean.TRUE); // dummy input

    tv.addCheckStateListener(new ICheckStateListener() {
        @Override
        public void checkStateChanged(CheckStateChangedEvent event) {
            if (event.getChecked()) {
                Object target = event.getElement();
                for (Object alreadyChecked : tv.getCheckedElements()) {
                    if (!target.equals(alreadyChecked)) {
                        tv.setChecked(alreadyChecked, false);
                    }
                }
            }
        }
    });
    return tv;

}

From source file:org.occiware.clouddesigner.occi.design.utils.WizardUtils.java

License:Open Source License

public static String[] getRefExtensionSchemes(CheckboxTableViewer refExtensionViewer) {
    return Arrays.copyOf(refExtensionViewer.getCheckedElements(),
            refExtensionViewer.getCheckedElements().length, String[].class);
}

From source file:org.wso2.developerstudio.eclipse.platform.ui.utils.WSO2UIToolkit.java

License:Open Source License

public static CheckboxTableViewer createList(Composite container, String label, int columns,
        Integer verticalIndent, Integer horizontalIndent, boolean isSelectAllbtn,
        final ProjectOptionsDataPage dataPage, final ProjectOptionData optionData) {
    final Label lblCaption = new Label(container, SWT.None);
    lblCaption.setText(label);//from   w  ww. j  a  va2 s.  c om
    if (columns != -1) {
        GridData gridData = new GridData();
        gridData.horizontalSpan = columns;
        gridData.grabExcessHorizontalSpace = true;
        gridData.horizontalAlignment = SWT.FILL;
        //         gridData.heightHint = 30;
        if (verticalIndent != null) {
            gridData.verticalIndent = verticalIndent;
        }
        if (horizontalIndent != null) {
            gridData.horizontalIndent = horizontalIndent;
        }
        lblCaption.setLayoutData(gridData);
    }

    final CheckboxTableViewer cmbValue = CheckboxTableViewer.newCheckList(container,
            SWT.BORDER | SWT.FULL_SELECTION);

    if (columns != -1) {
        GridData gridData = new GridData();
        gridData.horizontalSpan = columns;
        gridData.verticalSpan = 5;
        gridData.horizontalIndent = 10;
        gridData.heightHint = 50;
        if (horizontalIndent != null) {
            gridData.horizontalIndent += horizontalIndent;
        }
        gridData.grabExcessHorizontalSpace = true;
        gridData.grabExcessVerticalSpace = true;
        gridData.horizontalAlignment = SWT.FILL;
        gridData.verticalAlignment = SWT.FILL;
        cmbValue.getTable().setLayoutData(gridData);
    }

    if (isSelectAllbtn) {

        Label splabel = new Label(container, SWT.NONE);
        GridData gd = new GridData(GridData.FILL_HORIZONTAL);
        gd.horizontalSpan = columns - 3;
        splabel.setLayoutData(gd);
        splabel.setText("");

        Button selectAllButton = new Button(container, SWT.NONE);
        GridData gdb = new GridData(GridData.END);
        gdb.horizontalSpan = 1;
        selectAllButton.setLayoutData(gdb);
        selectAllButton.setText("Select All");
        selectAllButton.addListener(SWT.MouseDown, new Listener() {
            public void handleEvent(Event evt) {
                cmbValue.setAllChecked(true);
                dataPage.updateListCheckBox(optionData, cmbValue.getCheckedElements());
            }
        });
        Button unSelectAllButton = new Button(container, SWT.NONE);
        unSelectAllButton.setText("Deselect All");
        unSelectAllButton.addListener(SWT.MouseDown, new Listener() {
            public void handleEvent(Event evt) {
                cmbValue.setAllChecked(false);
                dataPage.updateListCheckBox(optionData, cmbValue.getCheckedElements());
            }
        });
        if (columns != -1) {

            GridData gridData = new GridData(GridData.HORIZONTAL_ALIGN_BEGINNING);
            gridData.horizontalSpan = 2;
            gridData.grabExcessHorizontalSpace = false;
            gridData.horizontalAlignment = SWT.RIGHT;
            //gridData.verticalAlignment = SWT.columns
            if (verticalIndent != null) {
                gridData.verticalIndent = verticalIndent;
            }
            if (horizontalIndent != null) {
                gridData.horizontalIndent = horizontalIndent;
            }
            selectAllButton.setLayoutData(gridData);

            gridData = new GridData();
            gridData.horizontalSpan = columns;
            gridData.grabExcessHorizontalSpace = false;
            gridData.horizontalAlignment = SWT.FILL;
            //gridData.verticalAlignment = SWT.columns
            if (verticalIndent != null) {
                gridData.verticalIndent = verticalIndent;
            }
            if (horizontalIndent != null) {
                gridData.horizontalIndent = horizontalIndent;
            }
            unSelectAllButton.setLayoutData(gdb);
        }
        propagateControlStatus(cmbValue.getTable(), lblCaption, selectAllButton, unSelectAllButton);
    } else {

        propagateControlStatus(cmbValue.getTable(), lblCaption);
    }
    return cmbValue;
}

From source file:org.wso2.developerstudio.eclipse.platform.ui.wizard.pages.ProjectOptionsDataPage.java

License:Open Source License

private void createTypeListCheckBoxListField(Composite container, int noOfColumns,
        final ProjectOptionData optionData) {
    final CheckboxTableViewer combo = WSO2UIToolkit.createList(container, optionData.getCaption(), noOfColumns,
            optionData.getVerticalIndent(), optionData.getHorizontalIndent(), optionData.isSelectAllbtn(), this,
            optionData);//from w w  w .j a  v a  2s  .co m

    FieldExecutor fieldExecutor = new CommonFieldExecutor(optionData, getModel(), combo.getTable()) {

        public void validate() throws FieldValidationException {
            if (optionData.getFieldController() != null) {
                optionData.getFieldController().validate(optionData.getModelProperty(),
                        combo.getCheckedElements(), getModel());
            }
        }

        public void setFieldValue(ProjectDataModel model) throws Exception {
            combo.getTable().removeAll();
            List<ListData> listData = optionData.getListDataProvider()
                    .getListData(optionData.getModelProperty(), getModel());
            for (ListData data : listData) {
                TableItem tableItem = new TableItem(combo.getTable(), SWT.NONE);
                tableItem.setText(data.getCaption());
                tableItem.setData(data.getData());
            }
            Object[] comboTextValue = new Object[] {};

            Object modelPropertyValueObj = getModelPropertyValue();
            if (modelPropertyValueObj != null) {
                comboTextValue = (Object[]) modelPropertyValueObj;
            }
            combo.setCheckedElements(comboTextValue);
        }
    };
    fieldControllers.put(optionData.getModelProperty(), fieldExecutor);
    combo.addCheckStateListener(new ICheckStateListener() {

        public void checkStateChanged(CheckStateChangedEvent arg0) {

            String modelProperty = optionData.getModelProperty();
            Object[] currentModelPropertyValue = (Object[]) getModel().getModelPropertyValue(modelProperty);

            try {
                Object[] checkedElements = combo.getCheckedElements();
                if (isEqual(currentModelPropertyValue, checkedElements)) {
                    return;
                }
                if (getModel().setModelPropertyValue(modelProperty, checkedElements)) {
                    updateField(modelProperty);
                }
            } catch (ObserverFailedException e) {
                LOG.error("ObserverFailed:", e);
            } catch (Exception e) {
                LOG.error("An unexpected error has occurred", e);
            }
            doPostFieldModificationAction(optionData);

        }

    });
    try {
        updateField(optionData.getModelProperty());
    } catch (Exception e) {
        LOG.error("An unexpected error has occurred", e);
    }
}