Example usage for org.eclipse.jface.databinding.swt WidgetProperties selection

List of usage examples for org.eclipse.jface.databinding.swt WidgetProperties selection

Introduction

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

Prototype

public static IWidgetValueProperty selection() 

Source Link

Document

Returns a value property for observing the selection state of a Button , CCombo , Combo , DateTime , List , MenuItem (since 1.5), Scale , Slider (since 1.5) or Spinner .

Usage

From source file:org.fusesource.ide.camel.editor.properties.creators.AbstractBooleanParameterPropertyUICreator.java

License:Open Source License

@Override
protected void init(Composite parent) {
    Button checkBox = getWidgetFactory().createButton(parent, "", SWT.CHECK);
    checkBox.setSelection(getInitialValue());
    checkBox.addSelectionListener(createSelectionListener());
    checkBox.setLayoutData(createPropertyFieldLayoutData());
    setControl(checkBox);/*w  ww .ja va  2  s .  c o  m*/

    setUiObservable(WidgetProperties.selection().observe(checkBox));
}

From source file:org.fusesource.ide.camel.editor.properties.creators.AbstractComboFieldParameterPropertyUICreator.java

License:Open Source License

@Override
protected void init(Composite parent) {
    final Combo comboField = new Combo(parent, createComboStyle());
    for (int i = 0; i < values.length; i++) {
        comboField.add(values[i]);/* w  w w .j a v  a  2  s .c  om*/
    }
    comboField.addModifyListener(modifyListener);
    comboField.setLayoutData(createPropertyFieldLayoutData());
    setControl(comboField);

    setUiObservable(WidgetProperties.selection().observe(comboField));
    setValidator(createValidator());
}

From source file:org.fusesource.ide.camel.editor.properties.DetailsSection.java

License:Open Source License

/**
 * //from www .  j  av a  2  s  . c  o  m
 * @param props
 * @param page
 * @param ignorePathProperties
 * @param group
 */
protected void generateTabContents(List<Parameter> props, final Composite page, boolean ignorePathProperties,
        final String group) {
    props.sort(new ParameterPriorityComparator());
    for (Parameter p : props) {
        final Parameter prop = p;

        String currentPropertyGroup = prop.getGroup();
        if (shouldHidePropertyFromGroup(group, p, currentPropertyGroup)) {
            continue;
        }

        ISWTObservableValue uiObservable = null;
        IObservableList<Object> uiListObservable = null;
        IObservableValue<Object> modelObservable;
        IObservableList<Object> modelListObservable;
        IValidator validator = null;

        createPropertyLabel(toolkit, page, p);

        Control c = null;

        // DESCRIPTION PROPERTIES
        if (CamelComponentUtils.isDescriptionProperty(prop)) {
            new DescriptionParameterPropertyUICreator(dbc, modelMap, eip, selectedEP, p, page,
                    getWidgetFactory()).create();
        } else if (CamelComponentUtils.isBooleanProperty(prop)) {
            new BooleanParameterPropertyUICreatorForDetails(dbc, modelMap, eip, selectedEP, p, page,
                    getWidgetFactory()).create();
        } else if (CamelComponentUtils.isTextProperty(prop) || CamelComponentUtils.isCharProperty(prop)) {
            new TextParameterPropertyUICreator(dbc, modelMap, eip, selectedEP, p, page, getWidgetFactory())
                    .create();
        } else if (CamelComponentUtils.isNumberProperty(prop)) {
            new NumberParameterPropertyUICreatorForDetails(dbc, modelMap, eip, selectedEP, p, page,
                    getWidgetFactory()).create();
        } else if (CamelComponentUtils.isChoiceProperty(prop)) {
            CCombo choiceCombo = new CCombo(page, SWT.BORDER | SWT.FLAT | SWT.READ_ONLY | SWT.SINGLE);
            getWidgetFactory().adapt(choiceCombo, true, true);
            choiceCombo.setEditable(false);
            choiceCombo.setItems(CamelComponentUtils.getChoices(prop));
            String value = (String) (this.selectedEP.getParameter(p.getName()) != null
                    ? this.selectedEP.getParameter(p.getName())
                    : this.eip.getParameter(p.getName()).getDefaultValue());
            for (int i = 0; i < choiceCombo.getItems().length; i++) {
                if (choiceCombo.getItem(i).equalsIgnoreCase(value)) {
                    choiceCombo.select(i);
                    break;
                }
            }
            choiceCombo.addSelectionListener(new SelectionAdapter() {
                /* (non-Javadoc)
                 * @see org.eclipse.swt.events.SelectionAdapter#widgetSelected(org.eclipse.swt.events.SelectionEvent)
                 */
                @Override
                public void widgetSelected(SelectionEvent e) {
                    CCombo choice = (CCombo) e.getSource();
                    selectedEP.setParameter(prop.getName(), choice.getText());
                }
            });
            choiceCombo.setLayoutData(createPropertyFieldLayoutData());
            c = choiceCombo;
            //initialize the map entry
            modelMap.put(p.getName(), choiceCombo.getText());
            // create observables for the control
            uiObservable = WidgetProperties.selection().observe(choiceCombo);
            if (PropertiesUtils.isRequired(p)) {
                validator = new IValidator() {
                    /*
                     * (non-Javadoc)
                     * @see org.eclipse.core.databinding.validation.IValidator#validate(java.lang.Object)
                     */
                    @Override
                    public IStatus validate(Object value) {
                        if (value != null && value instanceof String && value.toString().trim().length() > 0) {
                            return ValidationStatus.ok();
                        }
                        return ValidationStatus.error(
                                "Parameter " + prop.getName() + " is a mandatory field and cannot be empty.");
                    }
                };
            }

            // REF PROPERTIES
        } else if (CamelComponentUtils.isRefProperty(prop)) {
            CCombo choiceCombo = new CCombo(page, SWT.BORDER | SWT.FLAT | SWT.READ_ONLY | SWT.SINGLE);
            getWidgetFactory().adapt(choiceCombo, true, true);
            choiceCombo.setEditable(true);
            choiceCombo.setItems(CamelComponentUtils.getRefs(this.selectedEP.getCamelFile()));
            String value = (String) (this.selectedEP.getParameter(p.getName()) != null
                    ? this.selectedEP.getParameter(p.getName())
                    : this.eip.getParameter(p.getName()).getDefaultValue());
            boolean selected = false;
            for (int i = 0; i < choiceCombo.getItems().length; i++) {
                if (choiceCombo.getItem(i).equalsIgnoreCase(value)) {
                    choiceCombo.select(i);
                    selected = true;
                    break;
                }
            }
            if (!selected && value != null) {
                choiceCombo.setText(value);
            }
            choiceCombo.addSelectionListener(new SelectionAdapter() {
                /* (non-Javadoc)
                 * @see org.eclipse.swt.events.SelectionAdapter#widgetSelected(org.eclipse.swt.events.SelectionEvent)
                 */
                @Override
                public void widgetSelected(SelectionEvent e) {
                    CCombo choice = (CCombo) e.getSource();
                    selectedEP.setParameter(prop.getName(), choice.getText());
                }
            });
            choiceCombo.addModifyListener(new ModifyListener() {

                @Override
                public void modifyText(ModifyEvent e) {
                    CCombo choice = (CCombo) e.getSource();
                    selectedEP.setParameter(prop.getName(), choice.getText());
                }
            });
            choiceCombo.setLayoutData(createPropertyFieldLayoutData());
            c = choiceCombo;
            //initialize the map entry
            modelMap.put(p.getName(), choiceCombo.getText());
            // create observables for the control
            uiObservable = WidgetProperties.selection().observe(choiceCombo);
            validator = new IValidator() {
                @Override
                public IStatus validate(Object value) {
                    // check if value has content
                    if (PropertiesUtils.isRequired(prop)) {
                        if (value == null || !(value instanceof String)
                                || value.toString().trim().length() < 1) {
                            return ValidationStatus.error("Parameter " + prop.getName()
                                    + " is a mandatory field and cannot be empty.");
                        }
                    } else {
                        if (isNotEmptyString(value)
                                && selectedEP.getRouteContainer().findNode((String) value) == null
                                && !selectedEP.getCamelFile().getGlobalDefinitions()
                                        .containsKey((String) value)) {
                            // no ref found - could be something the server provides
                            return ValidationStatus.warning("Parameter " + prop.getName()
                                    + " does not point to an existing reference inside the context.");
                        }
                    }
                    return new RefOrDataFormatUnicityChoiceValidator(selectedEP, prop).validate(value);
                }

                private boolean isNotEmptyString(Object value) {
                    return value != null && value instanceof String && value.toString().trim().length() > 0;
                }
            };

            // FILE PROPERTIES
        } else if (CamelComponentUtils.isFileProperty(prop)) {
            new FileParameterPropertyUICreatorForDetails(dbc, modelMap, eip, selectedEP, p, page,
                    getWidgetFactory()).create();
        } else if (CamelComponentUtils.isListProperty(prop)) {
            org.eclipse.swt.widgets.List list = new org.eclipse.swt.widgets.List(page,
                    SWT.BORDER | SWT.FLAT | SWT.READ_ONLY | SWT.SINGLE);
            getWidgetFactory().adapt(list, true, true);
            list.setLayoutData(createPropertyFieldLayoutData());

            ArrayList<String> listElements = this.selectedEP.getParameter(prop.getName()) != null
                    ? (ArrayList<String>) this.selectedEP.getParameter(prop.getName())
                    : new ArrayList<String>();
            list.setItems(listElements.toArray(new String[listElements.size()]));

            c = list;
            //initialize the map entry
            modelMap.put(p.getName(), Arrays.asList(list.getItems()));
            // create observables for the control
            uiListObservable = WidgetProperties.items().observe(list);
            if (PropertiesUtils.isRequired(p)) {
                validator = new IValidator() {
                    @Override
                    public IStatus validate(Object value) {
                        if (value != null && value instanceof List && !((List<?>) value).isEmpty()) {
                            return ValidationStatus.ok();
                        }
                        return ValidationStatus.error(
                                "Parameter " + prop.getName() + " is a mandatory field and cannot be empty.");
                    }
                };
            }

            // EXPRESSION PROPERTIES
        } else if (CamelComponentUtils.isExpressionProperty(prop)) {
            CCombo choiceCombo = new CCombo(page, SWT.BORDER | SWT.FLAT | SWT.READ_ONLY | SWT.SINGLE);
            getWidgetFactory().adapt(choiceCombo, true, true);
            choiceCombo.setEditable(false);
            choiceCombo.setLayoutData(createPropertyFieldLayoutData());

            final AbstractCamelModelElement expressionElement = this.selectedEP
                    .getParameter(prop.getName()) != null
                            ? (AbstractCamelModelElement) this.selectedEP.getParameter(prop.getName())
                            : null;
            choiceCombo.setItems(CamelComponentUtils.getOneOfList(prop));

            final Composite eform = getWidgetFactory().createFlatFormComposite(page);
            eform.setLayoutData(
                    GridDataFactory.fillDefaults().indent(5, 0).span(4, 1).grab(true, false).create());
            eform.setLayout(new GridLayout(1, true));

            choiceCombo.addSelectionListener(new SelectionAdapter() {
                @Override
                public void widgetSelected(SelectionEvent e) {
                    CCombo choice = (CCombo) e.getSource();
                    String language = choice.getText();
                    languageChanged(language, eform,
                            selectedEP.getParameter(prop.getName()) != null
                                    ? (AbstractCamelModelElement) selectedEP.getParameter(prop.getName())
                                    : null,
                            page, prop);
                }
            });

            if (expressionElement != null) {
                String value = expressionElement.getNodeTypeId();
                Object expressionParameterValue = expressionElement.getParameter("expression");
                if (expressionParameterValue != null
                        && expressionParameterValue instanceof AbstractCamelModelElement) {
                    AbstractCamelModelElement ex = (AbstractCamelModelElement) expressionParameterValue;
                    value = ex.getTranslatedNodeName();
                }
                choiceCombo.deselectAll();
                for (int i = 0; i < choiceCombo.getItems().length; i++) {
                    if (choiceCombo.getItem(i).equalsIgnoreCase(value)) {
                        choiceCombo.select(i);
                        languageChanged(value, eform, expressionElement, page, prop);
                        break;
                    }
                }
            }

            c = choiceCombo;
            //initialize the map entry
            modelMap.put(p.getName(), choiceCombo.getText());
            // create observables for the control
            uiObservable = WidgetProperties.selection().observe(choiceCombo);
            if (PropertiesUtils.isRequired(p)) {
                validator = new IValidator() {
                    @Override
                    public IStatus validate(Object value) {
                        if (value != null && value instanceof String && value.toString().trim().length() > 0) {
                            return ValidationStatus.ok();
                        }
                        return ValidationStatus.error(
                                "Parameter " + prop.getName() + " is a mandatory field and cannot be empty.");
                    }
                };
            }

            // DATAFORMAT PROPERTIES
        } else if (CamelComponentUtils.isDataFormatProperty(prop)) {
            CCombo choiceCombo = new CCombo(page, SWT.BORDER | SWT.FLAT | SWT.READ_ONLY | SWT.SINGLE);
            getWidgetFactory().adapt(choiceCombo, true, true);
            choiceCombo.setEditable(false);
            choiceCombo.setLayoutData(createPropertyFieldLayoutData());

            final AbstractCamelModelElement dataformatElement = selectedEP.getParameter(prop.getName()) != null
                    ? (AbstractCamelModelElement) selectedEP.getParameter(prop.getName())
                    : null;
            choiceCombo.setItems(CamelComponentUtils.getOneOfList(prop));

            final Composite eform = getWidgetFactory().createFlatFormComposite(page);
            eform.setLayoutData(
                    GridDataFactory.fillDefaults().indent(5, 0).span(4, 1).grab(true, false).create());
            eform.setLayout(new GridLayout(1, true));

            choiceCombo.addSelectionListener(new SelectionAdapter() {
                /* (non-Javadoc)
                  * @see org.eclipse.swt.events.SelectionAdapter#widgetSelected(org.eclipse.swt.events.SelectionEvent)
                  */
                @Override
                public void widgetSelected(SelectionEvent e) {
                    CCombo choice = (CCombo) e.getSource();
                    String dataformat = choice.getText();
                    dataFormatChanged(dataformat, eform,
                            selectedEP.getParameter(prop.getName()) != null
                                    ? (AbstractCamelModelElement) selectedEP.getParameter(prop.getName())
                                    : null,
                            page, prop);
                }
            });

            if (dataformatElement != null) {
                String value = dataformatElement.getNodeTypeId();
                choiceCombo.deselectAll();
                for (int i = 0; i < choiceCombo.getItems().length; i++) {
                    if (choiceCombo.getItem(i).equalsIgnoreCase(value)) {
                        choiceCombo.select(i);
                        dataFormatChanged(value, eform, dataformatElement, page, prop);
                        break;
                    }
                }
            }

            c = choiceCombo;
            //initialize the map entry
            modelMap.put(p.getName(), choiceCombo.getText());
            // create observables for the control
            uiObservable = WidgetProperties.selection().observe(choiceCombo);
            if (PropertiesUtils.isRequired(p)) {
                validator = new IValidator() {
                    @Override
                    public IStatus validate(Object value) {
                        if (value != null && value instanceof String && value.toString().trim().length() > 0) {
                            return new RefOrDataFormatUnicityChoiceValidator(selectedEP, prop).validate(value);
                        }
                        return ValidationStatus.error(
                                "Parameter " + prop.getName() + " is a mandatory field and cannot be empty.");

                    }
                };
            }

            // UNSUPPORTED PROPERTIES / REFS
        } else if (CamelComponentUtils.isUnsupportedProperty(prop)) {
            new UnsupportedParameterPropertyUICreatorForDetails(dbc, modelMap, eip, selectedEP, p, page,
                    getWidgetFactory()).create();
        } else if ("redeliveryPolicy".equals(prop.getName())) {
            Object valueToDisplay = (this.selectedEP.getParameter(p.getName()) != null
                    ? this.selectedEP.getParameter(p.getName())
                    : this.eip.getParameter(p.getName()).getDefaultValue());
            if (valueToDisplay instanceof AbstractCamelModelElement) {
                Group objectGroup = getWidgetFactory().createGroup(page, "");
                objectGroup.setLayout(GridLayoutFactory.fillDefaults().numColumns(4).create());
                objectGroup.setLayoutData(
                        GridDataFactory.fillDefaults().indent(5, 0).span(4, 1).grab(true, false).create());
                CamelModel camelModel = getCamelModel((AbstractCamelModelElement) valueToDisplay);
                final Eip eip = camelModel.getEipModel().getEIPByName(prop.getName());
                for (Parameter childParameter : eip.getParameters()) {
                    createPropertyLabel(toolkit, objectGroup, childParameter);

                    // Field
                    Control field = getControlForParameter(childParameter, objectGroup,
                            (AbstractCamelModelElement) valueToDisplay, eip);
                    field.setToolTipText(childParameter.getDescription());
                }
                c = objectGroup;
            }
            // CLASS BASED PROPERTIES - REF OR CLASSNAMES AS STRINGS
        } else {
            new TextParameterPropertyUICreator(dbc, modelMap, eip, selectedEP, p, page, getWidgetFactory())
                    .create();
        }

        // bind the observables
        Binding bindValue = null;
        if (uiObservable != null) {
            // create observables for the Map entries
            modelObservable = Observables.observeMapEntry(modelMap, p.getName());

            // create UpdateValueStrategy and assign to the binding
            UpdateValueStrategy strategy = new UpdateValueStrategy();
            strategy.setBeforeSetValidator(validator);

            bindValue = dbc.bindValue(uiObservable, modelObservable, strategy, null);
        } else if (uiListObservable != null) {
            modelListObservable = Observables.staticObservableList((List) modelMap.get(p.getName()),
                    String.class);
            UpdateListStrategy listStrategy = new UpdateListStrategy() {
                @Override
                protected IStatus doAdd(IObservableList observableList, Object element, int index) {
                    super.doAdd(observableList, element, index);
                    return validateMandatoryBehavior(prop, observableList);
                }

                @Override
                protected IStatus doRemove(IObservableList observableList, int index) {
                    super.doRemove(observableList, index);
                    return validateMandatoryBehavior(prop, observableList);
                }

                private IStatus validateMandatoryBehavior(final Parameter prop,
                        IObservableList observableList) {
                    if (prop.getRequired() != null && "true".equalsIgnoreCase(prop.getRequired())
                            && observableList.isEmpty()) {
                        return ValidationStatus.error(
                                "Parameter " + prop.getName() + " is a mandatory field and cannot be empty.");
                    }
                    return ValidationStatus.ok();
                }
            };
            bindValue = dbc.bindList(uiListObservable, modelListObservable, listStrategy, null);
        }
        if (bindValue != null) {
            ControlDecorationSupport.create(bindValue, SWT.TOP | SWT.LEFT);
        }

        if (c != null) {
            createHelpDecoration(p, c);
        }
    }
    page.layout();
}

From source file:org.fusesource.ide.camel.editor.propertysheet.AdvancedEndpointPropertiesSection.java

License:Open Source License

/**
 * /*from  w  w  w.  j  ava2 s.  com*/
 * @param props
 * @param page
 */
protected void generateTabContents(List<UriParameter> props, final Composite page,
        boolean ignorePathProperties) {
    // display all the properties in alphabetic order - sorting needed
    Collections.sort(props, new Comparator<UriParameter>() {
        /* (non-Javadoc)
         * @see java.util.Comparator#compare(java.lang.Object, java.lang.Object)
         */
        @Override
        public int compare(UriParameter o1, UriParameter o2) {
            return o1.getName().compareTo(o2.getName());
        }
    });

    for (UriParameter p : props) {
        // atm we don't want to care about path parameters
        if (ignorePathProperties && p.getKind().equalsIgnoreCase("path"))
            continue;

        final UriParameter prop = p;

        ISWTObservableValue uiObservable = null;
        IObservableValue modelObservable = null;
        IValidator validator = null;

        String s = Strings.humanize(p.getName());
        if (p.getDeprecated() != null && p.getDeprecated().equalsIgnoreCase("true"))
            s += " (deprecated)";

        Label l = toolkit.createLabel(page, s);
        l.setLayoutData(new GridData());
        if (p.getDescription() != null) {
            l.setToolTipText(p.getDescription());
        }
        if (p.getRequired() != null && p.getRequired().equalsIgnoreCase("true")) {
            l.setForeground(Display.getDefault().getSystemColor(SWT.COLOR_BLUE));
        }

        Control c = null;

        // BOOLEAN PROPERTIES
        if (CamelComponentUtils.isBooleanProperty(prop)) {
            Button checkBox = toolkit.createButton(page, "", SWT.CHECK | SWT.BORDER);
            Boolean b = (Boolean) PropertiesUtils.getTypedPropertyFromUri(selectedEP, prop, component);
            checkBox.setSelection(b);
            checkBox.addSelectionListener(new SelectionAdapter() {
                /* (non-Javadoc)
                 * @see org.eclipse.swt.events.SelectionAdapter#widgetSelected(org.eclipse.swt.events.SelectionEvent)
                 */
                @Override
                public void widgetSelected(SelectionEvent e) {
                    PropertiesUtils.updateURIParams(selectedEP, prop, ((Button) e.getSource()).getSelection(),
                            component, modelMap);
                }
            });
            checkBox.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, false, 3, 1));
            c = checkBox;

            //initialize the map entry
            modelMap.put(p.getName(), checkBox.getSelection());
            // create observables for the control
            uiObservable = WidgetProperties.selection().observe(checkBox);

            // TEXT PROPERTIES
        } else if (CamelComponentUtils.isTextProperty(prop)) {
            Text txtField = toolkit.createText(page,
                    PropertiesUtils.getPropertyFromUri(selectedEP, prop, component),
                    SWT.SINGLE | SWT.BORDER | SWT.LEFT);
            txtField.addModifyListener(new ModifyListener() {
                @Override
                public void modifyText(ModifyEvent e) {
                    Text txt = (Text) e.getSource();
                    PropertiesUtils.updateURIParams(selectedEP, prop, txt.getText(), component, modelMap);
                }
            });
            txtField.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, false, 3, 1));
            c = txtField;
            //initialize the map entry
            modelMap.put(p.getName(), txtField.getText());
            // create observables for the control
            uiObservable = WidgetProperties.text(SWT.Modify).observe(txtField);
            if (p.getRequired() != null && p.getRequired().equalsIgnoreCase("true")) {
                validator = new IValidator() {
                    /*
                     * (non-Javadoc)
                     * @see org.eclipse.core.databinding.validation.IValidator#validate(java.lang.Object)
                     */
                    @Override
                    public IStatus validate(Object value) {
                        if (selectedEP.getUri().startsWith("ref:")) {
                            // check for broken refs
                            String refId = selectedEP.getUri().trim().length() > "ref:".length()
                                    ? selectedEP.getUri().substring("ref:".length())
                                    : null;
                            if (refId == null || refId.trim().length() < 1 || selectedEP.getParent().getParent()
                                    .getCamelContextEndpointUris().get(refId) == null) {
                                return ValidationStatus
                                        .error("The entered reference does not exist in your context!");
                            }
                        }

                        if (value != null && value instanceof String && value.toString().trim().length() > 0) {
                            return ValidationStatus.ok();
                        }
                        return ValidationStatus.error(
                                "Parameter " + prop.getName() + " is a mandatory field and cannot be empty.");
                    }
                };
            }

            // NUMBER PROPERTIES
        } else if (CamelComponentUtils.isNumberProperty(prop)) {
            Text txtField = toolkit.createText(page,
                    PropertiesUtils.getPropertyFromUri(selectedEP, prop, component),
                    SWT.SINGLE | SWT.BORDER | SWT.RIGHT);
            txtField.addModifyListener(new ModifyListener() {
                @Override
                public void modifyText(ModifyEvent e) {
                    Text txt = (Text) e.getSource();
                    String val = txt.getText();
                    try {
                        Double.parseDouble(val);
                        txt.setBackground(ColorConstants.white);
                        PropertiesUtils.updateURIParams(selectedEP, prop, txt.getText(), component, modelMap);
                    } catch (NumberFormatException ex) {
                        // invalid character found
                        txt.setBackground(ColorConstants.red);
                        return;
                    }
                }
            });
            txtField.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, false, 3, 1));
            c = txtField;
            //initialize the map entry
            modelMap.put(p.getName(), txtField.getText());
            // create observables for the control
            uiObservable = WidgetProperties.text(SWT.Modify).observe(txtField);
            validator = new IValidator() {
                /*
                 * (non-Javadoc)
                 * @see org.eclipse.core.databinding.validation.IValidator#validate(java.lang.Object)
                 */
                @Override
                public IStatus validate(Object value) {
                    if (prop.getRequired() != null && prop.getRequired().equalsIgnoreCase("true")
                            && (value == null || value.toString().trim().length() < 1)) {
                        return ValidationStatus.error(
                                "Parameter " + prop.getName() + " is a mandatory field and cannot be empty.");
                    }
                    // only check non-empty fields
                    if (value != null && value.toString().trim().length() > 0) {
                        try {
                            Double.parseDouble(value.toString());
                        } catch (NumberFormatException ex) {
                            return ValidationStatus
                                    .error("The parameter " + prop.getName() + " requires a numeric value.");
                        }
                    }
                    return ValidationStatus.ok();
                }
            };

            // CHOICE PROPERTIES
        } else if (CamelComponentUtils.isChoiceProperty(prop)) {
            CCombo choiceCombo = new CCombo(page, SWT.BORDER | SWT.FLAT | SWT.READ_ONLY | SWT.SINGLE);
            toolkit.adapt(choiceCombo, true, true);
            choiceCombo.setEditable(false);
            choiceCombo.setItems(CamelComponentUtils.getChoices(prop));
            for (int i = 0; i < choiceCombo.getItems().length; i++) {
                if (choiceCombo.getItem(i)
                        .equalsIgnoreCase(PropertiesUtils.getPropertyFromUri(selectedEP, prop, component))) {
                    choiceCombo.select(i);
                    break;
                }
            }
            choiceCombo.addSelectionListener(new SelectionAdapter() {
                /* (non-Javadoc)
                 * @see org.eclipse.swt.events.SelectionAdapter#widgetSelected(org.eclipse.swt.events.SelectionEvent)
                 */
                @Override
                public void widgetSelected(SelectionEvent e) {
                    CCombo choice = (CCombo) e.getSource();
                    PropertiesUtils.updateURIParams(selectedEP, prop, choice.getText(), component, modelMap);
                }
            });
            choiceCombo.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, false, 3, 1));
            c = choiceCombo;
            //initialize the map entry
            modelMap.put(p.getName(), choiceCombo.getText());
            // create observables for the control
            uiObservable = WidgetProperties.selection().observe(choiceCombo);
            if (p.getRequired() != null && p.getRequired().equalsIgnoreCase("true")) {
                validator = new IValidator() {
                    /*
                     * (non-Javadoc)
                     * @see org.eclipse.core.databinding.validation.IValidator#validate(java.lang.Object)
                     */
                    @Override
                    public IStatus validate(Object value) {
                        if (value != null && value instanceof String && value.toString().trim().length() > 0) {
                            return ValidationStatus.ok();
                        }
                        return ValidationStatus.error(
                                "Parameter " + prop.getName() + " is a mandatory field and cannot be empty.");
                    }
                };
            }
            // FILE PROPERTIES
        } else if (CamelComponentUtils.isFileProperty(prop)) {
            final Text txtField = toolkit.createText(page,
                    PropertiesUtils.getPropertyFromUri(selectedEP, prop, component),
                    SWT.SINGLE | SWT.BORDER | SWT.LEFT);
            txtField.addModifyListener(new ModifyListener() {
                @Override
                public void modifyText(ModifyEvent e) {
                    Text txt = (Text) e.getSource();
                    PropertiesUtils.updateURIParams(selectedEP, prop, txt.getText(), component, modelMap);
                }
            });
            txtField.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, false, 2, 1));

            Button btn_browse = toolkit.createButton(page, "...", SWT.BORDER | SWT.PUSH);
            btn_browse.addSelectionListener(new SelectionAdapter() {
                /* (non-Javadoc)
                 * @see org.eclipse.swt.events.SelectionAdapter#widgetSelected(org.eclipse.swt.events.SelectionEvent)
                 */
                @Override
                public void widgetSelected(SelectionEvent e) {
                    DirectoryDialog dd = new DirectoryDialog(page.getShell());
                    String pathName = dd.open();
                    if (pathName != null) {
                        txtField.setText(pathName);
                    }
                }
            });
            btn_browse.setLayoutData(new GridData(SWT.RIGHT, SWT.CENTER, false, false, 1, 1));
            c = txtField;
            if (p.getRequired() != null && p.getRequired().equalsIgnoreCase("true")) {
                validator = new IValidator() {
                    /*
                     * (non-Javadoc)
                     * @see org.eclipse.core.databinding.validation.IValidator#validate(java.lang.Object)
                     */
                    @Override
                    public IStatus validate(Object value) {
                        if (value != null && value instanceof String && value.toString().trim().length() > 0) {
                            return ValidationStatus.ok();
                        }
                        return ValidationStatus.error(
                                "Parameter " + prop.getName() + " is a mandatory field and cannot be empty.");
                    }
                };
            }
            //initialize the map entry
            modelMap.put(p.getName(), txtField.getText());
            // create observables for the control
            uiObservable = WidgetProperties.text(SWT.Modify).observe(txtField);

            // EXPRESSION PROPERTIES
        } else if (CamelComponentUtils.isExpressionProperty(prop)) {
            Text txtField = toolkit.createText(page,
                    PropertiesUtils.getPropertyFromUri(selectedEP, prop, component),
                    SWT.SINGLE | SWT.BORDER | SWT.LEFT);
            txtField.addModifyListener(new ModifyListener() {
                @Override
                public void modifyText(ModifyEvent e) {
                    Text txt = (Text) e.getSource();
                    PropertiesUtils.updateURIParams(selectedEP, prop, txt.getText(), component, modelMap);
                }
            });
            txtField.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, false, 3, 1));
            c = txtField;
            if (p.getRequired() != null && p.getRequired().equalsIgnoreCase("true")) {
                validator = new IValidator() {
                    /*
                     * (non-Javadoc)
                     * @see org.eclipse.core.databinding.validation.IValidator#validate(java.lang.Object)
                     */
                    @Override
                    public IStatus validate(Object value) {
                        if (value != null && value instanceof String && value.toString().trim().length() > 0) {
                            return ValidationStatus.ok();
                        }
                        return ValidationStatus.error(
                                "Parameter " + prop.getName() + " is a mandatory field and cannot be empty.");
                    }
                };
            }
            //initialize the map entry
            modelMap.put(p.getName(), txtField.getText());
            // create observables for the control
            uiObservable = WidgetProperties.text(SWT.Modify).observe(txtField);

            // UNSUPPORTED PROPERTIES / REFS
        } else if (CamelComponentUtils.isUnsupportedProperty(prop)) {

            // TODO: check how to handle lists and maps - for now we treat them as string field only

            Text txtField = toolkit.createText(page,
                    PropertiesUtils.getPropertyFromUri(selectedEP, prop, component),
                    SWT.SINGLE | SWT.BORDER | SWT.LEFT);
            txtField.addModifyListener(new ModifyListener() {
                @Override
                public void modifyText(ModifyEvent e) {
                    Text txt = (Text) e.getSource();
                    PropertiesUtils.updateURIParams(selectedEP, prop, txt.getText(), component, modelMap);
                }
            });
            txtField.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, false, 3, 1));
            c = txtField;
            if (p.getRequired() != null && p.getRequired().equalsIgnoreCase("true")) {
                validator = new IValidator() {
                    /*
                     * (non-Javadoc)
                     * @see org.eclipse.core.databinding.validation.IValidator#validate(java.lang.Object)
                     */
                    @Override
                    public IStatus validate(Object value) {
                        if (value != null && value instanceof String && value.toString().trim().length() > 0) {
                            return ValidationStatus.ok();
                        }
                        return ValidationStatus.error(
                                "Parameter " + prop.getName() + " is a mandatory field and cannot be empty.");
                    }
                };
            }
            //initialize the map entry
            modelMap.put(p.getName(), txtField.getText());
            // create observables for the control
            uiObservable = WidgetProperties.text(SWT.Modify).observe(txtField);

            // CLASS BASED PROPERTIES - REF OR CLASSNAMES AS STRINGS
        } else {
            // must be some class as all other options were missed
            final Text txtField = toolkit.createText(page,
                    PropertiesUtils.getPropertyFromUri(selectedEP, prop, component),
                    SWT.SINGLE | SWT.BORDER | SWT.LEFT);
            txtField.addModifyListener(new ModifyListener() {
                @Override
                public void modifyText(ModifyEvent e) {
                    Text txt = (Text) e.getSource();
                    PropertiesUtils.updateURIParams(selectedEP, prop, txt.getText(), component, modelMap);
                }
            });
            txtField.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, false, 1, 1));

            URLClassLoader child = CamelComponentUtils.getProjectClassLoader();
            Class classToLoad;
            try {
                if (prop.getJavaType().indexOf("<") != -1) {
                    classToLoad = child
                            .loadClass(prop.getJavaType().substring(0, prop.getJavaType().indexOf("<")));
                } else {
                    classToLoad = child.loadClass(prop.getJavaType());
                }
            } catch (ClassNotFoundException ex) {
                Activator.getLogger().warning("Cannot find class " + prop.getJavaType() + " on classpath.", ex);
                classToLoad = null;
            }

            final IProject project = Activator.getDiagramEditor().getCamelContextFile().getProject();
            final Class fClass = classToLoad;

            Button btn_create = toolkit.createButton(page, " + ", SWT.BORDER | SWT.PUSH);
            btn_create.addSelectionListener(new SelectionAdapter() {
                /* (non-Javadoc)
                 * @see org.eclipse.swt.events.SelectionAdapter#widgetSelected(org.eclipse.swt.events.SelectionEvent)
                 */
                @Override
                public void widgetSelected(SelectionEvent e) {
                    NewClassCreationWizard wiz = new NewClassCreationWizard();
                    wiz.addPages();
                    wiz.init(PlatformUI.getWorkbench(), null);
                    NewClassWizardPage wp = (NewClassWizardPage) wiz.getStartingPage();
                    WizardDialog wd = new WizardDialog(e.display.getActiveShell(), wiz);
                    if (fClass.isInterface()) {
                        wp.setSuperInterfaces(Arrays.asList(fClass.getName()), true);
                    } else {
                        wp.setSuperClass(fClass.getName(), true);
                    }
                    wp.setAddComments(true, true);
                    IPackageFragmentRoot fragroot = null;
                    try {
                        IJavaProject javaProject = (IJavaProject) project.getNature(JavaCore.NATURE_ID);
                        IMavenProjectFacade facade = MavenPlugin.getMavenProjectRegistry().create(project,
                                new NullProgressMonitor());
                        IPath[] paths = facade.getCompileSourceLocations();
                        if (paths != null && paths.length > 0) {
                            for (IPath p : paths) {
                                if (p == null)
                                    continue;
                                IResource res = project.findMember(p);
                                fragroot = javaProject.getPackageFragmentRoot(res);
                                break;
                            }
                            if (fragroot != null)
                                wp.setPackageFragmentRoot(fragroot, true);
                            wp.setPackageFragment(PropertiesUtils.getPackage(javaProject, fragroot), true);
                        }
                    } catch (Exception ex) {
                        Activator.getLogger().error(ex);
                    }
                    if (Window.OK == wd.open()) {
                        String value = wp.getCreatedType().getFullyQualifiedName();
                        if (value != null)
                            txtField.setText(value);
                    }
                }
            });
            btn_create.setLayoutData(new GridData(SWT.RIGHT, SWT.CENTER, false, false, 1, 1));
            btn_create.setEnabled(fClass != null);

            Button btn_browse = toolkit.createButton(page, "...", SWT.BORDER | SWT.PUSH);
            btn_browse.addSelectionListener(new SelectionAdapter() {
                /* (non-Javadoc)
                 * @see org.eclipse.swt.events.SelectionAdapter#widgetSelected(org.eclipse.swt.events.SelectionEvent)
                 */
                @Override
                public void widgetSelected(SelectionEvent e) {
                    try {
                        IJavaProject javaProject = (IJavaProject) project.getNature(JavaCore.NATURE_ID);
                        IJavaElement[] elements = new IJavaElement[] { javaProject };
                        IJavaSearchScope scope = SearchEngine.createJavaSearchScope(elements);

                        FilteredTypesSelectionDialog dlg = new FilteredTypesSelectionDialog(
                                Display.getDefault().getActiveShell(), false,
                                PlatformUI.getWorkbench().getProgressService(), scope,
                                IJavaSearchConstants.CLASS);

                        if (Window.OK == dlg.open()) {
                            Object o = dlg.getFirstResult();
                            if (o instanceof SourceType) {
                                txtField.setText(((SourceType) o).getFullyQualifiedName());
                            }
                        }
                    } catch (Exception ex) {
                        Activator.getLogger().error(ex);
                    }
                }
            });
            btn_browse.setLayoutData(new GridData(SWT.RIGHT, SWT.CENTER, false, false, 1, 1));
            btn_browse.setEnabled(fClass != null);
            c = txtField;
            if (p.getRequired() != null && p.getRequired().equalsIgnoreCase("true")) {
                validator = new IValidator() {
                    /*
                     * (non-Javadoc)
                     * @see org.eclipse.core.databinding.validation.IValidator#validate(java.lang.Object)
                     */
                    @Override
                    public IStatus validate(Object value) {
                        if (value != null && value instanceof String && value.toString().trim().length() > 0) {
                            return ValidationStatus.ok();
                        }
                        return ValidationStatus.error(
                                "Parameter " + prop.getName() + " is a mandatory field and cannot be empty.");
                    }
                };
            }
            //initialize the map entry
            modelMap.put(p.getName(), txtField.getText());
            // create observables for the control
            uiObservable = WidgetProperties.text(SWT.Modify).observe(txtField);

        }

        // create UpdateValueStrategy and assign to the binding
        UpdateValueStrategy strategy = new UpdateValueStrategy();
        strategy.setBeforeSetValidator(validator);

        // create observables for the Map entries
        modelObservable = Observables.observeMapEntry(modelMap, p.getName());
        // bind the observables
        Binding bindValue = dbc.bindValue(uiObservable, modelObservable, strategy, null);
        ControlDecorationSupport.create(bindValue, SWT.TOP | SWT.LEFT);

        if (p.getDescription() != null)
            c.setToolTipText(p.getDescription());
    }
}

From source file:org.fusesource.ide.foundation.ui.form.Forms.java

License:Open Source License

public static ISWTObservableValue observe(Button text) {
    return WidgetProperties.selection().observe(text);
}

From source file:org.fusesource.ide.sap.ui.properties.OptionalServerPropertySection.java

License:Open Source License

protected DataBindingContext initDataBindings() {

    DataBindingContext bindingContext = super.initDataBindings();

    ////ww w  .  ja  va  2s  .  c om
    IObservableValue observeSelectionTraceBtnObserveWidget = WidgetProperties.selection().observe(traceBtn);
    IObservableValue managedConnectionFactoryTraceObserveValue = EMFEditProperties
            .value(editingDomain,
                    FeaturePath.fromList(Literals.SERVER_DATA_STORE_ENTRY__VALUE, Literals.SERVER_DATA__TRACE))
            .observe(serverDataStoreEntry);
    UpdateValueStrategy traceStrategy = new UpdateValueStrategy();
    traceStrategy.setConverter(new Boolean2StringConverter());
    UpdateValueStrategy traceModelStrategy = new UpdateValueStrategy();
    traceModelStrategy.setConverter(new String2BooleanConverter());
    bindingContext.bindValue(observeSelectionTraceBtnObserveWidget, managedConnectionFactoryTraceObserveValue,
            traceStrategy, traceModelStrategy);
    //
    IObservableValue observeTextSapRouterTextObserveWidget = WidgetProperties.text(SWT.FocusOut)
            .observe(saprouterText);
    IObservableValue serverDataSapRouterObserveValue = EMFEditProperties.value(editingDomain,
            FeaturePath.fromList(Literals.SERVER_DATA_STORE_ENTRY__VALUE, Literals.SERVER_DATA__SAPROUTER))
            .observe(serverDataStoreEntry);
    UpdateValueStrategy sapRouterStrategy = new UpdateValueStrategy();
    sapRouterStrategy.setBeforeSetValidator(new SapRouterStringValidator());
    saprouterBinding = bindingContext.bindValue(observeTextSapRouterTextObserveWidget,
            serverDataSapRouterObserveValue, sapRouterStrategy, null);
    //
    IObservableValue observeTextWorkerThreadCountTextObserveWidget = WidgetProperties.text(SWT.FocusOut)
            .observe(workerThreadCountText);
    IObservableValue serverDataWorkerThreadCountObserveValue = EMFEditProperties
            .value(editingDomain, FeaturePath.fromList(Literals.SERVER_DATA_STORE_ENTRY__VALUE,
                    Literals.SERVER_DATA__WORKER_THREAD_COUNT))
            .observe(serverDataStoreEntry);
    UpdateValueStrategy workerThreadCountStrategy = new UpdateValueStrategy();
    workerThreadCountStrategy.setBeforeSetValidator(
            new NonNegativeIntegerValidator(Messages.OptionalServerPropertySection_WorkerThreadCountValidator));
    workerThreadCountBinding = bindingContext.bindValue(observeTextWorkerThreadCountTextObserveWidget,
            serverDataWorkerThreadCountObserveValue, workerThreadCountStrategy, null);
    //
    IObservableValue observeTextWorkerThreadMinCountTextObserveWidget = WidgetProperties.text(SWT.FocusOut)
            .observe(workerThreadMinCountText);
    IObservableValue serverDataWorkerThreadMinCountObserveValue = EMFEditProperties
            .value(editingDomain, FeaturePath.fromList(Literals.SERVER_DATA_STORE_ENTRY__VALUE,
                    Literals.SERVER_DATA__WORKER_THREAD_MIN_COUNT))
            .observe(serverDataStoreEntry);
    UpdateValueStrategy workerThreadMinCountStrategy = new UpdateValueStrategy();
    workerThreadMinCountStrategy.setBeforeSetValidator(new NonNegativeIntegerValidator(
            Messages.OptionalServerPropertySection_WorkerThreadMinCountValidator));
    workerThreadMinCountBinding = bindingContext.bindValue(observeTextWorkerThreadMinCountTextObserveWidget,
            serverDataWorkerThreadMinCountObserveValue, workerThreadMinCountStrategy, null);
    //
    IObservableValue observeTextMaxStartupDelayTextObserveWidget = WidgetProperties.text(SWT.FocusOut)
            .observe(maxStartupDelayText);
    IObservableValue serverDataMaxStartupDelayObserveValue = EMFEditProperties.value(editingDomain, FeaturePath
            .fromList(Literals.SERVER_DATA_STORE_ENTRY__VALUE, Literals.SERVER_DATA__MAX_START_UP_DELAY))
            .observe(serverDataStoreEntry);
    UpdateValueStrategy maxStartupDelayStrategy = new UpdateValueStrategy();
    maxStartupDelayStrategy.setBeforeSetValidator(
            new NonNegativeIntegerValidator(Messages.OptionalServerPropertySection_MaxStartupDelayValidator));
    maxStartupDelayBinding = bindingContext.bindValue(observeTextMaxStartupDelayTextObserveWidget,
            serverDataMaxStartupDelayObserveValue, maxStartupDelayStrategy, null);
    //
    IObservableValue observeRepositoryMapTextObserveWidget = WidgetProperties.text(SWT.FocusOut)
            .observe(repositoryMapText);
    IObservableValue serverRepositoryMapObserveValue = EMFEditProperties.value(editingDomain,
            FeaturePath.fromList(Literals.SERVER_DATA_STORE_ENTRY__VALUE, Literals.SERVER_DATA__REPOSITORY_MAP))
            .observe(serverDataStoreEntry);
    bindingContext.bindValue(observeRepositoryMapTextObserveWidget, serverRepositoryMapObserveValue, null,
            null);

    saprouterDecorator = ControlDecorationSupport.create(saprouterBinding, SWT.TOP | SWT.LEFT);
    workerThreadCountDecorator = ControlDecorationSupport.create(workerThreadCountBinding, SWT.TOP | SWT.LEFT);
    workerThreadMinCountDecorator = ControlDecorationSupport.create(workerThreadMinCountBinding,
            SWT.TOP | SWT.LEFT);
    maxStartupDelayDecorator = ControlDecorationSupport.create(maxStartupDelayBinding, SWT.TOP | SWT.LEFT);

    return bindingContext;
}

From source file:org.fusesource.ide.sap.ui.properties.RepositoryPropertySection.java

License:Open Source License

protected DataBindingContext initDataBindings() {

    DataBindingContext bindingContext = super.initDataBindings();

    ///*from   www  .  jav a  2  s  .  c o m*/
    IObservableValue observeTextRepositoryDestinationTextObserveWidget = WidgetProperties.text(SWT.FocusOut)
            .observe(repositoryDestinationText);
    IObservableValue managedConnectionFactoryRepositoryDestObserveValue = EMFEditProperties
            .value(editingDomain, FeaturePath.fromList(Literals.DESTINATION_DATA_STORE_ENTRY__VALUE,
                    Literals.DESTINATION_DATA__REPOSITORY_DEST))
            .observe(destinationDataStoreEntry);
    bindingContext.bindValue(observeTextRepositoryDestinationTextObserveWidget,
            managedConnectionFactoryRepositoryDestObserveValue, null, null);
    //
    IObservableValue observeTextRepositoryUserTextObserveWidget = WidgetProperties.text(SWT.FocusOut)
            .observe(repositoryUserText);
    IObservableValue managedConnectionFactoryRepositoryUserObserveValue = EMFEditProperties
            .value(editingDomain, FeaturePath.fromList(Literals.DESTINATION_DATA_STORE_ENTRY__VALUE,
                    Literals.DESTINATION_DATA__REPOSITORY_USER))
            .observe(destinationDataStoreEntry);
    bindingContext.bindValue(observeTextRepositoryUserTextObserveWidget,
            managedConnectionFactoryRepositoryUserObserveValue, null, null);
    //
    IObservableValue observeTextRepositoryPasswordTextObserveWidget = WidgetProperties.text(SWT.FocusOut)
            .observe(repositoryPasswordText);
    IObservableValue managedConnectionFactoryRepositoryPasswdObserveValue = EMFEditProperties
            .value(editingDomain, FeaturePath.fromList(Literals.DESTINATION_DATA_STORE_ENTRY__VALUE,
                    Literals.DESTINATION_DATA__REPOSITORY_PASSWD))
            .observe(destinationDataStoreEntry);
    bindingContext.bindValue(observeTextRepositoryPasswordTextObserveWidget,
            managedConnectionFactoryRepositoryPasswdObserveValue, null, null);
    //
    IObservableValue observeSelectionRespositorySncBtnObserveWidget = WidgetProperties.selection()
            .observe(respositorySncBtn);
    IObservableValue managedConnectionFactoryRepositorySncObserveValue = EMFEditProperties
            .value(editingDomain, FeaturePath.fromList(Literals.DESTINATION_DATA_STORE_ENTRY__VALUE,
                    Literals.DESTINATION_DATA__REPOSITORY_SNC))
            .observe(destinationDataStoreEntry);
    UpdateValueStrategy strategy_15 = new UpdateValueStrategy();
    strategy_15.setConverter(new Boolean2StringConverter());
    UpdateValueStrategy repositorySncModelStrategy = new UpdateValueStrategy();
    repositorySncModelStrategy.setConverter(new String2BooleanConverter());
    bindingContext.bindValue(observeSelectionRespositorySncBtnObserveWidget,
            managedConnectionFactoryRepositorySncObserveValue, strategy_15, repositorySncModelStrategy);
    //
    IObservableValue observeSelectionRepositoryRoundtripOptimizationBtnObserveWidget = WidgetProperties
            .selection().observe(repositoryRoundtripOptimizationBtn);
    IObservableValue managedConnectionFactoryRepositoryRoundtripOptimizationObserveValue = EMFEditProperties
            .value(editingDomain,
                    FeaturePath.fromList(Literals.DESTINATION_DATA_STORE_ENTRY__VALUE,
                            Literals.DESTINATION_DATA__REPOSITORY_ROUNDTRIP_OPTIMIZATION))
            .observe(destinationDataStoreEntry);
    UpdateValueStrategy strategy_16 = new UpdateValueStrategy();
    strategy_16.setConverter(new Boolean2StringConverter());
    UpdateValueStrategy repositoryRoundtripOptimizationModelStrategy = new UpdateValueStrategy();
    repositoryRoundtripOptimizationModelStrategy.setConverter(new String2BooleanConverter());
    bindingContext.bindValue(observeSelectionRepositoryRoundtripOptimizationBtnObserveWidget,
            managedConnectionFactoryRepositoryRoundtripOptimizationObserveValue, strategy_16,
            repositoryRoundtripOptimizationModelStrategy);

    return bindingContext;
}

From source file:org.fusesource.ide.sap.ui.properties.SncPropertySection.java

License:Open Source License

protected DataBindingContext initDataBindings() {

    DataBindingContext bindingContext = super.initDataBindings();

    ////from ww  w  .j  a  va2s.co m
    IObservableValue observeSelectionSncModeBtnObserveWidget = WidgetProperties.selection().observe(sncModeBtn);
    IObservableValue managedConnectionFactorySncModeObserveValue = EMFEditProperties
            .value(editingDomain, FeaturePath.fromList(Literals.DESTINATION_DATA_STORE_ENTRY__VALUE,
                    Literals.DESTINATION_DATA__SNC_MODE))
            .observe(destinationDataStoreEntry);
    UpdateValueStrategy strategy_13 = new UpdateValueStrategy();
    strategy_13.setConverter(new Boolean2StringConverter());
    UpdateValueStrategy sncModeModelStrategy = new UpdateValueStrategy();
    sncModeModelStrategy.setConverter(new String2BooleanConverter());
    bindingContext.bindValue(observeSelectionSncModeBtnObserveWidget,
            managedConnectionFactorySncModeObserveValue, strategy_13, sncModeModelStrategy);
    //
    IObservableValue observeTextSncPartnernameTextObserveWidget = WidgetProperties.text(SWT.FocusOut)
            .observe(sncPartnernameText);
    IObservableValue managedConnectionFactorySncPartnernameObserveValue = EMFEditProperties
            .value(editingDomain, FeaturePath.fromList(Literals.DESTINATION_DATA_STORE_ENTRY__VALUE,
                    Literals.DESTINATION_DATA__SNC_PARTNERNAME))
            .observe(destinationDataStoreEntry);
    bindingContext.bindValue(observeTextSncPartnernameTextObserveWidget,
            managedConnectionFactorySncPartnernameObserveValue, null, null);
    //
    IObservableValue observeSingleSelectionIndexSncQopComboObserveWidget = WidgetProperties
            .singleSelectionIndex().observe(sncQopCombo);
    IObservableValue managedConnectionFactorySncQopObserveValue = EMFEditProperties
            .value(editingDomain, FeaturePath.fromList(Literals.DESTINATION_DATA_STORE_ENTRY__VALUE,
                    Literals.DESTINATION_DATA__SNC_QOP))
            .observe(destinationDataStoreEntry);
    UpdateValueStrategy strategy_14 = new UpdateValueStrategy();
    strategy_14.setConverter(new SncQosComboSelection2SncQosConverter());
    UpdateValueStrategy sncQopModelStrategy = new UpdateValueStrategy();
    sncQopModelStrategy.setConverter(new SncQos2SncQosComboSelectionConverter());
    bindingContext.bindValue(observeSingleSelectionIndexSncQopComboObserveWidget,
            managedConnectionFactorySncQopObserveValue, strategy_14, sncQopModelStrategy);
    //
    IObservableValue observeTextSncMynameTextObserveWidget = WidgetProperties.text(SWT.FocusOut)
            .observe(sncMynameText);
    IObservableValue managedConnectionFactorySncMynameObserveValue = EMFEditProperties
            .value(editingDomain, FeaturePath.fromList(Literals.DESTINATION_DATA_STORE_ENTRY__VALUE,
                    Literals.DESTINATION_DATA__SNC_MYNAME))
            .observe(destinationDataStoreEntry);
    bindingContext.bindValue(observeTextSncMynameTextObserveWidget,
            managedConnectionFactorySncMynameObserveValue, null, null);
    //
    IObservableValue observeTextSncLibraryTextObserveWidget = WidgetProperties.text(SWT.FocusOut)
            .observe(sncLibraryText);
    IObservableValue managedConnectionFactorySncLibraryObserveValue = EMFEditProperties
            .value(editingDomain, FeaturePath.fromList(Literals.DESTINATION_DATA_STORE_ENTRY__VALUE,
                    Literals.DESTINATION_DATA__SNC_LIBRARY))
            .observe(destinationDataStoreEntry);
    bindingContext.bindValue(observeTextSncLibraryTextObserveWidget,
            managedConnectionFactorySncLibraryObserveValue, null, null);

    return bindingContext;
}

From source file:org.fusesource.ide.sap.ui.properties.SncServerPropertySection.java

License:Open Source License

protected DataBindingContext initDataBindings() {

    DataBindingContext bindingContext = super.initDataBindings();

    ////from  w  w w.j a  v a2s.c  o m
    IObservableValue observeSelectionSncModeBtnObserveWidget = WidgetProperties.selection().observe(sncModeBtn);
    IObservableValue managedConnectionFactorySncModeObserveValue = EMFEditProperties.value(editingDomain,
            FeaturePath.fromList(Literals.SERVER_DATA_STORE_ENTRY__VALUE, Literals.SERVER_DATA__SNC_MODE))
            .observe(serverDataStoreEntry);
    UpdateValueStrategy strategy_13 = new UpdateValueStrategy();
    strategy_13.setConverter(new Boolean2StringConverter());
    UpdateValueStrategy sncModeModelStrategy = new UpdateValueStrategy();
    sncModeModelStrategy.setConverter(new String2BooleanConverter());
    bindingContext.bindValue(observeSelectionSncModeBtnObserveWidget,
            managedConnectionFactorySncModeObserveValue, strategy_13, sncModeModelStrategy);
    //
    IObservableValue observeSingleSelectionIndexSncQopComboObserveWidget = WidgetProperties
            .singleSelectionIndex().observe(sncQopCombo);
    IObservableValue managedConnectionFactorySncQopObserveValue = EMFEditProperties.value(editingDomain,
            FeaturePath.fromList(Literals.SERVER_DATA_STORE_ENTRY__VALUE, Literals.SERVER_DATA__SNC_QOP))
            .observe(serverDataStoreEntry);
    UpdateValueStrategy sncQopStategy = new UpdateValueStrategy();
    sncQopStategy.setConverter(new SncQosComboSelection2SncQosConverter());
    UpdateValueStrategy sncQopModelStrategy = new UpdateValueStrategy();
    sncQopModelStrategy.setConverter(new SncQos2SncQosComboSelectionConverter());
    bindingContext.bindValue(observeSingleSelectionIndexSncQopComboObserveWidget,
            managedConnectionFactorySncQopObserveValue, sncQopStategy, sncQopModelStrategy);
    //
    IObservableValue observeTextSncMynameTextObserveWidget = WidgetProperties.text(SWT.FocusOut)
            .observe(sncMynameText);
    IObservableValue managedConnectionFactorySncMynameObserveValue = EMFEditProperties.value(editingDomain,
            FeaturePath.fromList(Literals.SERVER_DATA_STORE_ENTRY__VALUE, Literals.SERVER_DATA__SNC_MYNAME))
            .observe(serverDataStoreEntry);
    bindingContext.bindValue(observeTextSncMynameTextObserveWidget,
            managedConnectionFactorySncMynameObserveValue, null, null);
    //
    IObservableValue observeTextSncLibraryTextObserveWidget = WidgetProperties.text(SWT.FocusOut)
            .observe(sncLibraryText);
    IObservableValue managedConnectionFactorySncLibraryObserveValue = EMFEditProperties.value(editingDomain,
            FeaturePath.fromList(Literals.SERVER_DATA_STORE_ENTRY__VALUE, Literals.SERVER_DATA__SNC_LIB))
            .observe(serverDataStoreEntry);
    bindingContext.bindValue(observeTextSncLibraryTextObserveWidget,
            managedConnectionFactorySncLibraryObserveValue, null, null);

    return bindingContext;
}

From source file:org.fusesource.ide.sap.ui.properties.SpecialPropertySection.java

License:Open Source License

protected DataBindingContext initDataBindings() {

    DataBindingContext bindingContext = super.initDataBindings();

    ///*from  ww  w .  j a v a  2 s  . co m*/
    IObservableValue observeSelectionTraceBtnObserveWidget = WidgetProperties.selection().observe(traceBtn);
    IObservableValue managedConnectionFactoryTraceObserveValue = EMFEditProperties
            .value(editingDomain, FeaturePath.fromList(Literals.DESTINATION_DATA_STORE_ENTRY__VALUE,
                    Literals.DESTINATION_DATA__TRACE))
            .observe(destinationDataStoreEntry);
    UpdateValueStrategy traceStrategy = new UpdateValueStrategy();
    traceStrategy.setConverter(new Boolean2StringConverter());
    UpdateValueStrategy traceModelStrategy = new UpdateValueStrategy();
    traceModelStrategy.setConverter(new String2BooleanConverter());
    bindingContext.bindValue(observeSelectionTraceBtnObserveWidget, managedConnectionFactoryTraceObserveValue,
            traceStrategy, traceModelStrategy);
    //
    IObservableValue observeSelectionCpicTraceComboObserveWidget = WidgetProperties.singleSelectionIndex()
            .observe(cpicTraceCombo);
    IObservableValue managedConnectionFactoryCpicTraceObserveValue = EMFEditProperties
            .value(editingDomain, FeaturePath.fromList(Literals.DESTINATION_DATA_STORE_ENTRY__VALUE,
                    Literals.DESTINATION_DATA__CPIC_TRACE))
            .observe(destinationDataStoreEntry);
    UpdateValueStrategy strategy_4 = new UpdateValueStrategy();
    strategy_4.setConverter(new CpicTraceComboSelection2TraceLevelConverter());
    UpdateValueStrategy cpicTraceStrategy = new UpdateValueStrategy();
    cpicTraceStrategy.setConverter(new TraceLevel2CpicTraceComboSelectionConverter());
    bindingContext.bindValue(observeSelectionCpicTraceComboObserveWidget,
            managedConnectionFactoryCpicTraceObserveValue, strategy_4, cpicTraceStrategy);
    //
    IObservableValue observeSelectionLcheckBtnObserveWidget = WidgetProperties.selection().observe(lcheckBtn);
    IObservableValue managedConnectionFactoryLcheckObserveValue = EMFEditProperties
            .value(editingDomain, FeaturePath.fromList(Literals.DESTINATION_DATA_STORE_ENTRY__VALUE,
                    Literals.DESTINATION_DATA__LCHECK))
            .observe(destinationDataStoreEntry);
    UpdateValueStrategy strategy_5 = new UpdateValueStrategy();
    strategy_5.setConverter(new Boolean2StringConverter());
    UpdateValueStrategy lcheckModelStrategy = new UpdateValueStrategy();
    lcheckModelStrategy.setConverter(new String2BooleanConverter());
    bindingContext.bindValue(observeSelectionLcheckBtnObserveWidget, managedConnectionFactoryLcheckObserveValue,
            strategy_5, lcheckModelStrategy);
    //
    IObservableValue observeTextCodepageTextObserveWidget = WidgetProperties.text(SWT.FocusOut)
            .observe(codepageText);
    IObservableValue managedConnectionFactoryCodepageObserveValue = EMFEditProperties
            .value(editingDomain, FeaturePath.fromList(Literals.DESTINATION_DATA_STORE_ENTRY__VALUE,
                    Literals.DESTINATION_DATA__CODEPAGE))
            .observe(destinationDataStoreEntry);
    bindingContext.bindValue(observeTextCodepageTextObserveWidget, managedConnectionFactoryCodepageObserveValue,
            null, null);
    //
    IObservableValue observeSelectionGetsso2BtnObserveWidget = WidgetProperties.selection().observe(getsso2Btn);
    IObservableValue managedConnectionFactoryGetsso2ObserveValue = EMFEditProperties
            .value(editingDomain, FeaturePath.fromList(Literals.DESTINATION_DATA_STORE_ENTRY__VALUE,
                    Literals.DESTINATION_DATA__GETSSO2))
            .observe(destinationDataStoreEntry);
    UpdateValueStrategy strategy_6 = new UpdateValueStrategy();
    strategy_6.setConverter(new Boolean2StringConverter());
    UpdateValueStrategy getssoModelStrategy = new UpdateValueStrategy();
    getssoModelStrategy.setConverter(new String2BooleanConverter());
    bindingContext.bindValue(observeSelectionGetsso2BtnObserveWidget,
            managedConnectionFactoryGetsso2ObserveValue, strategy_6, getssoModelStrategy);
    //
    IObservableValue observeSelectionDenyInitialPasswordBtnObserveWidget = WidgetProperties.selection()
            .observe(denyInitialPasswordBtn);
    IObservableValue managedConnectionFactoryDenyInitialPasswordObserveValue = EMFEditProperties
            .value(editingDomain,
                    FeaturePath.fromList(Literals.DESTINATION_DATA_STORE_ENTRY__VALUE,
                            Literals.DESTINATION_DATA__DENY_INITIAL_PASSWORD))
            .observe(destinationDataStoreEntry);
    UpdateValueStrategy strategy_7 = new UpdateValueStrategy();
    strategy_7.setConverter(new Boolean2StringConverter());
    UpdateValueStrategy denyInitialPasswordModelStrategy = new UpdateValueStrategy();
    denyInitialPasswordModelStrategy.setConverter(new String2BooleanConverter());
    bindingContext.bindValue(observeSelectionDenyInitialPasswordBtnObserveWidget,
            managedConnectionFactoryDenyInitialPasswordObserveValue, strategy_7,
            denyInitialPasswordModelStrategy);

    return bindingContext;
}