List of usage examples for org.eclipse.jface.databinding.swt WidgetProperties enabled
public static IWidgetValueProperty enabled()
From source file:at.bestsolution.e4.addressbook.ui.swt.AddressForm.java
License:Open Source License
public void bindControls(DataBindingContext dbc, IObservableValue master) { this.dbc = dbc; this.master = master; IWidgetValueProperty tProp = WidgetProperties.text(SWT.Modify); IViewerValueProperty sProp = ViewerProperties.singleSelection(); {/*from ww w . j a va 2 s .c om*/ IEMFValueProperty mProp = EMFProperties.value(AddressbookPackage.Literals.ADDRESS__STREET); dbc.bindValue(tProp.observe(w_street), mProp.observeDetail(master)); } { IEMFValueProperty mProp = EMFProperties.value(AddressbookPackage.Literals.ADDRESS__ZIP); dbc.bindValue(tProp.observe(w_zip), mProp.observeDetail(master)); } { IEMFValueProperty mProp = EMFProperties.value(AddressbookPackage.Literals.ADDRESS__CITY); dbc.bindValue(tProp.observe(w_city), mProp.observeDetail(master)); } { IEMFValueProperty mProp = EMFProperties .value(FeaturePath.fromList(AddressbookPackage.Literals.ADDRESS__COUNTRY)); dbc.bindValue(sProp.observe(v_country), mProp.observeDetail(master)); } bindState(); IWidgetValueProperty eProp = WidgetProperties.enabled(); for (Control c : getChildren()) { EMFUpdateValueStrategy modelToTarget = new EMFUpdateValueStrategy(); modelToTarget.setConverter(new Converter(Address.class, boolean.class) { @Override public Object convert(Object fromObject) { return fromObject != null; } }); final Binding b = dbc.bindValue(eProp.observe(c), master, new EMFUpdateValueStrategy(UpdateValueStrategy.POLICY_NEVER), modelToTarget); master.addValueChangeListener(new IValueChangeListener() { @Override public void handleValueChange(ValueChangeEvent event) { if (event.diff.getNewValue() == null) b.updateModelToTarget(); } }); } }
From source file:at.bestsolution.e4.addressbook.ui.swt.AddressForm.java
License:Open Source License
public void bindControls(EditingDomain editingDomain, DataBindingContext dbc, IObservableValue master) { this.dbc = dbc; this.master = master; this.editingDomain = editingDomain; IWidgetValueProperty tProp = WidgetProperties.text(SWT.Modify); IViewerValueProperty sProp = ViewerProperties.singleSelection(); {//from w w w . j a va 2s . c o m IEMFValueProperty mProp = EMFEditProperties.value(editingDomain, AddressbookPackage.Literals.ADDRESS__STREET); dbc.bindValue(tProp.observeDelayed(PersonForm.DELAY, w_street), mProp.observeDetail(master)); } { IEMFValueProperty mProp = EMFEditProperties.value(editingDomain, AddressbookPackage.Literals.ADDRESS__ZIP); dbc.bindValue(tProp.observeDelayed(PersonForm.DELAY, w_zip), mProp.observeDetail(master)); } { IEMFValueProperty mProp = EMFEditProperties.value(editingDomain, AddressbookPackage.Literals.ADDRESS__CITY); dbc.bindValue(tProp.observeDelayed(PersonForm.DELAY, w_city), mProp.observeDetail(master)); } { IEMFValueProperty mProp = EMFEditProperties.value(editingDomain, FeaturePath.fromList(AddressbookPackage.Literals.ADDRESS__COUNTRY)); dbc.bindValue(sProp.observe(v_country), mProp.observeDetail(master)); } bindState(); IWidgetValueProperty eProp = WidgetProperties.enabled(); for (Control c : getChildren()) { EMFUpdateValueStrategy modelToTarget = new EMFUpdateValueStrategy(); modelToTarget.setConverter(new Converter(Address.class, boolean.class) { @Override public Object convert(Object fromObject) { return fromObject != null; } }); final Binding b = dbc.bindValue(eProp.observe(c), master, new EMFUpdateValueStrategy(UpdateValueStrategy.POLICY_NEVER), modelToTarget); master.addValueChangeListener(new IValueChangeListener() { @Override public void handleValueChange(ValueChangeEvent event) { if (event.diff.getNewValue() == null) b.updateModelToTarget(); } }); } }
From source file:ccw.preferences.HoverPreferencePage.java
License:Open Source License
protected DataBindingContext initDataBindings() { final DataBindingContext context = new DataBindingContext(); // Page Support PreferencePageSupport.create(this, context); // /////////////////////////// // Label/Content providers \\ // /////////////////////////// ObservableListContentProvider contentProvider = new ObservableListContentProvider(); IObservableMap[] columnsObservables = Properties.observeEach(contentProvider.getKnownElements(), HoverViewModel.hoverDisplayDomain); ObservableMapLabelProvider labelProvider = new ObservableMapLabelProvider(columnsObservables); fHoverTableViewer.setLabelProvider(labelProvider); fHoverTableViewer.setContentProvider(contentProvider); fHoverTableViewer.setInput(fViewModel.hoverObservableList); ////////////////////////// // Selected hover logic \\ ////////////////////////// final IObservableValue selectedHover = ViewersObservables.observeSingleSelection(fHoverTableViewer); final IObservableValue isHoverSelected = new ComputedValue(Boolean.TYPE) { @Override/* w ww. ja va2 s .com*/ protected Object calculate() { return Boolean.valueOf(selectedHover.getValue() != null); } }; context.bindValue(WidgetProperties.enabled().observe(fGrpSummary), isHoverSelected); context.bindValue(WidgetProperties.enabled().observe(fSummaryHoverModifierStringText), isHoverSelected); final IObservableValue stateMaskOfSelected = HoverViewModel.hoverStateMask.observeDetail(selectedHover); final IObservableValue modifierStringOfSelected = HoverViewModel.hoverModifierString .observeDetail(selectedHover); final UpdateValueStrategy modifierStringStrategyConvert = new UpdateValueStrategy( UpdateValueStrategy.POLICY_CONVERT); modifierStringStrategyConvert.setConverter(new HoverViewModel.StateMaskToModifierConverter()); final Binding stateMaskToModifierBinding = context.bindValue(modifierStringOfSelected, stateMaskOfSelected, new UpdateValueStrategy(UpdateValueStrategy.POLICY_NEVER), modifierStringStrategyConvert); if (!fViewModel.hoverObservableList.isEmpty()) { selectedHover.setValue(fViewModel.hoverObservableList.get(0)); } ////////////////////// // Validation logic \\ ////////////////////// MultiValidator validator = new MultiValidator() { @Override protected IStatus validate() { IStatus status = ValidationStatus.ok(); if (isHoverSelected.getValue() == Boolean.TRUE) { status = fViewModel.stateMaskValidator.validate(stateMaskOfSelected.getValue()); } if (status.isOK()) { Iterator<HoverDescriptor> it = fViewModel.checkedSet.iterator(); while (it.hasNext()) { int stateMask = it.next().getStateMask(); if (!fViewModel.isStateMaskUnique(stateMask)) { status = fViewModel.stateMaskError(stateMask); } } } return status; } }; context.addValidationStatusProvider(validator); ////////////////////////// // Checked hovers logic \\ ////////////////////////// // AR - because of some ordering issue problem, I am disabling the automatic // update from model to target of the checked hovers and... final UpdateSetStrategy checkedModelToTargetStrategy = new UpdateSetStrategy( UpdateValueStrategy.POLICY_ON_REQUEST); // AR - ... add an explicit binding that will be needed... final Binding checkedBindSet = context.bindSet( ViewersObservables.observeCheckedElements(fHoverTableViewer, HoverDescriptor.class), fViewModel.checkedSet, null, checkedModelToTargetStrategy); // AR - ...to manually trigger the update when new elements are added to the provider... IObservableSet realizedElements = contentProvider.getRealizedElements(); realizedElements.addChangeListener(new IChangeListener() { @Override public void handleChange(ChangeEvent event) { checkedBindSet.updateModelToTarget(); } }); ///////////////// // UI Bindings \\ ///////////////// EditingSupport modifierEditorSupport = ObservableValueEditingSupport.create(fHoverTableViewer, context, fHoverModifierStringTextCellEditor, CellEditorProperties.control().value(WidgetProperties.text(SWT.Modify)), HoverViewModel.hoverModifierString); fModifierTableViewerColumn.setEditingSupport(modifierEditorSupport); final UpdateValueStrategy statusMaskToModifierStrategy = new UpdateValueStrategy(); statusMaskToModifierStrategy.setConverter(new HoverViewModel.StateMaskToModifierConverter()); final UpdateValueStrategy modifierToStatusMaskStrategy = new UpdateValueStrategy(); modifierToStatusMaskStrategy.setConverter(new HoverViewModel.ModifierToStateMaskConverter()); context.bindValue(WidgetProperties.text().observe(fSummaryHoverNameLabel), HoverViewModel.hoverLabel.observeDetail(selectedHover)); context.bindValue(WidgetProperties.text().observe(fSummaryHoverDescriptionLabel), HoverViewModel.hoverDescription.observeDetail(selectedHover)); context.bindValue(WidgetProperties.text().observe(fSummaryHoverModifierStringText), HoverViewModel.hoverStateMask.observeDetail(selectedHover), modifierToStatusMaskStrategy, statusMaskToModifierStrategy); KeyListener stateMaskKeyListener = new KeyListener() { public void keyPressed(KeyEvent e) { boolean isPressedKeyModifier = e.keyCode > 0 && e.character == 0 && (e.keyCode & SWT.MODIFIER_MASK) != 0; boolean isStateKeyModifier = e.stateMask > 0 && (e.stateMask & SWT.MODIFIER_MASK) != 0; int mask = SWT.NONE; if (isPressedKeyModifier) { mask = e.keyCode; if (isStateKeyModifier) { mask |= e.stateMask; } stateMaskOfSelected.setValue(mask); stateMaskToModifierBinding.updateModelToTarget(); } } public void keyReleased(KeyEvent e) { if (e.keyCode == SWT.BS || e.keyCode == SWT.DEL) { stateMaskOfSelected.setValue(SWT.NONE); stateMaskToModifierBinding.updateModelToTarget(); } } }; fHoverModifierStringTextCellEditor.getControl().addKeyListener(stateMaskKeyListener); fSummaryHoverModifierStringText.addKeyListener(stateMaskKeyListener); return context; }
From source file:com.amitinside.e4.rcp.todo.parts.PlaygroundPart.java
License:Apache License
/** * /*from w w w . java 2 s.c o m*/ * @param parent */ @PostConstruct public void createControls(Composite parent) { DataBindingContext ctx = new DataBindingContext(); text1 = new Text(parent, SWT.LEAD | SWT.BORDER | SWT.MULTI); text1.setText("Hallo"); text2 = new Text(parent, SWT.LEAD | SWT.BORDER | SWT.MULTI); text2.setText("Moin"); ISWTObservableValue model = WidgetProperties.text(SWT.Modify).observe(text1); ISWTObservableValue target = WidgetProperties.text(SWT.Modify).observeDelayed(2000, text2); Button button = new Button(parent, SWT.CHECK); button.setText("Hello"); // button.addSelectionListener(new SelectionAdapter() { // @Override // public void widgetSelected(SelectionEvent e) { // // } // }); ISWTObservableValue model1 = WidgetProperties.selection().observe(button); ISWTObservableValue target1 = WidgetProperties.enabled().observe(text1); ctx.bindValue(target1, model1); // This assumes you have a vogella.png file // in folder images }
From source file:com.google.cloud.tools.eclipse.appengine.deploy.ui.StandardDeployPreferencesPanel.java
License:Apache License
private void setupProjectVersionDataBinding(DataBindingContext context) { ISWTObservableValue overrideButton = WidgetProperties.selection().observe(overrideDefaultVersionButton); ISWTObservableValue versionField = WidgetProperties.text(SWT.Modify).observe(version); ISWTObservableValue versionLabelEnablement = WidgetProperties.enabled().observe(versionLabel); ISWTObservableValue versionFieldEnablement = WidgetProperties.enabled().observe(version); // use an intermediary value to control the enabled state of the label and the field based on the override // checkbox's state WritableValue enablement = new WritableValue(); context.bindValue(overrideButton, enablement); context.bindValue(versionLabelEnablement, enablement); context.bindValue(versionFieldEnablement, enablement); IObservableValue overrideModel = PojoProperties.value("overrideDefaultVersioning").observe(model); IObservableValue versionModel = PojoProperties.value("version").observe(model); context.bindValue(enablement, overrideModel); context.bindValue(versionField, versionModel); context.addValidationStatusProvider( new OverrideValidator(overrideButton, versionField, new ProjectVersionValidator())); }
From source file:com.google.cloud.tools.eclipse.appengine.deploy.ui.StandardDeployPreferencesPanel.java
License:Apache License
private void setupAutoPromoteDataBinding(DataBindingContext context) { ISWTObservableValue promoteButton = WidgetProperties.selection().observe(autoPromoteButton); ISWTObservableValue stopPreviousVersion = WidgetProperties.selection().observe(stopPreviousVersionButton); ISWTObservableValue stopPreviousVersionEnablement = WidgetProperties.enabled() .observe(stopPreviousVersionButton); // use an intermediary value to control the enabled state of stopPreviousVersionButton based on the promote // checkbox's state WritableValue enablement = new WritableValue(); context.bindValue(promoteButton, enablement); context.bindValue(stopPreviousVersionEnablement, enablement); IObservableValue promoteModel = PojoProperties.value("autoPromote").observe(model); IObservableValue stopPreviousVersionModel = PojoProperties.value("stopPreviousVersion").observe(model); context.bindValue(promoteButton, promoteModel); context.bindValue(stopPreviousVersion, stopPreviousVersionModel); }
From source file:com.google.cloud.tools.eclipse.appengine.deploy.ui.StandardDeployPreferencesPanel.java
License:Apache License
private void setupBucketDataBinding(DataBindingContext context) { ISWTObservableValue overrideButton = WidgetProperties.selection().observe(overrideDefaultBucketButton); ISWTObservableValue bucketField = WidgetProperties.text(SWT.Modify).observe(bucket); ISWTObservableValue bucketLabelEnablement = WidgetProperties.enabled().observe(bucketLabel); ISWTObservableValue bucketFieldEnablement = WidgetProperties.enabled().observe(bucket); // use an intermediary value to control the enabled state of the label and the field based on the override // checkbox's state WritableValue enablement = new WritableValue(); context.bindValue(overrideButton, enablement); context.bindValue(bucketLabelEnablement, enablement); context.bindValue(bucketFieldEnablement, enablement); IObservableValue overrideModelObservable = PojoProperties.value("overrideDefaultBucket").observe(model); IObservableValue bucketModelObservable = PojoProperties.value("bucket").observe(model); context.bindValue(enablement, overrideModelObservable); context.bindValue(bucketField, bucketModelObservable); context.addValidationStatusProvider( new OverrideValidator(overrideButton, bucketField, new BucketNameValidator())); }
From source file:com.google.cloud.tools.eclipse.appengine.ui.AppEngineLibrariesSelectorGroup.java
License:Apache License
/** * We have three bindings for each library: * <ol><li>A one-way binding of the checkbox selection state to add or remove the corresponding library from our * selected-libraries list.</li>//from w w w.j a v a 2s. c o m * <li>The opposite of the first, a one-way binding to set the checkbox selection state when the corresponding * library has been selected or if it is a dependency of another selected library.</li> * <li>A one-way binding to set the checkbox enablement when the corresponding library is a dependency of a selected * library.</li> * </ol> * @param libraryButton to which the databinding will be configured. */ private void setupDatabindingForButton(final Button libraryButton) { final Library library = (Library) libraryButton.getData(); ISWTObservableValue libraryButtonSelection = WidgetProperties.selection().observe(libraryButton); ISWTObservableValue libraryButtonEnablement = WidgetProperties.enabled().observe(libraryButton); // library selection UI -> model bindingContext.bindValue(libraryButtonSelection, new NullComputedValue(getDisplayRealm()), new UpdateValueStrategy() .setConverter(new HandleLibrarySelectionConverter(selectedLibraries, library)), new UpdateValueStrategy(UpdateValueStrategy.POLICY_NEVER)); // UI <- library selection model bindingContext.bindValue(libraryButtonSelection, new DependentLibrarySelected(getDisplayRealm(), library.getId(), true /* resultIfFound */) { @Override protected Object calculate() { if (libraryButton.getData(BUTTON_MANUAL_SELECTION_KEY) != null) { return true; } else { return super.calculate(); } } }, new UpdateValueStrategy(UpdateValueStrategy.POLICY_NEVER), new UpdateValueStrategy()); // UI enablement <- library is a dependency bindingContext.bindValue(libraryButtonEnablement, new DependentLibrarySelected(getDisplayRealm(), library.getId(), false /* resultIfFound */), new UpdateValueStrategy(UpdateValueStrategy.POLICY_NEVER), new UpdateValueStrategy()); }
From source file:com.htmlhifive.tools.jslint.dialog.ConfirmLicenseDialog.java
License:Apache License
/** * ???./*from w w w . j a va 2s .c o m*/ */ private void initialDataBinding() { DataBindingContext context = new DataBindingContext(); // OK?Validator UpdateValueStrategy strategy = new UpdateValueStrategy(); strategy.setBeforeSetValidator(new IValidator() { @Override public IStatus validate(Object value) { getButton(IDialogConstants.OK_ID).setEnabled((Boolean) value); return null; } }); IObservableValue obsSelectiveAcceptLicense = WidgetProperties.selection().observe(btnAcceptLicense); IObservableValue obsEnabledOkButton = WidgetProperties.enabled().observe(getButton(IDialogConstants.OK_ID)); context.bindValue(obsSelectiveAcceptLicense, obsEnabledOkButton, null, null); }
From source file:com.planetmayo.debrief.satc_rcp.ui.contributions.BaseContributionView.java
License:Open Source License
/** * binds model value to specified slider, label and checkBox with specified * converters returns writable value which is used to store direct ui value *//*www . j av a2s. c om*/ protected WritableValue bindSliderLabelCheckbox(DataBindingContext context, final IObservableValue modelValue, Scale slider, Label label, Button checkBox, PrefixSuffixLabelConverter labelValueConverter, BooleanToNullConverter<?> checkBoxValueConverter, UnitConverter unitConverter) { final WritableValue uiProxy = new WritableValue(modelValue.getValue(), modelValue.getValueType()); IObservableValue sliderValue = WidgetProperties.selection().observe(slider); IObservableValue labelValue = WidgetProperties.text().observe(label); if (unitConverter != null) { IConverter modelToUI = new CompoundConverter(unitConverter.getModelToUI(), new IntegerConverter()); context.bindValue(sliderValue, uiProxy, UIUtils.converterStrategy(unitConverter.getUIToModel()), UIUtils.converterStrategy(modelToUI)); } else { context.bindValue(sliderValue, uiProxy); } if (checkBox != null) { IObservableValue sliderEnabled = WidgetProperties.enabled().observe(slider); IObservableValue checkBoxValue = WidgetProperties.selection().observe(checkBox); context.bindValue(checkBoxValue, modelValue, UIUtils.converterStrategy(checkBoxValueConverter), UIUtils.converterStrategy(new NullToBooleanConverter())); context.bindValue(sliderEnabled, modelValue, null, UIUtils.converterStrategy(new NullToBooleanConverter())); } context.bindValue(labelValue, uiProxy, null, UIUtils.converterStrategy(labelValueConverter)); context.bindValue(uiProxy, modelValue, new UpdateValueStrategy(UpdateValueStrategy.POLICY_NEVER), null); slider.addListener(SWT.MouseUp, new Listener() { @Override public void handleEvent(Event arg0) { modelValue.setValue(uiProxy.getValue()); } }); slider.addSelectionListener(new SelectionAdapter() { @Override public void widgetSelected(SelectionEvent e) { if ((e.stateMask & SWT.BUTTON1) == 0) { modelValue.setValue(uiProxy.getValue()); } } }); return uiProxy; }