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

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

Introduction

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

Prototype

@Deprecated
public static ISWTObservableValue observeText(Control control, int event) 

Source Link

Document

Returns an observable observing the text attribute of the provided control.

Usage

From source file:oida.model.integration.ui.editors.MatchingEditor.java

License:Open Source License

protected DataBindingContext initDataBindings() {
    DataBindingContext bindingContext = new DataBindingContext();
    ////from   w ww .  j av a2  s .  c  o  m
    IObservableValue textFileNameObserveTextObserveWidget = SWTObservables.observeText(textFileName,
            SWT.Modify);
    IObservableValue recommendationProviderSourceOntologyFileNameObserveValue = BeansObservables
            .observeValue(recommendationProvider, "sourceOntologyFileName");
    bindingContext.bindValue(textFileNameObserveTextObserveWidget,
            recommendationProviderSourceOntologyFileNameObserveValue, null, null);
    //
    IObservableValue btnDeclineObserveTextObserveWidget = SWTObservables.observeText(btnConfirm);
    IObservableValue recommendationProviderButtonStringObserveValue = BeansObservables
            .observeValue(recommendationProvider, "buttonString");
    bindingContext.bindValue(btnDeclineObserveTextObserveWidget, recommendationProviderButtonStringObserveValue,
            null, null);
    //
    IObservableValue txtSourceResourceObserveTextObserveWidget = SWTObservables.observeText(txtSourceResource);
    IObservableValue recommendationProviderMappingStatusObserveValue = BeansObservables
            .observeValue(recommendationProvider, "mappingStatus");
    bindingContext.bindValue(txtSourceResourceObserveTextObserveWidget,
            recommendationProviderMappingStatusObserveValue, null, null);
    //
    ObservableListContentProvider listContentProvider = new ObservableListContentProvider();
    listViewerModelReference.setContentProvider(listContentProvider);
    //
    IObservableMap observeMap = PojoObservables.observeMap(listContentProvider.getKnownElements(),
            Individual.class, "localName");
    listViewerModelReference.setLabelProvider(new ObservableMapLabelProvider(observeMap));
    //
    IObservableList recommendationProviderCurrentIndividualCandidatesObserveList = BeansObservables
            .observeList(Realm.getDefault(), recommendationProvider, "currentIndividualCandidates");
    listViewerModelReference.setInput(recommendationProviderCurrentIndividualCandidatesObserveList);
    //
    ObservableListContentProvider listContentProvider_1 = new ObservableListContentProvider();
    listViewerMetamodelReference.setContentProvider(listContentProvider_1);
    //
    IObservableMap observeMap_1 = PojoObservables.observeMap(listContentProvider_1.getKnownElements(),
            OntResource.class, "localName");
    listViewerMetamodelReference.setLabelProvider(new ObservableMapLabelProvider(observeMap_1));
    //
    IObservableList recommendationProviderMetaCandiatesOntResourcesObserveList = BeansObservables
            .observeList(Realm.getDefault(), recommendationProvider, "metaCandiatesOntResources");
    listViewerMetamodelReference.setInput(recommendationProviderMetaCandiatesOntResourcesObserveList);
    //
    return bindingContext;
}

From source file:oida.model.integration.ui.editors.MatchingTreeEditor.java

License:Open Source License

protected DataBindingContext initDataBindings() {
    DataBindingContext bindingContext = new DataBindingContext();
    ///*from   w w w . ja  va  2 s  .  com*/
    IObservableValue textFileNameObserveTextObserveWidget = SWTObservables.observeText(textFileName,
            SWT.Modify);
    IObservableValue recommendationProviderSourceOntologyFileNameObserveValue = BeansObservables
            .observeValue(recommendationProvider, "sourceOntologyFileName");
    bindingContext.bindValue(textFileNameObserveTextObserveWidget,
            recommendationProviderSourceOntologyFileNameObserveValue, null, null);
    //
    IObservableValue btnDeclineObserveTextObserveWidget = SWTObservables.observeText(btnConfirm);
    IObservableValue recommendationProviderButtonStringObserveValue = BeansObservables
            .observeValue(recommendationProvider, "buttonString");
    bindingContext.bindValue(btnDeclineObserveTextObserveWidget, recommendationProviderButtonStringObserveValue,
            null, null);
    //
    IObservableValue txtSourceResourceObserveTextObserveWidget = SWTObservables.observeText(txtSourceResource);
    IObservableValue recommendationProviderMappingStatusObserveValue = BeansObservables
            .observeValue(recommendationProvider, "mappingStatus");
    bindingContext.bindValue(txtSourceResourceObserveTextObserveWidget,
            recommendationProviderMappingStatusObserveValue, null, null);
    //
    ObservableListContentProvider listContentProvider = new ObservableListContentProvider();
    listViewerModelReference.setContentProvider(listContentProvider);
    //
    IObservableMap observeMap = PojoObservables.observeMap(listContentProvider.getKnownElements(),
            Individual.class, "localName");
    listViewerModelReference.setLabelProvider(new ObservableMapLabelProvider(observeMap));
    //
    IObservableList recommendationProviderCurrentIndividualCandidatesObserveList = BeansObservables
            .observeList(Realm.getDefault(), recommendationProvider, "currentIndividualCandidates");
    listViewerModelReference.setInput(recommendationProviderCurrentIndividualCandidatesObserveList);
    //
    return bindingContext;
}

From source file:org.bbaw.bts.ui.main.test.Snippet008ComputedValue.java

License:Open Source License

/**
 * @param args/*from w  w w.  j  av  a 2s .com*/
 */
public static void main(String[] args) {
    final Display display = new Display();
    Realm.runWithDefault(SWTObservables.getRealm(display), new Runnable() {
        public void run() {
            Shell shell = new Shell(display);
            shell.setLayout(new FillLayout());

            final UI ui = new UI(shell);
            final Data data = new Data();

            // Bind the UI to the Data.
            DataBindingContext dbc = new DataBindingContext();
            dbc.bindValue(SWTObservables.observeText(ui.firstName, SWT.Modify), data.firstName);
            dbc.bindValue(SWTObservables.observeText(ui.lastName, SWT.Modify), data.lastName);

            // Construct the formatted name observable.
            FormattedName formattedName = new FormattedName(data.firstName, data.lastName);

            // Bind the formatted name Text to the formatted name
            // observable.
            dbc.bindValue(SWTObservables.observeText(ui.formattedName, SWT.None), formattedName,
                    new UpdateValueStrategy(false, UpdateValueStrategy.POLICY_NEVER), null);

            shell.pack();
            shell.open();
            while (!shell.isDisposed()) {
                if (!display.readAndDispatch())
                    display.sleep();
            }
        }
    });
    display.dispose();
}

From source file:org.bonitasoft.studio.actors.ui.editingsupport.CustomerUserInformationDefinitionDescriptionEditingSupport.java

License:Open Source License

@Override
protected IObservableValue doCreateCellEditorObservable(CellEditor cellEditor) {
    return SWTObservables.observeText(cellEditor.getControl(), SWT.Modify);
}

From source file:org.bonitasoft.studio.actors.ui.wizard.page.DefaultUserOrganizationWizardPage.java

License:Open Source License

public void createBindings() {

    UpdateValueStrategy strategy = new UpdateValueStrategy();
    strategy.setAfterGetValidator(new EmptyInputValidator(Messages.userName));
    strategy.setBeforeSetValidator(new IValidator() {
        @Override/*  w w w . jav  a 2s  .c om*/
        public IStatus validate(Object value) {
            String user = (String) value;
            if (!usernames.contains(user)) {
                return ValidationStatus.error(Messages.bind(Messages.UserDoesntExistError, user));
            }
            return Status.OK_STATUS;

        }
    });
    binding = context.bindValue(SWTObservables.observeText(usernameText, SWT.Modify),
            PojoProperties.value(DefaultUserOrganizationWizardPage.class, "user").observe(this), strategy,
            null);
}

From source file:org.bonitasoft.studio.actors.ui.wizard.page.GroupsWizardPage.java

License:Open Source License

private void refreshBinding(final org.bonitasoft.studio.actors.model.organization.Group selectedGroup) {
    if (context != null) {
        context.dispose();//from   w w w .j a v  a2 s. c  o m
    }
    if (pageSupport != null) {
        pageSupport.dispose();
    }
    context = new EMFDataBindingContext();

    groupMemberShips.clear();
    if (selectedGroup != null) {
        setControlEnabled(getInfoGroup(), true);

        for (Membership m : membershipList) {
            if (selectedGroup.getName() != null && selectedGroup.getName().equals(m.getGroupName())
                    && ((selectedGroup.getParentPath() != null
                            && selectedGroup.getParentPath().equals(m.getGroupParentPath())
                            || (selectedGroup.getParentPath() == null && m.getGroupParentPath() == null)))) {
                groupMemberShips.add(m);
            }
        }

        IObservableValue groupNameValue = EMFObservables.observeValue(selectedGroup,
                OrganizationPackage.Literals.GROUP__NAME);
        groupNameValue.addValueChangeListener(new IValueChangeListener() {

            @Override
            public void handleValueChange(ValueChangeEvent event) {
                handleGroupNameChange(event);
            }
        });

        IObservableValue groupParentPathValue = EMFObservables.observeValue(selectedGroup,
                OrganizationPackage.Literals.GROUP__PARENT_PATH);
        groupParentPathValue.addValueChangeListener(new IValueChangeListener() {

            @Override
            public void handleValueChange(ValueChangeEvent event) {
                handleGroupParentPathChange(event);
            }
        });

        UpdateValueStrategy strategy = new UpdateValueStrategy();
        groupNameValidator.setValidator(new IValidator() {

            @Override
            public IStatus validate(Object value) {
                if (value.toString().isEmpty()) {
                    return ValidationStatus.error(Messages.nameIsEmpty);
                }
                if (value.toString().contains("/")) {
                    return ValidationStatus.error(Messages.illegalCharacter);
                }
                for (org.bonitasoft.studio.actors.model.organization.Group g : groupList) {
                    if (!g.equals(selectedGroup)) {
                        if (g.getName().equals(value) && ((g.getParentPath() != null
                                && g.getParentPath().equals(selectedGroup.getParentPath()))
                                || (g.getParentPath() == null && selectedGroup.getParentPath() == null))) {
                            return ValidationStatus.error(Messages.groupNameAlreadyExistsForLevel);
                        }
                    }
                }
                return Status.OK_STATUS;
            }
        });
        strategy.setAfterGetValidator(groupNameValidator);
        IObservableValue descriptionValue = EMFObservables.observeValue(selectedGroup,
                OrganizationPackage.Literals.GROUP__DESCRIPTION);
        IObservableValue displayNameValue = EMFObservables.observeValue(selectedGroup,
                OrganizationPackage.Literals.GROUP__DISPLAY_NAME);

        context.bindValue(SWTObservables.observeText(groupNameText, SWT.Modify), groupNameValue, strategy,
                new UpdateValueStrategy());
        context.bindValue(SWTObservables.observeDelayedValue(500,
                SWTObservables.observeText(groupDescriptionText, SWT.Modify)), descriptionValue);
        UpdateValueStrategy startegy = new UpdateValueStrategy();
        startegy.setConverter(new Converter(String.class, String.class) {

            @Override
            public Object convert(Object from) {
                Display.getDefault().asyncExec(new Runnable() {

                    @Override
                    public void run() {
                        getViewer().refresh(selectedGroup);
                    }
                });

                return from;
            }

        });
        context.bindValue(SWTObservables.observeText(displayNamedText, SWT.Modify), displayNameValue, startegy,
                null);

        pathText.setText(GroupContentProvider.getGroupPath(selectedGroup));
        addSubGroupButton.setEnabled(true);
    } else {
        displayNamedText.setText("");
        groupDescriptionText.setText("");
        groupNameText.setText("");
        pathText.setText("");
        addSubGroupButton.setEnabled(false);
        setControlEnabled(getInfoGroup(), false);
    }
    pageSupport = WizardPageSupportWithoutMessages.create(this, context);
}

From source file:org.bonitasoft.studio.actors.ui.wizard.page.NewOrganizationWizardPage.java

License:Open Source License

@Override
public void createControl(Composite parent) {

    final EMFDataBindingContext emfDatabindingContext = new EMFDataBindingContext();

    Composite mainComposite = new Composite(parent, SWT.NONE);
    mainComposite.setLayoutData(GridDataFactory.fillDefaults().grab(true, true).create());
    mainComposite.setLayout(GridLayoutFactory.fillDefaults().numColumns(2).margins(15, 20).spacing(5, 15)
            .equalWidth(false).create());

    Label nameLabel = new Label(mainComposite, SWT.NONE);
    nameLabel.setLayoutData(GridDataFactory.fillDefaults().align(SWT.END, SWT.CENTER).create());
    nameLabel.setText(Messages.name);/*www  .j  av a 2  s  .  c  o  m*/

    Text nameText = new Text(mainComposite, SWT.BORDER);
    nameText.setLayoutData(GridDataFactory.fillDefaults().grab(false, false).hint(300, SWT.DEFAULT).create());
    emfDatabindingContext.bindValue(SWTObservables.observeText(nameText, SWT.Modify),
            EMFObservables.observeValue(organization, OrganizationPackage.Literals.ORGANIZATION__NAME));

    Label descriptionLabel = new Label(mainComposite, SWT.NONE);
    descriptionLabel.setLayoutData(GridDataFactory.fillDefaults().align(SWT.END, SWT.TOP).create());
    descriptionLabel.setText(Messages.description);

    Text descriptionText = new Text(mainComposite, SWT.BORDER | SWT.WRAP | SWT.MULTI | SWT.V_SCROLL);
    descriptionText
            .setLayoutData(GridDataFactory.fillDefaults().grab(true, false).hint(SWT.DEFAULT, 100).create());
    emfDatabindingContext.bindValue(SWTObservables.observeText(descriptionText, SWT.Modify),
            EMFObservables.observeValue(organization, OrganizationPackage.Literals.ORGANIZATION__DESCRIPTION));

    setControl(mainComposite);
}

From source file:org.bonitasoft.studio.actors.ui.wizard.page.RolesWizardPage.java

License:Open Source License

private void refreshBinding(final Role selectedRole) {
    if (context != null) {
        context.dispose();//from   w ww  .  jav a 2s  .  co m
    }
    if (pageSupport != null) {
        pageSupport.dispose();
    }
    context = new EMFDataBindingContext();

    roleMemberShips.clear();
    if (selectedRole != null) {
        setControlEnabled(getInfoGroup(), true);

        for (Membership m : membershipList) {
            if (selectedRole.getName() != null && selectedRole.getName().equals(m.getRoleName())) {
                roleMemberShips.add(m);
            }
        }

        UpdateValueStrategy strategy = new UpdateValueStrategy();
        roleNameValidator.setValidator(new IValidator() {

            @Override
            public IStatus validate(Object value) {
                if (value.toString().isEmpty()) {
                    return ValidationStatus.error(Messages.nameIsEmpty);
                }

                for (Role r : roleList) {
                    if (!r.equals(selectedRole)) {
                        if (r.getName().equals(value)) {
                            return ValidationStatus.error(Messages.roleNameAlreadyExists);
                        }
                    }
                }
                return Status.OK_STATUS;
            }
        });
        strategy.setAfterGetValidator(roleNameValidator);
        IObservableValue value = EMFObservables.observeValue(selectedRole,
                OrganizationPackage.Literals.ROLE__NAME);
        value.addValueChangeListener(new IValueChangeListener() {

            @Override
            public void handleValueChange(ValueChangeEvent event) {
                Role role = (Role) ((EObjectObservableValue) event.getObservable()).getObserved();
                getViewer().refresh(role);
                for (Membership m : roleMemberShips) {
                    m.setRoleName(role.getName());
                }
            }
        });

        IObservableValue descriptionValue = EMFObservables.observeValue(selectedRole,
                OrganizationPackage.Literals.ROLE__DESCRIPTION);
        descriptionValue.addValueChangeListener(new IValueChangeListener() {

            @Override
            public void handleValueChange(ValueChangeEvent event) {
                Role role = (Role) ((EObjectObservableValue) event.getObservable()).getObserved();
                getViewer().refresh(role);
            }
        });

        IObservableValue displayNameValue = EMFObservables.observeValue(selectedRole,
                OrganizationPackage.Literals.ROLE__DISPLAY_NAME);
        displayNameValue.addValueChangeListener(new IValueChangeListener() {

            @Override
            public void handleValueChange(ValueChangeEvent event) {
                Role role = (Role) ((EObjectObservableValue) event.getObservable()).getObserved();
                getViewer().refresh(role);
            }
        });

        context.bindValue(
                SWTObservables.observeDelayedValue(500, SWTObservables.observeText(roleNameText, SWT.Modify)),
                value, strategy, new UpdateValueStrategy());
        context.bindValue(SWTObservables.observeDelayedValue(500,
                SWTObservables.observeText(roleDescriptionText, SWT.Modify)), descriptionValue);
        context.bindValue(SWTObservables.observeText(displayNamedText, SWT.Modify), displayNameValue);

    } else {
        displayNamedText.setText("");
        roleDescriptionText.setText("");
        roleNameText.setText("");
        setControlEnabled(getInfoGroup(), false);
    }
    pageSupport = WizardPageSupportWithoutMessages.create(this, context);
}

From source file:org.bonitasoft.studio.actors.ui.wizard.page.UsersWizardPage.java

License:Open Source License

private void refreshBinding(final User selectedUser) {
    if (context != null) {
        context.dispose();/*from w  w  w  . j  a  v a  2 s  .  co m*/
    }
    if (pageSupport != null) {
        pageSupport.dispose();
    }
    context = new EMFDataBindingContext();

    userMemberShips.clear();
    if (selectedUser != null) {
        setControlEnabled(getInfoGroup(), true);

        if (userList != null) {
            managerNameCombo.removeAll();
            managerNameCombo.add("");
            for (User u : userList) {
                if (!u.equals(selectedUser)) {
                    managerNameCombo.add(u.getUserName());
                }
            }
        }

        UpdateValueStrategy strategy = new UpdateValueStrategy();

        strategy.setConverter(new Converter(String.class, String.class) {

            @Override
            public Object convert(Object fromObject) {
                if (userList != null) {
                    for (User u : userList) {
                        if (selectedUser != null && u.getManager() != null
                                && u.getManager().equals(selectedUser.getUserName())) {
                            u.setManager((String) fromObject);
                        }
                    }
                }
                return fromObject;
            }

        });
        userNameValidator.setValidator(new IValidator() {

            @Override
            public IStatus validate(Object value) {
                if (value.toString().isEmpty()) {
                    return ValidationStatus.error(Messages.nameIsEmpty);
                }
                for (User u : userList) {
                    if (!u.equals(selectedUser)) {
                        if (u.getUserName().equals(value)) {
                            return ValidationStatus.error(Messages.userNameAlreadyExists);
                        }
                    }
                }
                return Status.OK_STATUS;
            }
        });
        strategy.setAfterGetValidator(userNameValidator);
        IObservableValue value = EMFObservables.observeValue(selectedUser,
                OrganizationPackage.Literals.USER__USER_NAME);
        value.addValueChangeListener(new IValueChangeListener() {

            @Override
            public void handleValueChange(ValueChangeEvent event) {
                User user = (User) ((EObjectObservableValue) event.getObservable()).getObserved();
                String oldUserValue = event.diff.getOldValue().toString();
                for (Membership m : userMemberShips) {
                    m.setUserName(user.getUserName());
                }
                //               managerNameCombo.removeAll() ;
                //               managerNameCombo.add("") ;

                updateDelegueeMembership(event.diff.getOldValue().toString(),
                        event.diff.getNewValue().toString());
                getViewer().refresh(user);

            }
        });

        context.bindValue(
                SWTObservables.observeDelayedValue(500, SWTObservables.observeText(usernameText, SWT.Modify)),
                value, strategy, null);

        UpdateValueStrategy mandatoryStrategy = new UpdateValueStrategy();
        passwordValidator.setValidator(new EmptyInputValidator(Messages.password));
        mandatoryStrategy.setAfterGetValidator(passwordValidator);

        IObservableValue observeValue = EMFObservables.observeValue(selectedUser.getPassword(),
                OrganizationPackage.Literals.PASSWORD_TYPE__VALUE);
        context.bindValue(SWTObservables.observeText(passwordText, SWT.Modify), observeValue, mandatoryStrategy,
                null);
        observeValue.addValueChangeListener(new IValueChangeListener() {

            @Override
            public void handleValueChange(ValueChangeEvent event) {
                IObservableValue value = event.getObservableValue();
                PasswordType password = (PasswordType) ((EObjectObservableValue) value).getObserved();
                password.setEncrypted(false);
            }
        });

        context.bindValue(SWTObservables.observeSelection(managerNameCombo),
                EMFObservables.observeValue(selectedUser, OrganizationPackage.Literals.USER__MANAGER));

        for (Entry<EAttribute, Control> entry : generalWidgetMap.entrySet()) {
            EAttribute attributre = entry.getKey();
            Control control = entry.getValue();
            if (!control.isDisposed()) {
                IObservableValue observableValue = EMFObservables.observeValue(selectedUser, attributre);
                UpdateValueStrategy mandatoryStartegy = null;
                if (attributre.equals(OrganizationPackage.Literals.USER__FIRST_NAME)
                        || attributre.equals(OrganizationPackage.Literals.USER__LAST_NAME)) {
                    observableValue.addValueChangeListener(new IValueChangeListener() {

                        @Override
                        public void handleValueChange(ValueChangeEvent event) {
                            getViewer().refresh(((EObjectObservableValue) event.getObservable()).getObserved());
                        }
                    });
                    mandatoryStartegy = new UpdateValueStrategy();
                    if (attributre.equals(OrganizationPackage.Literals.USER__FIRST_NAME)) {
                        mandatoryStartegy.setAfterGetValidator(new EmptyInputValidator(Messages.firstName));
                    } else if (attributre.equals(OrganizationPackage.Literals.USER__LAST_NAME)) {
                        mandatoryStartegy.setAfterGetValidator(new EmptyInputValidator(Messages.lastName));
                    }

                }
                if (mandatoryStartegy != null) {
                    ControlDecorationSupport
                            .create(context.bindValue(SWTObservables.observeText(control, SWT.Modify),
                                    observableValue, mandatoryStartegy, null), SWT.LEFT);
                } else {
                    context.bindValue(SWTObservables.observeText(control, SWT.Modify), observableValue);
                }
            }
        }

        if (selectedUser.getPersonalData() == null) {
            selectedUser.setPersonalData(OrganizationFactory.eINSTANCE.createContactData());
        }

        for (Entry<EAttribute, Control> entry : personalWidgetMap.entrySet()) {
            EAttribute attributre = entry.getKey();
            Control control = entry.getValue();
            if (!control.isDisposed()) {
                IObservableValue observableValue = EMFObservables.observeValue(selectedUser.getPersonalData(),
                        attributre);
                context.bindValue(SWTObservables.observeText(control, SWT.Modify), observableValue);
            }
        }

        if (selectedUser.getProfessionalData() == null) {
            selectedUser.setProfessionalData(OrganizationFactory.eINSTANCE.createContactData());
        }

        for (Entry<EAttribute, Control> entry : professionalWidgetMap.entrySet()) {
            EAttribute attributre = entry.getKey();
            Control control = entry.getValue();
            if (!control.isDisposed()) {
                context.bindValue(SWTObservables.observeText(control, SWT.Modify),
                        EMFObservables.observeValue(selectedUser.getProfessionalData(), attributre));
            }
        }

        for (Entry<Metadata, Control> entry : metadataWidgetMap.entrySet()) {
            Metadata metadata = entry.getKey();
            Control control = entry.getValue();
            if (!control.isDisposed()) {
                context.bindValue(SWTObservables.observeText(control, SWT.Modify),
                        EMFObservables.observeValue(metadata, OrganizationPackage.Literals.METADATA__VALUE));
            }
        }

        for (Entry<Membership, Map<EAttribute, Control>> entry : membershipWidgetMap.entrySet()) {
            final Membership membership = entry.getKey();
            final Map<EAttribute, Control> controls = entry.getValue();
            for (Entry<EAttribute, Control> e : controls.entrySet()) {
                final EAttribute attributre = e.getKey();
                final Control control = e.getValue();
                if (!control.isDisposed()) {
                    UpdateValueStrategy selectionStrategy = new UpdateValueStrategy();

                    selectionStrategy.setAfterConvertValidator(new IValidator() {

                        @Override
                        public IStatus validate(Object value) {
                            if (value == null || value.toString().isEmpty()) {
                                return ValidationStatus.error(Messages.emtpyMembershipValue);
                            }
                            return Status.OK_STATUS;
                        }
                    });
                    if (attributre.equals(OrganizationPackage.Literals.MEMBERSHIP__GROUP_NAME)) {
                        selectionStrategy.setConverter(new Converter(String.class, String.class) {

                            @Override
                            public Object convert(Object from) {
                                String path = (String) from;
                                if (!path.isEmpty()) {
                                    String parentPath = path.substring(0,
                                            path.lastIndexOf(GroupContentProvider.GROUP_SEPARATOR));
                                    String groupName = path.substring(
                                            path.lastIndexOf(GroupContentProvider.GROUP_SEPARATOR) + 1,
                                            path.length());
                                    if (parentPath.isEmpty()) {
                                        membership.setGroupParentPath(null);
                                    } else {
                                        membership.setGroupParentPath(parentPath);
                                    }
                                    return groupName;
                                } else {
                                    return "";
                                }

                            }
                        });

                    }
                    UpdateValueStrategy modelStrategy = null;
                    if (attributre.equals(OrganizationPackage.Literals.MEMBERSHIP__GROUP_NAME)) {
                        modelStrategy = new UpdateValueStrategy();
                        modelStrategy.setConverter(new Converter(String.class, String.class) {
                            @Override
                            public Object convert(Object from) {
                                if (membership.getGroupParentPath() != null
                                        && !membership.getGroupParentPath().isEmpty()) {
                                    String parentPath = membership.getGroupParentPath();
                                    if (!membership.getGroupParentPath()
                                            .endsWith(GroupContentProvider.GROUP_SEPARATOR)) {
                                        parentPath = parentPath + GroupContentProvider.GROUP_SEPARATOR;
                                    }
                                    String path = parentPath + from;
                                    return path;
                                } else if (from != null && !from.toString().isEmpty()) {
                                    return GroupContentProvider.GROUP_SEPARATOR + membership.getGroupName();
                                } else {
                                    return "";
                                }
                            }
                        });
                    }
                    ControlDecorationSupport.create(context.bindValue(SWTObservables.observeSelection(control),
                            EMFObservables.observeValue(membership, attributre), selectionStrategy,
                            modelStrategy), SWT.LEFT);
                }
            }

        }
        pageSupport = WizardPageSupportWithoutMessages.create(this, context);
    } else {
        setControlEnabled(getInfoGroup(), false);
    }

}

From source file:org.bonitasoft.studio.businessobject.ui.wizard.BusinessDataModelWizardPage.java

License:Open Source License

protected void createDescription(final DataBindingContext ctx,
        final IViewerObservableValue viewerObservableValue, final Group descriptionGroup) {
    final Label descriptionLabel = new Label(descriptionGroup, SWT.NONE);
    descriptionLabel.setLayoutData(GridDataFactory.fillDefaults().align(SWT.RIGHT, SWT.TOP).create());
    descriptionLabel.setText(Messages.description);

    final Text descriptionText = new Text(descriptionGroup, SWT.BORDER | SWT.V_SCROLL | SWT.MULTI | SWT.WRAP);
    descriptionText/* w w  w .  ja va2 s. c  o  m*/
            .setLayoutData(GridDataFactory.fillDefaults().grab(true, false).hint(SWT.DEFAULT, 50).create());
    descriptionText.setEnabled(viewerObservableValue.getValue() != null);

    final IObservableValue observeDetailValue = PojoObservables.observeDetailValue(viewerObservableValue,
            "description", String.class);
    ctx.bindValue(SWTObservables.observeText(descriptionText, SWT.Modify), observeDetailValue);

    final UpdateValueStrategy enableStrategy = new UpdateValueStrategy();
    enableStrategy.setConverter(new Converter(Object.class, Boolean.class) {

        @Override
        public Object convert(final Object fromObject) {
            return fromObject != null;
        }
    });
    ctx.bindValue(SWTObservables.observeEnabled(descriptionText), viewerObservableValue, null, enableStrategy);
}