List of usage examples for org.eclipse.jface.databinding.swt SWTObservables observeDelayedValue
@SuppressWarnings("unchecked") @Deprecated public static ISWTObservableValue observeDelayedValue(int delay, ISWTObservableValue observable)
observable
until delay
milliseconds have elapsed since the last change event, or until a FocusOut event is received from the underlying widget (whichever happens first). From source file:com.netxforge.netxstudio.screens.f2.details.NewEditNodeFunction.java
License:Open Source License
private EMFDataBindingContext bindInfoSection(EMFDataBindingContext context) { // Binding of name and Description IObservableValue nameObservable = SWTObservables.observeDelayedValue(400, SWTObservables.observeText(txtName, SWT.Modify)); IObservableValue descriptionObservable = SWTObservables.observeDelayedValue(400, SWTObservables.observeText(txtDescription, SWT.Modify)); IEMFValueProperty componentNameProperty = EMFEditProperties.value(editingService.getEditingDomain(), LibraryPackage.Literals.COMPONENT__NAME); IEMFValueProperty componentDescriptionProperty = EMFEditProperties.value(editingService.getEditingDomain(), LibraryPackage.Literals.COMPONENT__DESCRIPTION); context.bindValue(nameObservable, componentNameProperty.observe(comp), null, null); context.bindValue(descriptionObservable, componentDescriptionProperty.observe(comp), null, null); return context; }
From source file:com.netxforge.netxstudio.screens.f2.details.NewEditNodeType.java
License:Open Source License
public EMFDataBindingContext initDataBindings_() { EMFDataBindingContext context = new EMFDataBindingContext(); // Binding of name and Description IObservableValue nameObservable = SWTObservables.observeDelayedValue(400, SWTObservables.observeText(txtName, SWT.Modify)); IObservableValue leafObservable = SWTObservables.observeSelection(btnLeafNode); IEMFValueProperty nameProperty = EMFEditProperties.value(editingService.getEditingDomain(), LibraryPackage.Literals.NODE_TYPE__NAME); IEMFValueProperty leafProperty = EMFEditProperties.value(editingService.getEditingDomain(), LibraryPackage.Literals.NODE_TYPE__LEAF_NODE); context.bindValue(nameObservable, nameProperty.observe(nodeType), null, null); context.bindValue(leafObservable, leafProperty.observe(nodeType), null, null); final NodeTypeSummary totals = (NodeTypeSummary) stateModel.summary(nodeType); this.frmTextNumberOfFunctions.setText(totals.getFunctionCountAsString(), false, false); this.frmTextNumberOfEquipments.setText(totals.getEquipmentCountAsString(), false, false); this.frmTextNumberOfResources.setText(totals.getResourCountAsString(), false, false); return context; }
From source file:com.netxforge.netxstudio.screens.f2.NewEditParameter.java
License:Open Source License
public EMFDataBindingContext initDataBindings_() { EMFDataBindingContext context = new EMFDataBindingContext(); // text widgets. IObservableValue nameObservable = SWTObservables.observeDelayedValue(400, SWTObservables.observeText(txtName, SWT.Modify)); IObservableValue expressionNameObservable = SWTObservables.observeDelayedValue(400, SWTObservables.observeText(this.txtExpressionName, SWT.Modify)); IObservableValue descriptionObservable = SWTObservables.observeDelayedValue(400, SWTObservables.observeText(txtDescription, SWT.Modify)); IObservableValue valueObservable = SWTObservables.observeDelayedValue(400, SWTObservables.observeText(txtValue, SWT.Modify)); // Strategies to convert the values. EMFUpdateValueStrategy valueModelToTargetStrategy = new EMFUpdateValueStrategy(); valueModelToTargetStrategy.setConverter(new IConverter() { public Object getFromType() { return Double.class; }//from w w w .j a va 2 s .c o m public Object getToType() { return String.class; } public Object convert(Object fromObject) { // Use a Decimal formatter, so we don't display Exponent, // which is default for a Double.toString() DecimalFormat decimalFormat = new DecimalFormat(NonModelUtils.DEFAULT_VALUE_FORMAT_PATTERN); return decimalFormat.format(fromObject); } }); EMFUpdateValueStrategy valueTargetToModelStrategy = new EMFUpdateValueStrategy(); valueTargetToModelStrategy.setConverter(new IConverter() { public Object getFromType() { return String.class; } public Object getToType() { return Double.class; } public Object convert(Object fromObject) { try { String s = (String) fromObject; Number parse = DecimalFormat.getInstance().parse(s); return parse.doubleValue(); } catch (NumberFormatException nfe) { } catch (ParseException e) { } return null; } }); // Properties IEMFValueProperty nameProperty = EMFEditProperties.value(editingService.getEditingDomain(), LibraryPackage.Literals.PARAMETER__NAME); IEMFValueProperty expressionNameProperty = EMFEditProperties.value(editingService.getEditingDomain(), LibraryPackage.Literals.PARAMETER__EXPRESSION_NAME); IEMFValueProperty descriptionProperty = EMFEditProperties.value(editingService.getEditingDomain(), LibraryPackage.Literals.PARAMETER__DESCRIPTION); IEMFValueProperty valueProperty = EMFEditProperties.value(editingService.getEditingDomain(), LibraryPackage.Literals.PARAMETER__VALUE); context.bindValue(nameObservable, nameProperty.observe(parameter), null, null); context.bindValue(expressionNameObservable, expressionNameProperty.observe(parameter), null, null); context.bindValue(descriptionObservable, descriptionProperty.observe(parameter), null, null); context.bindValue(valueObservable, valueProperty.observe(parameter), valueTargetToModelStrategy, valueModelToTargetStrategy); return context; }
From source file:com.netxforge.netxstudio.screens.f2.NewEditResource.java
License:Open Source License
public EMFDataBindingContext initDataBindings_() { EMFDataBindingContext context = new EMFDataBindingContext(); // Widget observables. IObservableValue componentTargetObservable = SWTObservables.observeText(this.txtComponent, SWT.Modify); IObservableValue nodeTargetObservable = SWTObservables.observeText(this.txtNode, SWT.Modify); IObservableValue metricTargetObservable = SWTObservables.observeText(this.txtMetric, SWT.Modify); IObservableValue shortNameTargetObservable = SWTObservables.observeDelayedValue(400, SWTObservables.observeText(this.txtShortName, SWT.Modify)); IObservableValue longNameTargetObservable = SWTObservables.observeDelayedValue(400, SWTObservables.observeText(this.txtLongName, SWT.Modify)); IObservableValue expressionNameTargetObservable = SWTObservables.observeDelayedValue(400, SWTObservables.observeText(this.txtExpressionName, SWT.Modify)); IObservableValue unitTargetObservable = SWTObservables.observeDelayedValue(400, SWTObservables.observeText(this.txtUnit, SWT.Modify)); IEMFValueProperty componentProperty = EMFEditProperties.value(editingService.getEditingDomain(), LibraryPackage.Literals.NET_XRESOURCE__COMPONENT_REF); IEMFValueProperty metricProperty = EMFEditProperties.value(editingService.getEditingDomain(), LibraryPackage.Literals.NET_XRESOURCE__METRIC_REF); IEMFValueProperty shortNameProperty = EMFEditProperties.value(editingService.getEditingDomain(), LibraryPackage.Literals.BASE_RESOURCE__SHORT_NAME); IEMFValueProperty longNameProperty = EMFEditProperties.value(editingService.getEditingDomain(), LibraryPackage.Literals.BASE_RESOURCE__LONG_NAME); IEMFValueProperty expressionNameProperty = EMFEditProperties.value(editingService.getEditingDomain(), LibraryPackage.Literals.BASE_RESOURCE__EXPRESSION_NAME); IEMFValueProperty unitProperty = EMFEditProperties.value(editingService.getEditingDomain(), FeaturePath .fromList(LibraryPackage.Literals.BASE_RESOURCE__UNIT_REF, LibraryPackage.Literals.UNIT__CODE)); EMFUpdateValueStrategy nodeToTargetStrategy = new EMFUpdateValueStrategy(); nodeToTargetStrategy.setConverter(new IConverter() { public Object getFromType() { return Component.class; }//from w w w . j a v a 2s . c o m public Object getToType() { return String.class; } public Object convert(Object fromObject) { Component c = (Component) fromObject; NodeType nt = StudioUtils.resolveParentNodeType((EObject) c); if (nt != null) { Node n = null; if ((n = StudioUtils.nodeFor(nt)) != null) { lblNode.setText("NE Instance:"); return n.getNodeID(); } else { lblNode.setText("NE Type:"); return nt.getName(); } } else { return ""; } } }); EMFUpdateValueStrategy componentToTargetStrategy = new EMFUpdateValueStrategy(); componentToTargetStrategy.setConverter(new IConverter() { public Object getFromType() { return Component.class; } public Object getToType() { return String.class; } public Object convert(Object fromObject) { return StudioUtils.componentName((Component) fromObject); } }); EMFUpdateValueStrategy metricToTargetStrategy = new EMFUpdateValueStrategy(); metricToTargetStrategy.setConverter(new IConverter() { public Object getFromType() { return Metric.class; } public Object getToType() { return String.class; } public Object convert(Object fromObject) { if (fromObject instanceof Metric) { return ((Metric) fromObject).getName(); } return fromObject; } }); context.bindValue(nodeTargetObservable, componentProperty.observe(res), null, nodeToTargetStrategy); context.bindValue(componentTargetObservable, componentProperty.observe(res), null, componentToTargetStrategy); context.bindValue(shortNameTargetObservable, shortNameProperty.observe(res), null, null); context.bindValue(longNameTargetObservable, longNameProperty.observe(res), null, null); context.bindValue(expressionNameTargetObservable, expressionNameProperty.observe(res), null, null); context.bindValue(metricTargetObservable, metricProperty.observe(res), null, metricToTargetStrategy); context.bindValue(unitTargetObservable, unitProperty.observe(res), null, null); return context; }
From source file:com.netxforge.netxstudio.screens.f3.NewEditSite.java
License:Open Source License
public EMFDataBindingContext initDataBindings_() { EMFDataBindingContext context = new EMFDataBindingContext(); IObservableValue nameObservable = SWTObservables.observeDelayedValue(400, SWTObservables.observeText(txtName, SWT.Modify)); IObservableValue regionObservable = SWTObservables.observeDelayedValue(400, SWTObservables.observeText(txtRegion, SWT.Modify)); IObservableValue areaObservable = SWTObservables.observeDelayedValue(400, SWTObservables.observeText(txtArea, SWT.Modify)); IObservableValue cityObservable = SWTObservables.observeDelayedValue(400, SWTObservables.observeText(txtCity, SWT.Modify)); IObservableValue streetObservable = SWTObservables.observeDelayedValue(400, SWTObservables.observeText(txtStreet, SWT.Modify)); IObservableValue nrObservable = SWTObservables.observeDelayedValue(400, SWTObservables.observeText(txtNr, SWT.Modify)); IObservableValue longitudeObservable = SWTObservables.observeDelayedValue(400, SWTObservables.observeText(txtLongitude, SWT.Modify)); IObservableValue latitudeObservable = SWTObservables.observeDelayedValue(400, SWTObservables.observeText(txtLatitude, SWT.Modify)); IEMFValueProperty nameProperty = EMFEditProperties.value(editingService.getEditingDomain(), GeoPackage.Literals.LOCATION__NAME); IEMFValueProperty regionProperty = EMFEditProperties.value(editingService.getEditingDomain(), GeoPackage.Literals.SITE__REGION); IEMFValueProperty areaProperty = EMFEditProperties.value(editingService.getEditingDomain(), GeoPackage.Literals.SITE__AREA); IEMFValueProperty cityProperty = EMFEditProperties.value(editingService.getEditingDomain(), GeoPackage.Literals.SITE__CITY); IEMFValueProperty streetProperty = EMFEditProperties.value(editingService.getEditingDomain(), GeoPackage.Literals.SITE__SREET); IEMFValueProperty nrProperty = EMFEditProperties.value(editingService.getEditingDomain(), GeoPackage.Literals.SITE__HOUSENUMBER); IEMFValueProperty longitudeProperty = EMFEditProperties.value(editingService.getEditingDomain(), GeoPackage.Literals.SITE__LONGITUDE); IEMFValueProperty latitudeProperty = EMFEditProperties.value(editingService.getEditingDomain(), GeoPackage.Literals.SITE__LATITUDE); context.bindValue(nameObservable, nameProperty.observe(site), null, null); context.bindValue(regionObservable, regionProperty.observe(site), null, null); context.bindValue(areaObservable, areaProperty.observe(site), null, null); context.bindValue(cityObservable, cityProperty.observe(site), null, null); context.bindValue(streetObservable, streetProperty.observe(site), null, null); context.bindValue(nrObservable, nrProperty.observe(site), null, null); context.bindValue(longitudeObservable, longitudeProperty.observe(site), null, null); context.bindValue(latitudeObservable, latitudeProperty.observe(site), null, null); return context; }
From source file:com.netxforge.netxstudio.screens.f3.NewEditWarehouse.java
License:Open Source License
public EMFDataBindingContext initDataBindings_() { EMFDataBindingContext context = new EMFDataBindingContext(); IObservableValue nameObservable = SWTObservables.observeDelayedValue(400, SWTObservables.observeText(txtName, SWT.Modify)); IObservableValue shortNameObservable = SWTObservables.observeDelayedValue(400, SWTObservables.observeText(txtDescription, SWT.Modify)); IEMFValueProperty nameProperty = EMFProperties.value(OperatorsPackage.Literals.WAREHOUSE__NAME); IEMFValueProperty shortNameProperty = EMFProperties.value(OperatorsPackage.Literals.WAREHOUSE__DESCRIPTION); context.bindValue(nameObservable, nameProperty.observe(warehouse), null, null); context.bindValue(shortNameObservable, shortNameProperty.observe(warehouse), null, null); return context; }
From source file:com.netxforge.netxstudio.screens.f4.NewEditJob.java
License:Open Source License
public EMFDataBindingContext initDataBindings_() { EMFDataBindingContext bindingContext = new EMFDataBindingContext(); // JOB_STATE//from w w w . j ava 2 s. c o m EMFUpdateValueStrategy jobStateModelToTargetStrategy = new EMFUpdateValueStrategy(); jobStateModelToTargetStrategy.setConverter(new IConverter() { public Object getFromType() { return JobState.class; } public Object getToType() { return Boolean.class; } public Object convert(Object fromObject) { JobState current = (JobState) fromObject; if (current.getValue() == JobState.ACTIVE_VALUE) { return Boolean.TRUE; } else { return Boolean.FALSE; } } }); EMFUpdateValueStrategy jobStateTargetToModelStrategy = new EMFUpdateValueStrategy(); jobStateTargetToModelStrategy.setConverter(new IConverter() { public Object getFromType() { return Boolean.class; } public Object getToType() { return JobState.class; } public Object convert(Object fromObject) { Boolean current = (Boolean) fromObject; if (current) { return JobState.ACTIVE; } else { return JobState.IN_ACTIVE; } } }); IObservableValue jobStateObservable = SWTObservables.observeSelection(btnActive); IEMFValueProperty jobStateProperty = EMFEditProperties.value(editingService.getEditingDomain(), SchedulingPackage.Literals.JOB__JOB_STATE); bindingContext.bindValue(jobStateObservable, jobStateProperty.observe(job), jobStateTargetToModelStrategy, jobStateModelToTargetStrategy); // JOB_NAME EMFUpdateValueStrategy nameStrategy = ValidationService.getStrategyfactory() .strategyBeforeSetStringNotEmpty("Name is required"); IObservableValue textObserveJobName = SWTObservables.observeDelayedValue(400, SWTObservables.observeText(this.txtJobName, SWT.Modify)); IEMFValueProperty textJobNameValue = EMFProperties.value(SchedulingPackage.Literals.JOB__NAME); bindingContext.bindValue(textObserveJobName, textJobNameValue.observe(job), nameStrategy, null); // //////////////////////////////////////////////////////// // WRITABLE OBSERVABLES // All these widgets, do not directly through the model and are // therefore bound // separately for each sync direction through a WritableValue // //////////////////////////////////////////////////////// comboViewerOn.setContentProvider(new ArrayContentProvider()); comboViewerOn.setLabelProvider(new LabelProvider() { @Override public String getText(Object element) { return NonModelUtils.weekDay((Integer) element); } }); comboViewerOn.setInput(NonModelUtils.weekDaysAsInteger().toArray()); comboViewerEvery.setContentProvider(new ArrayContentProvider()); comboViewerEvery.setInput(ComboStartInput); // //////////////////////////// // OBSERVABLES THROUGH AN AGGREGATOR // ////////////////////////////// comboViewerOnWritableValue = new WritableValue(); comboViewerEveryWritableValue = new WritableValue(); cdateTimeStartTimeWritableValue = new WritableValue(); dateChooserStartsOnWritableValue = new WritableValue(); dateChooserEndsOnWritableValue = new WritableValue(); btnOnWritableValue = new WritableValue(); btnAfterWritableValue = new WritableValue(); btnNeverWritableValue = new WritableValue(); txtOccurencesWritableValue = new WritableValue(); comboViewerOnObserveSingleSelection = ViewersObservables.observeSingleSelection(comboViewerOn); comboViewerEveryObserveSingleSelection = ViewersObservables.observeSingleSelection(comboViewerEvery); comboViewerEveryObserveText = SWTObservables.observeText(comboViewerEvery.getCombo()); comboObserveStartTime = new CDateTimeObservableValue(this.cdateTimeStartTime); dateChooseObserveStartDate = new DateChooserComboObservableValue(dateChooserStartsOn, SWT.Modify); dateChooseObserveEndDate = new DateChooserComboObservableValue(dateChooserEndsOn, SWT.Modify); endOnObservable = SWTObservables.observeSelection(btnOn); endOccurencesObservable = SWTObservables.observeSelection(btnAfter); endNeverObservable = SWTObservables.observeSelection(btnNever); occurenceObservable = SWTObservables.observeDelayedValue(400, SWTObservables.observeText(this.txtOccurences, SWT.Modify)); // //////////////////////////// // OPPOSITE BINDING // /////////////////////////// bindingContext.bindValue(comboViewerOnObserveSingleSelection, comboViewerOnWritableValue, null, null); bindingContext.bindValue(comboViewerEveryObserveSingleSelection, comboViewerEveryWritableValue, null, null); bindingContext.bindValue(comboObserveStartTime, cdateTimeStartTimeWritableValue, null, null); bindingContext.bindValue(dateChooseObserveStartDate, dateChooserStartsOnWritableValue, null, null); bindingContext.bindValue(dateChooseObserveEndDate, dateChooserEndsOnWritableValue, null, null); bindingContext.bindValue(endNeverObservable, btnNeverWritableValue, null, null); bindingContext.bindValue(endOccurencesObservable, btnAfterWritableValue, null, null); bindingContext.bindValue(endOnObservable, btnOnWritableValue, null, null); EMFUpdateValueStrategy occurencesModelToTargetStrategy = new EMFUpdateValueStrategy(); occurencesModelToTargetStrategy.setConverter(new IConverter() { public Object getFromType() { return Integer.class; } public Object getToType() { return String.class; } public Object convert(Object fromObject) { if (fromObject != null) { return ((Integer) fromObject).toString(); } else { return ""; } } }); EMFUpdateValueStrategy occurencesTargetToModelStrategy = new EMFUpdateValueStrategy(); occurencesTargetToModelStrategy.setConverter(new IConverter() { public Object getFromType() { return String.class; } public Object getToType() { return Integer.class; } public Object convert(Object fromObject) { try { String from = (String) fromObject; if (from.length() == 0) { return 0; } return new Integer(from); } catch (NumberFormatException nfe) { nfe.printStackTrace(); } return 0; } }); bindingContext.bindValue(occurenceObservable, this.txtOccurencesWritableValue, occurencesTargetToModelStrategy, occurencesModelToTargetStrategy); // ///////////////////////////////////////////////// // ACTUAL MODEL BINDING // //////////////////////////////////////////////// // The following binding is indirect through a series of writableValues. // / The writables, which will be deduced from various widgets by our // aggregator. IObservableValue startTimeWritableValue = new WritableValue(); IObservableValue endTimeWritableValue = new WritableValue(); IObservableValue intervalWritableValue = new WritableValue(); IObservableValue repeatWritableValue = new WritableValue(); // The aggregator. JobInfoAggregate aggregate = new JobInfoAggregate(startTimeWritableValue, endTimeWritableValue, intervalWritableValue, repeatWritableValue); IEMFValueProperty startTimeProperty = EMFEditProperties.value(editingService.getEditingDomain(), SchedulingPackage.Literals.JOB__START_TIME); IEMFValueProperty endTimeProperty = EMFEditProperties.value(editingService.getEditingDomain(), SchedulingPackage.Literals.JOB__END_TIME); IEMFValueProperty intervalProperty = EMFEditProperties.value(editingService.getEditingDomain(), SchedulingPackage.Literals.JOB__INTERVAL); IEMFValueProperty repeatProperty = EMFEditProperties.value(editingService.getEditingDomain(), SchedulingPackage.Literals.JOB__REPEAT); // TODO, add converters and validators. IObservableValue startTimeObservableValue = startTimeProperty.observe(job); IObservableValue endTimeObservableValue = endTimeProperty.observe(job); IObservableValue intervalObservableValue = intervalProperty.observe(job); IObservableValue repeatObservableValue = repeatProperty.observe(job); // ////////////////////// // BIND OUR WRITABLES. // //////////////////// EMFUpdateValueStrategy targetToModelStrategy = new EMFUpdateValueStrategy(); targetToModelStrategy.setConverter(new DateToXMLConverter()); bindingContext.bindValue(startTimeWritableValue, startTimeObservableValue, targetToModelStrategy, null); bindingContext.bindValue(endTimeWritableValue, endTimeObservableValue, targetToModelStrategy, null); bindingContext.bindValue(intervalWritableValue, intervalObservableValue, targetToModelStrategy, null); bindingContext.bindValue(repeatWritableValue, repeatObservableValue, targetToModelStrategy, null); // Set initial values of the widgets. , without having the aggregator // activated yet. this.setInitial(startTimeObservableValue.getValue(), endTimeObservableValue.getValue(), repeatObservableValue.getValue(), intervalObservableValue.getValue()); // Set the initial values of the aggregator. aggregate.setInitialValues(job); this.enableAggregate(aggregate); // bindingContext.updateTargets(); return bindingContext; }
From source file:com.netxforge.netxstudio.screens.f4.NewEditMappingColumn.java
License:Open Source License
private void initDataBindingHeaderMappingColumn(EMFDataBindingContext context) { // /////////////////////////// // WRITABLE OBSERVABLES MAPPING COLUMN KIND // /////////////////////////// btnIdentifierWritableValue = new WritableValue(); btnDateTimeWritableValue = new WritableValue(); btnDateWritableValue = new WritableValue(); btnTimeWritableValue = new WritableValue(); btnIntervalWritableValue = new WritableValue(); identifierObservable = SWTObservables.observeSelection(btnIdentifier); dateTimeObservable = SWTObservables.observeSelection(btnDatetime); dateObservable = SWTObservables.observeSelection(btnDate); timeObservable = SWTObservables.observeSelection(btnTime); intervalObservable = SWTObservables.observeSelection(this.btnInterval); context.bindValue(identifierObservable, btnIdentifierWritableValue, null, null); context.bindValue(dateTimeObservable, btnDateTimeWritableValue, null, null); context.bindValue(dateObservable, btnDateWritableValue, null, null); context.bindValue(timeObservable, btnTimeWritableValue, null, null); context.bindValue(intervalObservable, btnIntervalWritableValue, null, null); // /////////////////////////// // PATTERN FIELD OBSERVABLES // /////////////////////////// dateTimePatternObservable = SWTObservables.observeText(this.cmbDateTimePattern); datePatternObservable = SWTObservables.observeText(this.cmbDatePattern); timePatternObservable = SWTObservables.observeText(this.cmbTimePattern); // /////////////////////////// // IDENTIFIER BINDING // /////////////////////////// IObservableValue identifierPatternObservable = SWTObservables.observeDelayedValue(400, SWTObservables.observeText(this.txtIdentifierPattern, SWT.Modify)); IObservableValue objectKindObservable = SWTObservables.observeText(this.txtObject, SWT.Modify); IObservableValue objectAttributeObservable = SWTObservables.observeText(this.txtObjectAttribute, SWT.Modify);/*from w w w. ja va 2 s . co m*/ IEMFEditValueProperty objectPatternProperty = EMFEditProperties.value(editingService.getEditingDomain(), FeaturePath.fromList(MetricsPackage.Literals.MAPPING_COLUMN__DATA_TYPE, MetricsPackage.Literals.IDENTIFIER_DATA_KIND__PATTERN)); IEMFEditValueProperty objectKindProperty = EMFEditProperties.value(editingService.getEditingDomain(), FeaturePath.fromList(MetricsPackage.Literals.MAPPING_COLUMN__DATA_TYPE, MetricsPackage.Literals.IDENTIFIER_DATA_KIND__OBJECT_KIND)); IEMFEditValueProperty objectAttributeProperty = EMFEditProperties.value(editingService.getEditingDomain(), FeaturePath.fromList(MetricsPackage.Literals.MAPPING_COLUMN__DATA_TYPE, MetricsPackage.Literals.IDENTIFIER_DATA_KIND__OBJECT_PROPERTY)); context.bindValue(identifierPatternObservable, objectPatternProperty.observe(mxlsColumn)); EMFUpdateValueStrategy mttObjectKindStrategy = new EMFUpdateValueStrategy(); mttObjectKindStrategy.setConverter(new MTTObjectKindStrategy()); EMFUpdateValueStrategy ttmObjectKindStrategy = new EMFUpdateValueStrategy(); ttmObjectKindStrategy.setConverter(new TTMObjectKindStrategy()); context.bindValue(objectKindObservable, objectKindProperty.observe(mxlsColumn), ttmObjectKindStrategy, mttObjectKindStrategy); /* * A default strategy to delegate to the default converter, for non * specific cases. */ EMFUpdateValueStrategy mttObjectAttributeStrategy = new EMFUpdateValueStrategy(); mttObjectAttributeStrategy.setConverter(new MTTObjectAttributeStrategy()); EMFUpdateValueStrategy ttmObjectAttributeStrategy = new EMFUpdateValueStrategy(); ttmObjectAttributeStrategy.setConverter(new TTMObjectAttributeConverter()); context.bindValue(objectAttributeObservable, objectAttributeProperty.observe(mxlsColumn), ttmObjectAttributeStrategy, mttObjectAttributeStrategy); }
From source file:com.netxforge.netxstudio.screens.nf3.Retention.java
License:Open Source License
private void addCustomUIRule(final Composite cmpRules, final MetricRetentionRule rule, EMFDataBindingContext context, IEMFValueProperty retentionPeriodProperty, IValueProperty cmbSelectionProperty) { // Edit the name of the rule. final Text nameText = toolkit.createText(cmpRules, ""); GridData textLayoutData = new GridData(SWT.RIGHT, SWT.CENTER, false, false, 1, 1); textLayoutData.widthHint = 100;/* w w w . jav a 2s . c o m*/ nameText.setLayoutData(textLayoutData); nameText.setFocus(); final ISWTObservableValue observeTextName = SWTObservables.observeDelayedValue(400, SWTObservables.observeText(nameText, SWT.Modify)); final IEMFEditValueProperty nameProperty = EMFEditProperties.value(editingService.getEditingDomain(), MetricsPackage.Literals.METRIC_RETENTION_RULE__NAME); context.bindValue(observeTextName, nameProperty.observe(rule)); // Edit the interval. final Text intervalText = toolkit.createText(cmpRules, ""); final GridData intervalGridData = new GridData(SWT.RIGHT, SWT.CENTER, false, false, 1, 1); intervalText.setLayoutData(intervalGridData); final ISWTObservableValue observeTextInterval = SWTObservables.observeDelayedValue(400, SWTObservables.observeText(intervalText, SWT.Modify)); final IEMFEditValueProperty intervalModelProperty = EMFEditProperties.value( editingService.getEditingDomain(), MetricsPackage.Literals.METRIC_RETENTION_RULE__INTERVAL_HINT); context.bindValue(observeTextInterval, intervalModelProperty.observe(rule)); // Edit the retention period. final ComboViewer cmbViewerTarget = new ComboViewer(cmpRules, SWT.NONE); final Combo cmbRetentionPeriod = cmbViewerTarget.getCombo(); final GridData gridDataRetentionPeriod = new GridData(SWT.FILL, SWT.CENTER, false, false, 1, 1); gridDataRetentionPeriod.widthHint = 150; cmbRetentionPeriod.setLayoutData(gridDataRetentionPeriod); toolkit.paintBordersFor(cmbRetentionPeriod); final ImageHyperlink mghprlnkEditRetentionExpression = toolkit.createImageHyperlink(cmpRules, SWT.NONE); mghprlnkEditRetentionExpression.setLayoutData(new GridData(SWT.LEFT, SWT.CENTER, false, false, 1, 1)); mghprlnkEditRetentionExpression.addHyperlinkListener(new HyperlinkAdapter() { public void linkActivated(HyperlinkEvent e) { launchExpressionScreen(rule); } }); toolkit.paintBordersFor(mghprlnkEditRetentionExpression); mghprlnkEditRetentionExpression.setText("Edit retention expression"); final ImageHyperlink removeObjectHyperLink = toolkit.createImageHyperlink(cmpRules, SWT.NONE); removeObjectHyperLink.addHyperlinkListener(new HyperlinkAdapter() { public void linkActivated(HyperlinkEvent e) { final CompoundCommand cc = new CompoundCommand(); if (rule.eIsSet(MetricsPackage.Literals.METRIC_RETENTION_RULE__RETENTION_EXPRESSION)) { final Expression retentionExpression = rule.getRetentionExpression(); final Command deleteExpressionCommand = DeleteCommand.create(editingService.getEditingDomain(), retentionExpression); cc.append(deleteExpressionCommand); } final Command deleteRuleCommand = DeleteCommand.create(editingService.getEditingDomain(), rule); cc.append(deleteRuleCommand); editingService.getEditingDomain().getCommandStack().execute(cc); } }); final GridData removeObjectGridData = new GridData(SWT.LEFT, SWT.CENTER, false, false, 1, 1); removeObjectGridData.widthHint = 18; removeObjectHyperLink.setLayoutData(removeObjectGridData); removeObjectHyperLink .setImage(ResourceManager.getPluginImage("org.eclipse.ui", "/icons/full/etool16/delete.gif")); toolkit.paintBordersFor(removeObjectHyperLink); removeObjectHyperLink.setText(""); cmbViewerTarget.setContentProvider(new ArrayContentProvider()); cmbViewerTarget.setLabelProvider(new LabelProvider()); cmbViewerTarget.setInput(MetricRetentionPeriod.values()); context.bindValue(cmbSelectionProperty.observe(cmbViewerTarget), retentionPeriodProperty.observe(rule)); }
From source file:com.netxforge.netxstudio.screens.nf4.NewEditUser.java
License:Open Source License
/** * Converted to new EMF API./*from w ww . ja v a 2 s . c o m*/ * * @return */ public EMFDataBindingContext initDataBindings_() { EMFDataBindingContext bindingContext = new EMFDataBindingContext(); validationService.registerBindingContext(bindingContext); // Validation Strategies EMFUpdateValueStrategy loginStrategy = ValidationService.getStrategyfactory() .strategyBeforeSetStringNotEmpty("Login is required"); EMFUpdateValueStrategy firstNameStrategy = ValidationService.getStrategyfactory() .strategyBeforeSetStringNotEmpty("First name is required"); EMFUpdateValueStrategy lastNameStrategy = ValidationService.getStrategyfactory() .strategyBeforeSetStringNotEmpty("Last name is required"); EMFUpdateValueStrategy emailNameStrategy = ValidationService.getStrategyfactory() .strategyBeforeSetStringNotEmpty("Email is required"); // The active strategy is merely a warning. EMFUpdateValueStrategy activeStrategy = ValidationService.getStrategyfactory() .strategyAfterGet(new IValidator() { public IStatus validate(Object value) { if (value instanceof Boolean) { if (!((Boolean) value).booleanValue()) { // Not active, issue warning. return new Status(IStatus.WARNING, ScreensActivator.PLUGIN_ID, "Person not active, are you sure"); } else { return Status.OK_STATUS; } } else { return new Status(IStatus.ERROR, ScreensActivator.PLUGIN_ID, "Should and will not occure"); } } }); EMFUpdateValueStrategy roleStrategy = ValidationService.getStrategyfactory() .strategyAfterGet(new IValidator() { public IStatus validate(Object value) { if (value == null) { return new Status(IStatus.WARNING, ScreensActivator.PLUGIN_ID, "A role should be selected"); } else { // Any other value should do. return Status.OK_STATUS; } } }); // Bindings IObservableValue textObserveTextObserveWidget_1 = SWTObservables.observeDelayedValue(100, SWTObservables.observeText(txtLogin, SWT.Modify)); IEMFValueProperty userLoginObserveValue_1 = EMFEditProperties.value(editingService.getEditingDomain(), Literals.PERSON__LOGIN); bindingContext.bindValue(textObserveTextObserveWidget_1, userLoginObserveValue_1.observe(user), loginStrategy, null); IObservableValue txtFirstNameObserveTextObserveWidget = SWTObservables.observeDelayedValue(400, SWTObservables.observeText(txtFirstName, SWT.Modify)); // IObservableValue userFirstNameObserveValue = // EMFObservables.observeValue(user, Literals.PERSON__FIRST_NAME); IEMFValueProperty userFirstNameObserveValue = EMFEditProperties.value(editingService.getEditingDomain(), Literals.PERSON__FIRST_NAME); bindingContext.bindValue(txtFirstNameObserveTextObserveWidget, userFirstNameObserveValue.observe(user), firstNameStrategy, null); IObservableValue txtLastNameObserveTextObserveWidget = SWTObservables.observeDelayedValue(400, SWTObservables.observeText(txtLastName, SWT.Modify)); // IObservableValue userLastNameObserveValue = EMFObservables // .observeValue(user, Literals.PERSON__LAST_NAME); IEMFValueProperty userLastNameObserveValue = EMFEditProperties.value(editingService.getEditingDomain(), Literals.PERSON__LAST_NAME); bindingContext.bindValue(txtLastNameObserveTextObserveWidget, userLastNameObserveValue.observe(user), lastNameStrategy, null); IObservableValue txtEmailObserveTextObserveWidget = SWTObservables.observeDelayedValue(400, SWTObservables.observeText(txtEmail, SWT.Modify)); // IObservableValue userEmailObserveValue = EMFObservables.observeValue( // user, Literals.PERSON__EMAIL); IEMFValueProperty userEmailObserveValue = EMFEditProperties.value(editingService.getEditingDomain(), Literals.PERSON__EMAIL); bindingContext.bindValue(txtEmailObserveTextObserveWidget, userEmailObserveValue.observe(user), emailNameStrategy, null); IObservableValue btnCheckObserveSelectionObserveWidget = SWTObservables.observeSelection(btnCheck); IEMFValueProperty userActiveObserveValue = EMFEditProperties.value(editingService.getEditingDomain(), Literals.PERSON__ACTIVE); bindingContext.bindValue(btnCheckObserveSelectionObserveWidget, userActiveObserveValue.observe(user), activeStrategy, null); IObservableValue passwordObservableValue = new WritableValue(); IObservableValue txtPasswordObserveTextObserveWidget = SWTObservables.observeDelayedValue(400, SWTObservables.observeText(txtPass, SWT.Modify)); IObservableValue txtConfirmObserveTextObserveWidget = SWTObservables.observeDelayedValue(400, SWTObservables.observeText(txtConfirm, SWT.Modify)); // NEW CODE, Use a custom MultiValidator, it produces NewPasswordConfirmed newPasswordConfirmed = new NewPasswordConfirmed(bindingContext, new IObservableValue[] { txtPasswordObserveTextObserveWidget, txtConfirmObserveTextObserveWidget }); passwordObservableValue = newPasswordConfirmed .observeValidatedValue(newPasswordConfirmed.getMiddletons().get(0)); // OLD CODE. // Special writable case for password and confirmation, // both share the value changed listener, which only sets the model. // when both passwords are the same. 2 x widgets -> model // PasswordConfirmed confirmedHandler = new PasswordConfirmed( // passwordObservableValue); // txtPasswordObserveTextObserveWidget // .addValueChangeListener(confirmedHandler); // txtConfirmObserveTextObserveWidget // .addValueChangeListener(confirmedHandler); // EMFUpdateValueStrategy passStrategy = ValidationService // .getStrategyfactory().strategyAfterGet(confirmedHandler); EMFUpdateValueStrategy passStrategy = new EMFUpdateValueStrategy(); passStrategy.setConverter(new PasswordConverter()); IEMFValueProperty passwordObserveValue = EMFEditProperties.value(editingService.getEditingDomain(), Literals.PERSON__PASSWORD); // Password, can not be presented (Ok it can but we don't want to), so only target to model. bindingContext.bindValue(passwordObservableValue, passwordObserveValue.observe(user), passStrategy, null); newPasswordConfirmed.revalidateExternal(); // Hand coded binding for a combo. ObservableListContentProvider listContentProvider = new ObservableListContentProvider(); this.getComboViewerWidget().setContentProvider(listContentProvider); IObservableMap observeMap = EMFObservables.observeMap(listContentProvider.getKnownElements(), Literals.ROLE__NAME); this.getComboViewerWidget().setLabelProvider(new ObservableMapLabelProvider(observeMap)); rolesResource = editingService.getData(GenericsPackage.Literals.ROLE); IEMFListProperty l = EMFEditProperties.resource(editingService.getEditingDomain()); IObservableList rolesObservableList = l.observe(rolesResource); // obm.addObservable(rolesObservableList); this.getComboViewerWidget().setInput(rolesObservableList); IObservableValue comboObserveProxy = ViewerProperties.singleSelection().observe(comboViewer); IEMFValueProperty roleObserveValue = EMFEditProperties.value(editingService.getEditingDomain(), Literals.PERSON__ROLES); bindingContext.bindValue(comboObserveProxy, roleObserveValue.observe(user), roleStrategy, null); return bindingContext; }