Example usage for org.eclipse.jface.databinding.swt SWTObservables observeDelayedValue

List of usage examples for org.eclipse.jface.databinding.swt SWTObservables observeDelayedValue

Introduction

In this page you can find the example usage for org.eclipse.jface.databinding.swt SWTObservables observeDelayedValue.

Prototype

@SuppressWarnings("unchecked")
@Deprecated
public static ISWTObservableValue observeDelayedValue(int delay, ISWTObservableValue observable) 

Source Link

Document

Returns an observable which delays notification of value change events from 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).

Usage

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;
}