List of usage examples for org.eclipse.jface.viewers CheckboxTableViewer getCheckedElements
public Object[] getCheckedElements()
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); } }