List of usage examples for org.eclipse.jface.databinding.swt SWTObservables observeEnabled
@Deprecated public static ISWTObservableValue observeEnabled(Control control)
From source file:de.walware.statet.r.internal.sweave.processing.TexTab.java
License:Open Source License
@Override protected void addBindings(final DataBindingContext dbc, final Realm realm) { fOpenTexEnabledValue = new WritableValue(realm, false, Boolean.class); fOpenTexOnErrorsEnabledValue = new WritableValue(realm, false, Boolean.class); fOutputDirValue = new WritableValue(realm, null, String.class); fBuildTexTypeValue = new WritableValue(realm, 0, Integer.class); fBuildTexBuilderIdValue = new WritableValue(realm, 0, Integer.class); fBuildTexRCommandsValue = new WritableValue(realm, "", String.class); //$NON-NLS-1$ fOutputFormatValue = new WritableValue(realm, "", String.class); //$NON-NLS-1$ final ISWTObservableValue openObs = SWTObservables.observeSelection(fOpenTexFileControl); dbc.bindValue(openObs, fOpenTexEnabledValue, null, null); dbc.bindValue(SWTObservables.observeSelection(fOpenTexFileOnErrorsControl), fOpenTexOnErrorsEnabledValue, null, null);//from w ww. j a v a2 s . c o m dbc.bindValue(new RadioGroupObservable(realm, new Button[] { fBuildTexFileDisabledControl, fBuildTexFileEclipseControl, fBuildTexFileRControl }), fBuildTexTypeValue, null, null); dbc.bindValue(new BuildChooserObservable(fBuildTexTypeChooser), fBuildTexBuilderIdValue, null, null); dbc.bindValue(SWTObservables.observeText(fConsoleCommandEditor.getTextControl(), SWT.Modify), fBuildTexRCommandsValue, null, null); dbc.bindValue(SWTObservables.observeText(fOutputFormatControl), fOutputFormatValue); fBuildTexBuilderIdValue.addValueChangeListener(new IValueChangeListener() { @Override public void handleValueChange(final ValueChangeEvent event) { updateFormat(); } }); fBuildTexTypeValue.addValueChangeListener(new IValueChangeListener() { @Override public void handleValueChange(final ValueChangeEvent event) { final Object newValue = event.diff.getNewValue(); final int typeId = (newValue instanceof Integer) ? ((Integer) newValue).intValue() : -1; switch (typeId) { case BUILDTEX_TYPE_ECLIPSE: updateFormat(); break; case BUILDTEX_TYPE_RCONSOLE: if (RweaveTexLaunchDelegate.DEFAULT_BUILDTEX_R_COMMANDS .equals(fBuildTexRCommandsValue.getValue())) { fOutputFormatValue.setValue(RweaveTexLaunchDelegate.DEFAULT_BUILDTEX_FORMAT); } break; } } }); // Enablement dbc.bindValue(SWTObservables.observeEnabled(fOpenTexFileOnErrorsControl), openObs, null, null); final Composite group = fBuildTexTypeChooser.getControl(); dbc.bindValue(new SWTMultiEnabledObservable(realm, group.getChildren(), null), new ComputedValue(realm, Boolean.class) { @Override protected Object calculate() { return (((Integer) fBuildTexTypeValue .getValue()) == RweaveTexLaunchDelegate.BUILDTEX_TYPE_ECLIPSE); } }, null, null); dbc.bindValue( new SWTMultiEnabledObservable(realm, new Control[] { fConsoleCommandEditor.getControl() }, null), new ComputedValue(realm, Boolean.class) { @Override protected Object calculate() { return (((Integer) fBuildTexTypeValue .getValue()) == RweaveTexLaunchDelegate.BUILDTEX_TYPE_RCONSOLE); } }, null, null); dbc.bindValue(new SWTMultiEnabledObservable(realm, new Control[] { fOutputFormatControl }, null), new ComputedValue(realm, Boolean.class) { @Override protected Object calculate() { return (((Integer) fBuildTexTypeValue .getValue()) != RweaveTexLaunchDelegate.BUILDTEX_TYPE_ECLIPSE); } }, null, null); dbc.bindValue(fOutputDirControl.getObservable(), fOutputDirValue, new UpdateValueStrategy().setAfterGetValidator(fOutputDirControl.getValidator()), null); }
From source file:de.walware.statet.redocs.internal.tex.r.ui.processing.TexTab.java
License:Open Source License
@Override protected void addBindings(final DataBindingContext dbc, final Realm realm) { final ISWTObservableValue openObs = SWTObservables.observeSelection(this.fOpenTexFileControl); dbc.bindValue(openObs, this.fOpenTexEnabledValue, null, null); dbc.bindValue(SWTObservables.observeSelection(this.fOpenTexFileOnErrorsControl), this.fOpenTexOnErrorsEnabledValue, null, null); dbc.bindValue(/*from w w w . j a v a2 s . co m*/ new RadioGroupObservable(realm, new Button[] { this.fBuildTexFileDisabledControl, this.fBuildTexFileEclipseControl, this.fBuildTexFileRControl }), this.fBuildTexTypeValue, null, null); dbc.bindValue(new BuildChooserObservable(this.fBuildTexTypeChooser), this.fBuildTexBuilderIdValue, null, null); dbc.bindValue(SWTObservables.observeText(this.fConsoleCommandEditor.getTextControl(), SWT.Modify), this.fBuildTexRCommandsValue, null, null); dbc.bindValue(SWTObservables.observeText(this.fOutputFormatControl), this.fOutputFormatValue); this.fBuildTexBuilderIdValue.addValueChangeListener(new IValueChangeListener() { @Override public void handleValueChange(final ValueChangeEvent event) { updateFormat(); } }); this.fBuildTexTypeValue.addValueChangeListener(new IValueChangeListener() { @Override public void handleValueChange(final ValueChangeEvent event) { final Object newValue = event.diff.getNewValue(); final int typeId = (newValue instanceof Integer) ? ((Integer) newValue).intValue() : -1; switch (typeId) { case BUILDTEX_TYPE_ECLIPSE: updateFormat(); break; case BUILDTEX_TYPE_RCONSOLE: if (TexRweaveLaunchDelegate.DEFAULT_BUILDTEX_R_COMMANDS .equals(TexTab.this.fBuildTexRCommandsValue.getValue())) { TexTab.this.fOutputFormatValue.setValue(TexRweaveLaunchDelegate.DEFAULT_BUILDTEX_FORMAT); } break; } } }); // Enablement dbc.bindValue(SWTObservables.observeEnabled(this.fOpenTexFileOnErrorsControl), openObs, null, null); final Composite group = this.fBuildTexTypeChooser.getControl(); dbc.bindValue(new SWTMultiEnabledObservable(realm, group.getChildren(), null), new ComputedValue(realm, Boolean.class) { @Override protected Object calculate() { return (((Integer) TexTab.this.fBuildTexTypeValue .getValue()) == TexRweaveLaunchDelegate.BUILDTEX_TYPE_ECLIPSE); } }, null, null); dbc.bindValue(new SWTMultiEnabledObservable(realm, new Control[] { this.fConsoleCommandEditor.getControl() }, null), new ComputedValue(realm, Boolean.class) { @Override protected Object calculate() { return (((Integer) TexTab.this.fBuildTexTypeValue .getValue()) == TexRweaveLaunchDelegate.BUILDTEX_TYPE_RCONSOLE); } }, null, null); dbc.bindValue(new SWTMultiEnabledObservable(realm, new Control[] { this.fOutputFormatControl }, null), new ComputedValue(realm, Boolean.class) { @Override protected Object calculate() { return (((Integer) TexTab.this.fBuildTexTypeValue .getValue()) != TexRweaveLaunchDelegate.BUILDTEX_TYPE_ECLIPSE); } }, null, null); dbc.bindValue(this.fOutputDirControl.getObservable(), this.fOutputDirValue, new UpdateValueStrategy().setAfterGetValidator(this.fOutputDirControl.getValidator()), null); }
From source file:era.foss.typeeditor.spectype.AttributeDefinitionDetailViewer.java
License:Open Source License
/** * Show UI elements for DatatypeDefintionInteger *//*from www.j av a 2 s .co m*/ private void createDetailsSimple() { AttributeDefinitionSimple attributeDefinitionSimple = (AttributeDefinitionSimple) master.getValue(); Button defaultValueCheckbox = createDefaultValueCheckbox(attributeDefinitionSimple, ErfPackage.Literals.ATTRIBUTE_DEFINITION_SIMPLE__DEFAULT_VALUE); // label for default value Label defaultValueLabel = new Label(detailComposite, SWT.NONE); defaultValueLabel.setText(Ui.getUiName(ErfPackage.Literals.ATTRIBUTE_DEFINITION_SIMPLE__DEFAULT_VALUE)); defaultValueLabel.setLayoutData(new GridData(SWT.LEFT, SWT.CENTER, true, false)); // text field for default value BindingText defaultValueTextfield = new BindingText(detailComposite, SWT.BORDER); defaultValueTextfield.bind(editingDomain, new EStructuralFeature[] { ErfPackage.Literals.ATTRIBUTE_DEFINITION_SIMPLE__DEFAULT_VALUE, ErfPackage.Literals.ATTRIBUTE_VALUE_SIMPLE__THE_VALUE }, master); defaultValueTextfield.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false)); // only enable textfield in case the checkbox is set dataBindingContext.bindValue(SWTObservables.observeEnabled(defaultValueTextfield), SWTObservables.observeSelection(defaultValueCheckbox)); }
From source file:era.foss.typeeditor.spectype.AttributeDefinitionDetailViewer.java
License:Open Source License
/** * Show UI elements for DatatypeDefintionBoolean *///from w w w. j a v a2s . c o m private void createDetailsBoolean() { AttributeDefinitionBoolean attributeDefinitionBoolean = (AttributeDefinitionBoolean) master.getValue(); Button defaultValueEnableCheckbox = createDefaultValueCheckbox(attributeDefinitionBoolean, ErfPackage.Literals.ATTRIBUTE_DEFINITION_BOOLEAN__DEFAULT_VALUE); // label for default value Label defaultValueLabel = new Label(detailComposite, SWT.NONE); defaultValueLabel.setText(Ui.getUiName(ErfPackage.Literals.ATTRIBUTE_DEFINITION_BOOLEAN__DEFAULT_VALUE)); defaultValueLabel.setLayoutData(new GridData(SWT.LEFT, SWT.CENTER, true, false)); // text field for default value BindingCheckBox defaultValueCheckBox = new BindingCheckBox(detailComposite, SWT.NONE); defaultValueCheckBox.bind(editingDomain, new EStructuralFeature[] { ErfPackage.Literals.ATTRIBUTE_DEFINITION_BOOLEAN__DEFAULT_VALUE, ErfPackage.Literals.ATTRIBUTE_VALUE_BOOLEAN__THE_VALUE }, master); defaultValueCheckBox.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false)); // only enable textfield in case the checkbox is set dataBindingContext.bindValue(SWTObservables.observeEnabled(defaultValueCheckBox), SWTObservables.observeSelection(defaultValueEnableCheckbox)); }
From source file:era.foss.typeeditor.spectype.AttributeDefinitionDetailViewer.java
License:Open Source License
/** * Show UI elements for DatatypeDefintionEnumeration *//* w w w . jav a 2 s. c o m*/ private void createDetailsEnumeration() { final AttributeDefinitionEnumeration attributeDefinitionEnum = (AttributeDefinitionEnumeration) master .getValue(); // create label for multiValued property Label label = new Label(detailComposite, SWT.NONE); label.setText(Ui.getUiName(ErfPackage.Literals.ATTRIBUTE_DEFINITION_ENUMERATION__MULTI_VALUED)); label.setLayoutData(new GridData(SWT.LEFT, SWT.CENTER, true, false)); // create checkbox for multiValued property EAttribute[] isMultiValued = { ErfPackage.Literals.ATTRIBUTE_DEFINITION_ENUMERATION__MULTI_VALUED }; BindingCheckBox multiValuedCheckbox = new BindingCheckBox(detailComposite, SWT.NONE); multiValuedCheckbox.setLayoutData(new GridData(SWT.LEFT, SWT.DEFAULT, true, false)); multiValuedCheckbox.bind(editingDomain, isMultiValued, master); // create checkbox for enabling default value Button defaultValueCheckbox = createDefaultValueCheckbox(attributeDefinitionEnum, ErfPackage.Literals.ATTRIBUTE_DEFINITION_ENUMERATION__DEFAULT_VALUE); // create table for selecting default EnumValue elements Table defaultValueTable = new Table(detailComposite, SWT.MULTI | SWT.BORDER | SWT.FULL_SELECTION | SWT.CHECK); defaultValueTable.setLinesVisible(true); defaultValueTable.setHeaderVisible(true); final CheckboxTableViewer defaultValueTableViewer = new CheckboxTableViewer(defaultValueTable); defaultValueTable.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true, 2, 1)); final ObservableListContentProvider cp = new ObservableListContentProvider(); defaultValueTableViewer.setContentProvider(cp); TableViewerColumn column = new TableViewerColumn(defaultValueTableViewer, SWT.NONE); column.getColumn().setResizable(false); column.getColumn().setMoveable(false); column.getColumn().setText(Ui.getUiName(ErfPackage.Literals.ATTRIBUTE_VALUE_ENUMERATION__VALUES)); column.getColumn().pack(); // set label provider IValueProperty elementProperty = EMFEditProperties.value(editingDomain, FeaturePath.fromList(new EStructuralFeature[] { ErfPackage.Literals.IDENTIFIABLE__LONG_NAME })); IObservableMap attributeMap = elementProperty.observeDetail(cp.getKnownElements()); column.setLabelProvider(new ObservableMapCellLabelProvider(attributeMap)); // Add provider for the check stare of the table viewer // A value is checked if it is referred by the Default value of the AttributeDefintionEnumeration defaultValueTableViewer.setCheckStateProvider(new ICheckStateProvider() { @Override public boolean isGrayed(Object element) { return false; } @Override public boolean isChecked(Object element) { AttributeValueEnumeration enumDefaultValue = attributeDefinitionEnum.getDefaultValue(); return enumDefaultValue != null && enumDefaultValue.getValues().contains(element); } }); // If a EnumValue is selected add it to the list of Default values for the AttributeDefintionEnumeration // Otherwise remove it from the list of default values defaultValueTableViewer.addCheckStateListener(new ICheckStateListener() { @Override public void checkStateChanged(CheckStateChangedEvent event) { // we don't need to check if the default value object is null as // in this case table viewer is disabled assert (attributeDefinitionEnum.getDefaultValue() != null); EnumValue enumValue = ((EnumValue) event.getElement()); Command command = null; if (event.getChecked() == true) { command = AddCommand.create(editingDomain, attributeDefinitionEnum.getDefaultValue(), ErfPackage.Literals.ATTRIBUTE_VALUE_ENUMERATION__VALUES, enumValue); } else { command = RemoveCommand.create(editingDomain, attributeDefinitionEnum.getDefaultValue(), ErfPackage.Literals.ATTRIBUTE_VALUE_ENUMERATION__VALUES, enumValue); } editingDomain.getCommandStack().execute(command); } }); // observe values of DatatypeDefinition selected for the AttributeDefintionEnumeration IEMFListProperty enumerationProperty = EMFProperties.list( FeaturePath.fromList(new EStructuralFeature[] { ErfPackage.Literals.ATTRIBUTE_DEFINITION__TYPE, ErfPackage.Literals.DATATYPE_DEFINITION_ENUMERATION__SPECIFIED_VALUES })); IObservableList dataTypeEnumValueObserver = enumerationProperty.observe(attributeDefinitionEnum); defaultValueTableViewer.setInput(dataTypeEnumValueObserver); // only enable table viewer in case a default value exists dataBindingContext.bindValue(SWTObservables.observeEnabled(defaultValueTable), SWTObservables.observeSelection(defaultValueCheckbox)); }
From source file:gov.nasa.ensemble.core.detail.emf.util.EMFDetailUtils.java
License:Open Source License
/** * Bind the control's enabled state and editability (for Text controls) with respect to the target object's feature value. If equalityCheck is true, the control is editable and enabled if * target.eGet(feature).equals(value), otherwise if the equalityCheeck is false, then the control is editable and enabled if !target.eGet(feature).equals(value) * /*from w ww . j ava2s . c o m*/ * @param dbc * data binding context * @param control * to control editability and enabled state * @param target * model to observe * @param feature * to observe * @param value * to check for equality * @param equalityCheck * true if equality implies enabled/editable */ public static void bindControlViability(DataBindingContext dbc, Control control, EObject target, EStructuralFeature feature, Object value, boolean equalityCheck) { bindControlViability(dbc, target, feature, value, SWTObservables.observeEnabled(control), equalityCheck); if (control instanceof Text) { bindControlViability(dbc, target, feature, value, SWTObservables.observeEditable(control), equalityCheck); } }
From source file:gov.nasa.ensemble.core.detail.emf.util.EMFDetailUtils.java
License:Open Source License
public static void bindControlViability(DataBindingContext dbc, IObservableValue observable, Control[] controls) {/*from w ww . j a v a 2 s . co m*/ for (Control control : controls) { try { Binding binding = dbc.bindValue(SWTObservables.observeEditable(control), observable); dbc.addBinding(binding); binding.updateModelToTarget(); } catch (IllegalArgumentException e) { /* some controls just cannot be controlled as such */ } catch (Exception e) { LogUtil.error("cannot create binding", e); } try { Binding binding = dbc.bindValue(SWTObservables.observeEnabled(control), observable); dbc.addBinding(binding); binding.updateModelToTarget(); } catch (IllegalArgumentException e) { /* some controls just cannot be controlled as such */ } catch (Exception e) { LogUtil.error("cannot create binding", e); } } }
From source file:gov.nasa.ensemble.core.model.plan.temporal.provider.TemporalDetailProvider.java
License:Open Source License
private void bindEditabilityAndCalculatedVariable(DataBindingContext dbc, EObject target, Object feature, Control control) {/* w ww . ja v a 2 s . c om*/ ISWTObservableValue textEditability = SWTObservables.observeEnabled(control); IObservableValue calculatedVariableValue = observeCalculatedVariable(target); final CalculatedVariable calculatedVariable = getCalculatedVariable(feature); UpdateValueStrategy calculatedVariableToEditability = new UpdateValueStrategy() { @Override public Object convert(Object value) { if (value instanceof Set) { return !(((Set) value).contains(calculatedVariable)); } if (value == calculatedVariable) { return false; } return true; } }; Binding editabilityBinding = dbc.bindValue(textEditability, calculatedVariableValue, null, calculatedVariableToEditability); dbc.addBinding(editabilityBinding); }
From source file:gov.redhawk.ide.codegen.frontend.ui.wizard.FrontEndTunerTypeSelectionWizardPage.java
License:Open Source License
private void createBindings() { // create new Context this.ctx = new DataBindingContext(); // /*from ww w .java 2 s . c om*/ // // Binding for the antenna only option // this.ctx.bindValue(SWTObservables.observeSelection(this.deviceTypeAntennaButton), // EMFObservables.observeValue(this.feiDevice, FrontendPackage.Literals.FEI_DEVICE__ANTENNA), new UpdateValueStrategy(), new UpdateValueStrategy()); // Binding for GPS ingest & output this.ctx.bindValue(SWTObservables.observeSelection(this.ingestGPSCheckbox), EMFObservables.observeValue(this.feiDevice, FrontendPackage.Literals.FEI_DEVICE__INGESTS_GPS), new UpdateValueStrategy(), new UpdateValueStrategy()); this.ctx.bindValue(SWTObservables.observeSelection(this.outputGPSCheckbox), EMFObservables.observeValue(this.feiDevice, FrontendPackage.Literals.FEI_DEVICE__OUTPUTS_GPS), new UpdateValueStrategy(), new UpdateValueStrategy()); // Need custom update value strat for the group binding since false -> true and true -> false UpdateValueStrategy tunerTypeGroupUVS = new UpdateValueStrategy(); tunerTypeGroupUVS.setConverter(new IConverter() { @Override public Object getToType() { return Boolean.class; } @Override public Object getFromType() { return Boolean.class; } @Override public Object convert(Object fromObject) { return !((Boolean) fromObject).booleanValue(); } }); this.ctx.bindValue(SWTObservables.observeEnabled(this.tunerTypeGroup), EMFObservables.observeValue(this.feiDevice, FrontendPackage.Literals.FEI_DEVICE__ANTENNA), new UpdateValueStrategy(), tunerTypeGroupUVS); this.ctx.bindValue(SWTObservables.observeEnabled(this.receiveOnlyTunerButton), EMFObservables.observeValue(this.feiDevice, FrontendPackage.Literals.FEI_DEVICE__ANTENNA), new UpdateValueStrategy(), tunerTypeGroupUVS); this.ctx.bindValue(SWTObservables.observeEnabled(this.transmitOnlyTunerButton), EMFObservables.observeValue(this.feiDevice, FrontendPackage.Literals.FEI_DEVICE__ANTENNA), new UpdateValueStrategy(), tunerTypeGroupUVS); this.ctx.bindValue(SWTObservables.observeEnabled(this.bothRxTxButton), EMFObservables.observeValue(this.feiDevice, FrontendPackage.Literals.FEI_DEVICE__ANTENNA), new UpdateValueStrategy(), tunerTypeGroupUVS); // Bindings for the tuner type is difficult since it is a 3 way with the third option being both the 1st and 2nd so listeners are used. this.bothRxTxButton.addSelectionListener(new SelectionAdapter() { @Override public void widgetSelected(SelectionEvent e) { FrontEndTunerTypeSelectionWizardPage.this.feiDevice.setRxTuner(true); FrontEndTunerTypeSelectionWizardPage.this.feiDevice.setTxTuner(true); } }); this.receiveOnlyTunerButton.addSelectionListener(new SelectionAdapter() { @Override public void widgetSelected(SelectionEvent e) { FrontEndTunerTypeSelectionWizardPage.this.feiDevice.setRxTuner(true); FrontEndTunerTypeSelectionWizardPage.this.feiDevice.setTxTuner(false); } }); this.transmitOnlyTunerButton.addSelectionListener(new SelectionAdapter() { @Override public void widgetSelected(SelectionEvent e) { FrontEndTunerTypeSelectionWizardPage.this.feiDevice.setRxTuner(false); FrontEndTunerTypeSelectionWizardPage.this.feiDevice.setTxTuner(true); } }); IWizardPage[] wizPages = this.getWizard().getPages(); ScaDeviceProjectPropertiesWizardPage propWizPage = null; for (IWizardPage wizPage : wizPages) { if (wizPage instanceof ScaDeviceProjectPropertiesWizardPage) { propWizPage = (ScaDeviceProjectPropertiesWizardPage) wizPage; break; } } // This must come after the creation of the page support since creation of page support updates the // error message. The WizardPageSupport doesn't update the error message because no UI elements have changed // so this is a bit of a hack. if (propWizPage != null) { this.validator = new FrontEndProjectValidator(propWizPage.getProjectSettings(), this); ctx.addValidationStatusProvider(validator); IObservableValue validationStatus = validator.getValidationStatus(); validationStatus.addChangeListener(new IChangeListener() { @Override public void handleChange(ChangeEvent event) { if (validator != null) { updateErrorMessage(); } } }); updateErrorMessage(); } }
From source file:gov.redhawk.prf.internal.ui.editor.detailspart.BasicSimplePropertyDetailsPage.java
License:Open Source License
public List<Binding> bindButton(final DataBindingContext context, final Button rangeButton, final Text minText, final Text maxText) { final EMFUpdateValueStrategy targetToModel = new EMFUpdateValueStrategy(); targetToModel.setConverter(new Converter(Boolean.class, Range.class) { @Override//from www . j a v a2s .c o m public Object convert(final Object fromObject) { if ((Boolean) fromObject) { return PrfFactory.eINSTANCE.createRange(); } else { return null; } } }); final EMFUpdateValueStrategy modelToTarget = new EMFUpdateValueStrategy(); modelToTarget.setConverter(new Converter(Range.class, Boolean.class) { @Override public Object convert(final Object fromObject) { return fromObject != null; } }); final List<Binding> buttonBindings = new ArrayList<Binding>(); buttonBindings.add(context.bindValue(SWTObservables.observeSelection(rangeButton), EMFEditObservables.observeValue(getEditingDomain(), this.input, this.property.getRange()), targetToModel, modelToTarget)); buttonBindings.add(context.bindValue(SWTObservables.observeEnabled(minText), SWTObservables.observeSelection(rangeButton))); buttonBindings.add(context.bindValue(SWTObservables.observeEnabled(maxText), SWTObservables.observeSelection(rangeButton))); return buttonBindings; }