List of usage examples for org.eclipse.jface.databinding.swt SWTObservables observeEnabled
@Deprecated public static ISWTObservableValue observeEnabled(Control control)
From source file:org.bonitasoft.studio.properties.form.sections.actions.contributions.FileWidgetDocumentPickerContribution.java
License:Open Source License
private void bindEnableButtons() { final UpdateValueStrategy strategy = createEnabledStrategy(); final UpdateValueStrategy strategyForUrl = createEnabledStrategyForDownloadOnlyURLCase(); dataBindingContext.bindValue(SWTObservables.observeEnabled(url), EMFObservables.observeValue(fileWidget, FormPackage.Literals.FILE_WIDGET__DOWNLOAD_ONLY), strategyForUrl, strategyForUrl); dataBindingContext.bindValue(SWTObservables.observeEnabled(url), EMFObservables.observeValue(fileWidget, FormPackage.Literals.FILE_WIDGET__INPUT_TYPE), null, createEnabledUrlWhenInputIsResourceStrategyTargetToModel()); dataBindingContext.bindValue(SWTObservables.observeEnabled(browse), EMFObservables.observeValue(fileWidget, FormPackage.Literals.FILE_WIDGET__DOWNLOAD_ONLY), strategy, strategy);/*from w ww .ja v a 2 s.co m*/ dataBindingContext.bindValue(SWTObservables.observeEnabled(both), EMFObservables.observeValue(fileWidget, FormPackage.Literals.FILE_WIDGET__DOWNLOAD_ONLY), strategy, strategy); }
From source file:org.bonitasoft.studio.properties.form.sections.actions.table.DynamicTableDataPropertySection.java
License:Open Source License
protected void bindColumn(DynamicTable dynamicTable) { dataBindingContext.bindValue(SWTObservables.observeSelection(allowAddRemoveColumnButton), EMFEditObservables.observeValue(getEditingDomain(), dynamicTable, FormPackage.Literals.DYNAMIC_TABLE__ALLOW_ADD_REMOVE_COLUMN)); if (dynamicTable != null) { Expression minNumberOfColumn = dynamicTable.getMinNumberOfColumn(); if (minNumberOfColumn == null) { minNumberOfColumn = ExpressionFactory.eINSTANCE.createExpression(); minNumberOfColumn.setReturnType(Integer.class.getName()); minNumberOfColumn.setReturnTypeFixed(true); getEditingDomain().getCommandStack().execute(SetCommand.create(getEditingDomain(), dynamicTable, FormPackage.Literals.DYNAMIC_TABLE__MIN_NUMBER_OF_COLUMN, minNumberOfColumn)); }/* w w w .j a va2s .com*/ } if (dynamicTable != null) { Expression maxNumberOfColumn = dynamicTable.getMaxNumberOfColumn(); if (maxNumberOfColumn == null) { maxNumberOfColumn = ExpressionFactory.eINSTANCE.createExpression(); maxNumberOfColumn.setReturnType(Integer.class.getName()); maxNumberOfColumn.setReturnTypeFixed(true); getEditingDomain().getCommandStack().execute(SetCommand.create(getEditingDomain(), dynamicTable, FormPackage.Literals.DYNAMIC_TABLE__MAX_NUMBER_OF_COLUMN, maxNumberOfColumn)); } } /* * Synchronize with the model. * */ dataBindingContext.bindValue(ViewerProperties.singleSelection().observe(textOrDataMinColumn), EMFEditProperties .value(getEditingDomain(), FormPackage.Literals.DYNAMIC_TABLE__MIN_NUMBER_OF_COLUMN) .observe(dynamicTable)); dataBindingContext.bindValue(ViewerProperties.singleSelection().observe(textOrDataMaxColumn), EMFEditProperties .value(getEditingDomain(), FormPackage.Literals.DYNAMIC_TABLE__MAX_NUMBER_OF_COLUMN) .observe(dynamicTable)); dataBindingContext.bindValue(SWTObservables.observeSelection(limitMinColumnButton), EMFEditObservables.observeValue(getEditingDomain(), dynamicTable, FormPackage.Literals.DYNAMIC_TABLE__LIMIT_MIN_NUMBER_OF_COLUMN)); dataBindingContext.bindValue(SWTObservables.observeSelection(limitMaxColumnButton), EMFEditObservables.observeValue(getEditingDomain(), dynamicTable, FormPackage.Literals.DYNAMIC_TABLE__LIMIT_MAX_NUMBER_OF_COLUMN)); /* * Enable the combo only if we want to set a number limitation. * */ dataBindingContext.bindValue(SWTObservables.observeEnabled(textOrDataMinColumn.getControl()), SWTObservables.observeSelection(limitMinColumnButton)); dataBindingContext.bindValue(SWTObservables.observeEnabled(textOrDataMinColumn.getTextControl()), SWTObservables.observeSelection(limitMinColumnButton)); dataBindingContext.bindValue(SWTObservables.observeEnabled(textOrDataMinColumn.getToolbar()), SWTObservables.observeSelection(limitMinColumnButton)); dataBindingContext.bindValue(SWTObservables.observeEnabled(textOrDataMaxColumn.getControl()), SWTObservables.observeSelection(limitMaxColumnButton)); dataBindingContext.bindValue(SWTObservables.observeEnabled(textOrDataMaxColumn.getTextControl()), SWTObservables.observeSelection(limitMaxColumnButton)); dataBindingContext.bindValue(SWTObservables.observeEnabled(textOrDataMaxColumn.getToolbar()), SWTObservables.observeSelection(limitMaxColumnButton)); dataBindingContext.bindValue(SWTObservables.observeVisible(limitMinColumnButton), SWTObservables.observeSelection(allowAddRemoveColumnButton), new UpdateValueStrategy(UpdateValueStrategy.POLICY_NEVER), null); dataBindingContext.bindValue(SWTObservables.observeVisible(limitMaxColumnButton), SWTObservables.observeSelection(allowAddRemoveColumnButton), new UpdateValueStrategy(UpdateValueStrategy.POLICY_NEVER), null); dataBindingContext.bindValue(SWTObservables.observeVisible(textOrDataMinColumn.getControl()), SWTObservables.observeSelection(allowAddRemoveColumnButton), new UpdateValueStrategy(UpdateValueStrategy.POLICY_NEVER), null); dataBindingContext.bindValue(SWTObservables.observeVisible(textOrDataMaxColumn.getControl()), SWTObservables.observeSelection(allowAddRemoveColumnButton), new UpdateValueStrategy(UpdateValueStrategy.POLICY_NEVER), null); textOrDataMaxColumn.setInput(dynamicTable); textOrDataMinColumn.setInput(dynamicTable); }
From source file:org.bonitasoft.studio.properties.form.sections.actions.table.DynamicTableDataPropertySection.java
License:Open Source License
protected void bindRow(DynamicTable dynamicTable) { dataBindingContext.bindValue(SWTObservables.observeSelection(allowAddRemoveRowButton), EMFEditObservables.observeValue(getEditingDomain(), dynamicTable, FormPackage.Literals.DYNAMIC_TABLE__ALLOW_ADD_REMOVE_ROW)); if (dynamicTable != null) { Expression minNumberOfRow = dynamicTable.getMinNumberOfColumn(); if (minNumberOfRow == null) { minNumberOfRow = ExpressionFactory.eINSTANCE.createExpression(); minNumberOfRow.setReturnType(Integer.class.getName()); minNumberOfRow.setReturnTypeFixed(true); getEditingDomain().getCommandStack().execute(SetCommand.create(getEditingDomain(), dynamicTable, FormPackage.Literals.DYNAMIC_TABLE__MIN_NUMBER_OF_ROW, minNumberOfRow)); }// w ww . j ava 2 s.c o m } if (dynamicTable != null) { Expression maxNumberOfRow = dynamicTable.getMaxNumberOfRow(); if (maxNumberOfRow == null) { maxNumberOfRow = ExpressionFactory.eINSTANCE.createExpression(); maxNumberOfRow.setReturnType(Integer.class.getName()); maxNumberOfRow.setReturnTypeFixed(true); getEditingDomain().getCommandStack().execute(SetCommand.create(getEditingDomain(), dynamicTable, FormPackage.Literals.DYNAMIC_TABLE__MAX_NUMBER_OF_ROW, maxNumberOfRow)); } } /* * Synchronize with the model. * */ dataBindingContext.bindValue(ViewerProperties.singleSelection().observe(textOrDataMinRow), EMFEditProperties.value(getEditingDomain(), FormPackage.Literals.DYNAMIC_TABLE__MIN_NUMBER_OF_ROW) .observe(dynamicTable)); dataBindingContext.bindValue(ViewerProperties.singleSelection().observe(textOrDataMaxRow), EMFEditProperties.value(getEditingDomain(), FormPackage.Literals.DYNAMIC_TABLE__MAX_NUMBER_OF_ROW) .observe(dynamicTable)); dataBindingContext.bindValue(SWTObservables.observeSelection(limitMinRowButton), EMFEditObservables.observeValue(getEditingDomain(), dynamicTable, FormPackage.Literals.DYNAMIC_TABLE__LIMIT_MIN_NUMBER_OF_ROW)); dataBindingContext.bindValue(SWTObservables.observeSelection(limitMaxRowButton), EMFEditObservables.observeValue(getEditingDomain(), dynamicTable, FormPackage.Literals.DYNAMIC_TABLE__LIMIT_MAX_NUMBER_OF_ROW)); /* * Enable the combo only if we want to set a number limitation. * */ dataBindingContext.bindValue(SWTObservables.observeEnabled(textOrDataMinRow.getControl()), SWTObservables.observeSelection(limitMinRowButton)); dataBindingContext.bindValue(SWTObservables.observeEnabled(textOrDataMinRow.getTextControl()), SWTObservables.observeSelection(limitMinRowButton)); dataBindingContext.bindValue(SWTObservables.observeEnabled(textOrDataMinRow.getToolbar()), SWTObservables.observeSelection(limitMinRowButton)); dataBindingContext.bindValue(SWTObservables.observeEnabled(textOrDataMaxRow.getControl()), SWTObservables.observeSelection(limitMaxRowButton)); dataBindingContext.bindValue(SWTObservables.observeEnabled(textOrDataMaxRow.getTextControl()), SWTObservables.observeSelection(limitMaxRowButton)); dataBindingContext.bindValue(SWTObservables.observeEnabled(textOrDataMaxRow.getToolbar()), SWTObservables.observeSelection(limitMaxRowButton)); dataBindingContext.bindValue(SWTObservables.observeVisible(limitMinRowButton), EMFEditObservables.observeValue(getEditingDomain(), dynamicTable, FormPackage.Literals.DYNAMIC_TABLE__ALLOW_ADD_REMOVE_ROW), new UpdateValueStrategy(UpdateValueStrategy.POLICY_NEVER), null); dataBindingContext.bindValue(SWTObservables.observeVisible(limitMaxRowButton), EMFEditObservables.observeValue(getEditingDomain(), dynamicTable, FormPackage.Literals.DYNAMIC_TABLE__ALLOW_ADD_REMOVE_ROW), new UpdateValueStrategy(UpdateValueStrategy.POLICY_NEVER), null); dataBindingContext.bindValue(SWTObservables.observeVisible(textOrDataMinRow.getControl()), EMFEditObservables.observeValue(getEditingDomain(), dynamicTable, FormPackage.Literals.DYNAMIC_TABLE__ALLOW_ADD_REMOVE_ROW), new UpdateValueStrategy(UpdateValueStrategy.POLICY_NEVER), null); dataBindingContext.bindValue(SWTObservables.observeVisible(textOrDataMaxRow.getControl()), EMFEditObservables.observeValue(getEditingDomain(), dynamicTable, FormPackage.Literals.DYNAMIC_TABLE__ALLOW_ADD_REMOVE_ROW), new UpdateValueStrategy(UpdateValueStrategy.POLICY_NEVER), null); textOrDataMinRow.setInput(dynamicTable); textOrDataMaxRow.setInput(dynamicTable); }
From source file:org.bonitasoft.studio.properties.form.sections.actions.table.TableDataPropertySection.java
License:Open Source License
@Override protected void refreshDataBinding() { super.refreshDataBinding(); if (getEObject() != null) { UpdateValueStrategy not = new UpdateValueStrategy() .setConverter(new Converter(Boolean.class, Boolean.class) { public Object convert(Object fromObject) { return !((Boolean) fromObject); }//from w w w . j a va 2 s .c om }); dataBindingContext.bindValue(SWTObservables.observeSelection(allowSelectionButton), EMFEditObservables .observeValue(getEditingDomain(), getEObject(), FormPackage.Literals.TABLE__ALLOW_SELECTION)); dataBindingContext.bindValue(SWTObservables.observeSelection(allowSingleSelection), EMFEditObservables.observeValue(getEditingDomain(), getEObject(), FormPackage.Literals.TABLE__SELECTION_MODE_IS_MULTIPLE), not, not); dataBindingContext.bindValue(SWTObservables.observeSelection(allowMultipleSelection), EMFEditObservables.observeValue(getEditingDomain(), getEObject(), FormPackage.Literals.TABLE__SELECTION_MODE_IS_MULTIPLE)); Expression maxRowForPagination = getEObject().getMaxRowForPagination(); if (maxRowForPagination == null) { maxRowForPagination = ExpressionFactory.eINSTANCE.createExpression(); getEditingDomain().getCommandStack().execute(SetCommand.create(getEditingDomain(), getEObject(), FormPackage.Literals.TABLE__MAX_ROW_FOR_PAGINATION, maxRowForPagination)); } dataBindingContext.bindValue(ViewerProperties.singleSelection().observe(paginationMaxNumber), EMFEditProperties.value(getEditingDomain(), FormPackage.Literals.TABLE__MAX_ROW_FOR_PAGINATION) .observe(getEObject())); paginationMaxNumber.setInput(getEObject()); paginationMaxNumber.setEditingDomain(getEditingDomain()); dataBindingContext.bindValue(SWTObservables.observeEnabled(paginationMaxNumber.getTextControl()), EMFEditObservables.observeValue(getEditingDomain(), getEObject(), FormPackage.Literals.TABLE__ALLOW_SELECTION), new UpdateValueStrategy(UpdateValueStrategy.POLICY_NEVER), not); dataBindingContext.bindValue(SWTObservables.observeEnabled(paginationMaxNumber.getButtonControl()), EMFEditObservables.observeValue(getEditingDomain(), getEObject(), FormPackage.Literals.TABLE__ALLOW_SELECTION), new UpdateValueStrategy(UpdateValueStrategy.POLICY_NEVER), not); Expression selectedValues = getEObject().getMaxRowForPagination(); if (selectedValues == null) { selectedValues = ExpressionFactory.eINSTANCE.createExpression(); getEditingDomain().getCommandStack().execute(SetCommand.create(getEditingDomain(), getEObject(), FormPackage.Literals.TABLE__SELECTED_VALUES, selectedValues)); } dataBindingContext.bindValue(ViewerProperties.singleSelection().observe(initialSelectedValues), EMFEditProperties.value(getEditingDomain(), FormPackage.Literals.TABLE__SELECTED_VALUES) .observe(getEObject())); initialSelectedValues.setInput(getEObject()); initialSelectedValues.setEditingDomain(getEditingDomain()); Expression columnForInitialSelectionIndex = getEObject().getColumnForInitialSelectionIndex(); if (columnForInitialSelectionIndex == null) { columnForInitialSelectionIndex = ExpressionFactory.eINSTANCE.createExpression(); getEditingDomain().getCommandStack() .execute(SetCommand.create(getEditingDomain(), getEObject(), FormPackage.Literals.TABLE__COLUMN_FOR_INITIAL_SELECTION_INDEX, columnForInitialSelectionIndex)); } dataBindingContext.bindValue(ViewerProperties.singleSelection().observe(initialFromColumn), EMFEditProperties .value(getEditingDomain(), FormPackage.Literals.TABLE__COLUMN_FOR_INITIAL_SELECTION_INDEX) .observe(getEObject())); initialFromColumn.setInput(getEObject()); initialFromColumn.setEditingDomain(getEditingDomain()); /*Hide if no selection allowed*/ dataBindingContext.bindValue(SWTObservables.observeVisible(allowedSelectionCompo), EMFEditObservables.observeValue(getEditingDomain(), getEObject(), FormPackage.Literals.TABLE__ALLOW_SELECTION), new UpdateValueStrategy(UpdateValueStrategy.POLICY_NEVER), null); dataBindingContext.bindValue(SWTObservables.observeVisible(allowSingleSelection), EMFEditObservables.observeValue(getEditingDomain(), getEObject(), FormPackage.Literals.TABLE__ALLOW_SELECTION), new UpdateValueStrategy(UpdateValueStrategy.POLICY_NEVER), null); dataBindingContext.bindValue(SWTObservables.observeVisible(allowMultipleSelection), EMFEditObservables.observeValue(getEditingDomain(), getEObject(), FormPackage.Literals.TABLE__ALLOW_SELECTION), new UpdateValueStrategy(UpdateValueStrategy.POLICY_NEVER), null); contrib.setEditingDomain(getEditingDomain()); contrib.setEObject(getEObject()); contrib.superBind(); } }
From source file:org.bonitasoft.studio.properties.form.sections.general.contributions.ShowLabelGridPropertySectionContribution.java
License:Open Source License
public void createControl(Composite composite, TabbedPropertySheetWidgetFactory widgetFactory, ExtensibleGridPropertySection extensibleGridPropertySection) { composite.setLayoutData(new GridData(SWT.BEGINNING, SWT.CENTER, true, false)); composite.setLayout(new GridLayout(3, false)); if (dataBindingContext != null) { dataBindingContext.dispose();// w w w .j a v a2 s . co m } dataBindingContext = new EMFDataBindingContext(); Button enableLabel = null; if (!(element instanceof FormButton)) { /* Create the checkbox to hide/show the label */ enableLabel = widgetFactory.createButton(composite, "", SWT.CHECK); //$NON-NLS-1$ enableLabel.setLayoutData(new GridData(SWT.BEGINNING, SWT.CENTER, false, false)); enableLabel.setToolTipText(Messages.GeneralSection_EnableLabel_tooltip); dataBindingContext.bindValue(SWTObservables.observeSelection(enableLabel), EMFEditObservables .observeValue(editingDomain, element, FormPackage.Literals.WIDGET__SHOW_DISPLAY_LABEL)); } ExpressionViewer displayLabelViewer = new ExpressionViewer(composite, SWT.BORDER, widgetFactory, editingDomain, FormPackage.Literals.WIDGET__DISPLAY_LABEL); displayLabelViewer.addFilter(new AvailableExpressionTypeFilter(new String[] { ExpressionConstants.CONSTANT_TYPE, ExpressionConstants.I18N_TYPE, ExpressionConstants.SCRIPT_TYPE, ExpressionConstants.PARAMETER_TYPE, ExpressionConstants.VARIABLE_TYPE })); Expression displayLabelExpression = element.getDisplayLabel(); if (displayLabelExpression == null) { displayLabelExpression = ExpressionFactory.eINSTANCE.createExpression(); editingDomain.getCommandStack().execute(SetCommand.create(editingDomain, element, FormPackage.Literals.WIDGET__DISPLAY_LABEL, displayLabelExpression)); } // add validator on the show label field when it is a form button - expression can't be empty if (element instanceof FormButton) { displayLabelViewer.addExpressionValidator(ExpressionConstants.CONSTANT_TYPE, new ExpressionNotEmptyValidator()); } displayLabelViewer.getControl() .setLayoutData(GridDataFactory.fillDefaults().grab(true, false).hint(300, SWT.DEFAULT).create()); displayLabelViewer.setInput(element); dataBindingContext.bindValue(ViewerProperties.singleSelection().observe(displayLabelViewer), EMFEditProperties.value(editingDomain, FormPackage.Literals.WIDGET__DISPLAY_LABEL) .observe(element)); if (!(element instanceof FormButton)) { /* Create the chekbox to allow HTML for the label or not */ Button allowHtmlButton = widgetFactory.createButton(composite, Messages.GeneralSection_allowHTML, SWT.CHECK); dataBindingContext.bindValue(SWTObservables.observeSelection(allowHtmlButton), EMFEditObservables.observeValue(editingDomain, element, FormPackage.Literals.WIDGET__ALLOW_HTML_FOR_DISPLAY_LABEL)); dataBindingContext.bindValue(SWTObservables.observeEnabled(allowHtmlButton), SWTObservables.observeSelection(enableLabel)); /* Enable/disable the combo for the text and the allow html */ dataBindingContext.bindValue(SWTObservables.observeEnabled(displayLabelViewer.getControl()), SWTObservables.observeSelection(enableLabel)); dataBindingContext.bindValue(SWTObservables.observeEnabled(displayLabelViewer.getTextControl()), SWTObservables.observeSelection(enableLabel)); dataBindingContext.bindValue(SWTObservables.observeEnabled(displayLabelViewer.getButtonControl()), SWTObservables.observeSelection(enableLabel)); } }
From source file:org.bonitasoft.studio.properties.form.sections.general.contributions.ShowPageLabelContribution.java
License:Open Source License
public void createControl(Composite composite, TabbedPropertySheetWidgetFactory widgetFactory, ExtensibleGridPropertySection extensibleGridPropertySection) { // composite.setLayoutData(new GridData(SWT.BEGINNING, SWT.CENTER, true, false,2,1)); composite.setLayoutData(new GridData(SWT.BEGINNING, SWT.CENTER, true, false)); composite.setLayout(new GridLayout(3, false)); if (dataBindingContext != null) { dataBindingContext.dispose();// w w w. ja v a2 s.c o m } dataBindingContext = new EMFDataBindingContext(); Button enableLabel = widgetFactory.createButton(composite, "", SWT.CHECK); //$NON-NLS-1$ enableLabel.setLayoutData(new GridData(SWT.BEGINNING, SWT.CENTER, false, false)); enableLabel.setToolTipText(Messages.GeneralSection_EnableLabel_tooltip); dataBindingContext.bindValue(SWTObservables.observeSelection(enableLabel), EMFEditObservables .observeValue(editingDomain, element, FormPackage.Literals.FORM__SHOW_PAGE_LABEL)); enableLabel.setSelection(element.getShowPageLabel() == null || element.getShowPageLabel()); GridData gData = new GridData(SWT.BEGINNING, SWT.CENTER, false, false); gData.widthHint = 250; ExpressionViewer pageLabelExpresssionViewer = new ExpressionViewer(composite, SWT.BORDER, widgetFactory, FormPackage.Literals.FORM__PAGE_LABEL); final Expression pageLabel = element.getPageLabel(); if (pageLabel == null) { editingDomain.getCommandStack().execute(SetCommand.create(editingDomain, element, FormPackage.Literals.FORM__PAGE_LABEL, ExpressionFactory.eINSTANCE.createExpression())); } if (ModelHelper.isAnEntryPageFlowOnAPool(element)) { pageLabelExpresssionViewer .addFilter(new AvailableExpressionTypeFilter(new String[] { ExpressionConstants.CONSTANT_TYPE, ExpressionConstants.PARAMETER_TYPE, ExpressionConstants.SCRIPT_TYPE })); } pageLabelExpresssionViewer.setInput(element); dataBindingContext.bindValue(ViewerProperties.singleSelection().observe(pageLabelExpresssionViewer), EMFEditProperties.value(editingDomain, FormPackage.Literals.FORM__PAGE_LABEL).observe(element)); pageLabelExpresssionViewer.setMessage(Messages.GeneralSection_EnablePageLabel_tooltip, IStatus.INFO); pageLabelExpresssionViewer.getControl().setLayoutData(gData); Button allowHTMLButton = widgetFactory.createButton(composite, Messages.GeneralSection_allowHTML, SWT.CHECK); dataBindingContext.bindValue(SWTObservables.observeSelection(allowHTMLButton), EMFEditObservables .observeValue(editingDomain, element, FormPackage.Literals.FORM__ALLOW_HTML_IN_PAGE_LABEL)); /*Enable/disable the combo for the text and the allow html*/ dataBindingContext.bindValue(SWTObservables.observeEnabled(pageLabelExpresssionViewer.getControl()), SWTObservables.observeSelection(enableLabel)); dataBindingContext.bindValue(SWTObservables.observeEnabled(allowHTMLButton), SWTObservables.observeSelection(enableLabel)); }
From source file:org.bonitasoft.studio.properties.sections.document.DocumentPropertySection.java
License:Open Source License
protected void bindDetails(final IObservableValue documentSelected) { if (nameBinding != null) { nameBinding.dispose();/*from w w w. j av a 2 s. co m*/ } if (decorationSupport != null) { decorationSupport.dispose(); } IObservableValue externalUrlObserved = EMFEditProperties .value(getEditingDomain(), ProcessPackage.Literals.DOCUMENT__URL).observeDetail(documentSelected); emfDataBindingContext.bindValue(ViewerProperties.singleSelection().observe(documentUrlViewer), externalUrlObserved); documentUrlViewer.setInput(documentSelected); IObservableValue mimeTypeObserved = EMFEditProperties .value(getEditingDomain(), ProcessPackage.Literals.DOCUMENT__MIME_TYPE) .observeDetail(documentSelected); emfDataBindingContext.bindValue(ViewerProperties.singleSelection().observe(documentMimeTypeViewer), mimeTypeObserved); documentMimeTypeViewer.setInput(documentSelected); final UpdateValueStrategy targetToModel = new UpdateValueStrategy(); targetToModel.setAfterGetValidator(new InputLengthValidator(Messages.name, 50)); targetToModel.setBeforeSetValidator(new DocumentNameValidator(documentListViewer)); final IObservableValue nameObserved = EMFEditProperties .value(getEditingDomain(), ProcessPackage.Literals.ELEMENT__NAME).observeDetail(documentSelected); nameBinding = emfDataBindingContext.bindValue( SWTObservables.observeDelayedValue(500, SWTObservables.observeText(documentNameText, SWT.Modify)), nameObserved, targetToModel, null); decorationSupport = ControlDecorationSupport.create(nameBinding, SWT.LEFT); nameObserved.addValueChangeListener(new IValueChangeListener() { @Override public void handleValueChange(ValueChangeEvent event) { if (documentListViewer != null && !documentListViewer.getList().isDisposed()) { documentListViewer.refresh(); } } }); IObservableValue descriptionObserved = EMFEditProperties .value(getEditingDomain(), ProcessPackage.Literals.ELEMENT__DOCUMENTATION) .observeDetail(documentSelected); emfDataBindingContext.bindValue(SWTObservables.observeDelayedValue(500, SWTObservables.observeText(documentDescriptionText, SWT.Modify)), descriptionObserved); IObservableValue internalTypeObserved = EMFEditProperties .value(getEditingDomain(), ProcessPackage.Literals.DOCUMENT__IS_INTERNAL) .observeDetail(documentSelected); emfDataBindingContext.bindValue(SWTObservables.observeSelection(internalCheckbox), internalTypeObserved); IObservableValue documentInternalIDObserved = EMFEditProperties .value(getEditingDomain(), ProcessPackage.Literals.DOCUMENT__DEFAULT_VALUE_ID_OF_DOCUMENT_STORE) .observeDetail(documentSelected); emfDataBindingContext.bindValue( SWTObservables.observeDelayedValue(500, SWTObservables.observeText(documentTextId, SWT.Modify)), documentInternalIDObserved); IObservableValue externalTypeObserved = EMFEditProperties .value(getEditingDomain(), ProcessPackage.Literals.DOCUMENT__IS_INTERNAL) .observeDetail(documentSelected); emfDataBindingContext.bindValue(SWTObservables.observeSelection(externalCheckbox), externalTypeObserved, new UpdateValueStrategy() { @Override public Object convert(Object value) { return super.convert(!(Boolean) value); } }, new UpdateValueStrategy() { @Override public Object convert(Object value) { return super.convert(!(Boolean) value); } }); emfDataBindingContext.bindValue(SWTObservables.observeEnabled(documentUrlViewer.getTextControl()), externalTypeObserved, new UpdateValueStrategy() { @Override public Object convert(Object value) { return super.convert(!(Boolean) value); } }, new UpdateValueStrategy() { @Override public Object convert(Object value) { return super.convert(!(Boolean) value); } }); emfDataBindingContext.bindValue(SWTObservables.observeEnabled(documentUrlViewer.getButtonControl()), externalTypeObserved, new UpdateValueStrategy() { @Override public Object convert(Object value) { return super.convert(!(Boolean) value); } }, new UpdateValueStrategy() { @Override public Object convert(Object value) { return super.convert(!(Boolean) value); } }); emfDataBindingContext.bindValue(SWTObservables.observeEnabled(documentTextId), internalTypeObserved); emfDataBindingContext.bindValue(SWTObservables.observeEnabled(browseButton), internalTypeObserved); }
From source file:org.bonitasoft.studio.properties.sections.general.TransitionCondition.java
License:Open Source License
private void refreshBindings() { if (conditionSection != null && !conditionSection.isDisposed()) { if (dataBindingContext != null) { dataBindingContext.dispose(); }/* w ww.j a v a2 s .c o m*/ IConverter conditionConverter = new Converter(Boolean.class, Boolean.class) { @Override public Object convert(Object fromObject) { if (transition != null && transition.getSource() instanceof CatchLinkEvent) { return false; } return !(Boolean) fromObject; } }; IConverter defaultConverter = new Converter(Boolean.class, Boolean.class) { @Override public Object convert(Object fromObject) { if (transition != null && transition.getSource() instanceof CatchLinkEvent) { return false; } else { SourceElement elem = transition.getSource(); boolean alreadyExistDefault = false; for (Connection c : elem.getOutgoing()) { if (c instanceof SequenceFlow) { if (((SequenceFlow) c).isIsDefault() && !c.equals(transition)) { alreadyExistDefault = true; } } } if (alreadyExistDefault) { return false; } else { return true; } } } }; final UpdateValueStrategy useExpressionTargetToModel = new UpdateValueStrategy(); useExpressionTargetToModel.setConverter(new Converter(Boolean.class, SequenceFlowConditionType.class) { @Override public Object convert(Object fromObject) { if ((Boolean) fromObject) { return SequenceFlowConditionType.EXPRESSION; } else { return SequenceFlowConditionType.DECISION_TABLE; } } }); final UpdateValueStrategy useDescisionTargetToModel = new UpdateValueStrategy(); useDescisionTargetToModel.setConverter(new Converter(Boolean.class, SequenceFlowConditionType.class) { @Override public Object convert(Object fromObject) { if ((Boolean) fromObject) { return SequenceFlowConditionType.DECISION_TABLE; } else { return SequenceFlowConditionType.EXPRESSION; } } }); final UpdateValueStrategy useExpressionModelToTarget = new UpdateValueStrategy(); useExpressionModelToTarget.setConverter(new Converter(SequenceFlowConditionType.class, Boolean.class) { @Override public Object convert(Object fromObject) { if (fromObject == SequenceFlowConditionType.EXPRESSION) { return true; } else { return false; } } }); final UpdateValueStrategy useDecisionModelToTarget = new UpdateValueStrategy(); useDecisionModelToTarget.setConverter(new Converter(SequenceFlowConditionType.class, Boolean.class) { @Override public Object convert(Object fromObject) { if (fromObject == SequenceFlowConditionType.DECISION_TABLE) { return true; } else { return false; } } }); dataBindingContext = new EMFDataBindingContext(); IObservableValue typeValue = EMFEditObservables.observeValue(editingDomain, transition, ProcessPackage.Literals.SEQUENCE_FLOW__CONDITION_TYPE); typeValue.addValueChangeListener(new IValueChangeListener() { @Override public void handleValueChange(ValueChangeEvent event) { if (conditionSection != null && !conditionSection.isDisposed()) { if (event.diff.getNewValue() == SequenceFlowConditionType.EXPRESSION && (conditionViewer == null || conditionViewer.getControl().isDisposed())) { if (conditionSection.getClient() != null) { conditionSection.getClient().dispose(); } conditionSection.setClient(createExpressionComposite(conditionSection, widgetFactory)); conditionSection.setExpanded(true); } else if (event.diff.getNewValue() == SequenceFlowConditionType.DECISION_TABLE && (conditionViewer != null && !conditionViewer.getControl().isDisposed())) { if (conditionSection.getClient() != null) { conditionSection.getClient().dispose(); } conditionSection .setClient(createDecisionTableComposite(conditionSection, widgetFactory)); conditionSection.setExpanded(true); } refreshBindings(); } } }); dataBindingContext.bindValue(SWTObservables.observeSelection(useExpressionCondition), typeValue, useExpressionTargetToModel, useExpressionModelToTarget); dataBindingContext.bindValue(SWTObservables.observeSelection(useDecisionTable), typeValue, useDescisionTargetToModel, useDecisionModelToTarget); dataBindingContext.bindValue(SWTObservables.observeSelection(defaultCheckBox), EMFEditObservables .observeValue(editingDomain, transition, ProcessPackage.Literals.SEQUENCE_FLOW__IS_DEFAULT)); dataBindingContext.bindValue(SWTObservables.observeEnabled(defaultCheckBox), EMFEditObservables.observeValue(editingDomain, transition, ProcessPackage.Literals.SEQUENCE_FLOW__IS_DEFAULT), new UpdateValueStrategy().setConverter(defaultConverter), new UpdateValueStrategy().setConverter(defaultConverter)); if (conditionViewer != null && !conditionViewer.getControl().isDisposed()) { dataBindingContext.bindValue(SWTObservables.observeEnabled(conditionViewer.getTextControl()), EMFEditObservables.observeValue(editingDomain, transition, ProcessPackage.Literals.SEQUENCE_FLOW__IS_DEFAULT), new UpdateValueStrategy().setConverter(conditionConverter), new UpdateValueStrategy().setConverter(conditionConverter)); dataBindingContext.bindValue(SWTObservables.observeEnabled(conditionViewer.getToolbar()), EMFEditObservables.observeValue(editingDomain, transition, ProcessPackage.Literals.SEQUENCE_FLOW__IS_DEFAULT), new UpdateValueStrategy().setConverter(conditionConverter), new UpdateValueStrategy().setConverter(conditionConverter)); conditionViewer.setEditingDomain(editingDomain); dataBindingContext.bindValue(ViewerProperties.singleSelection().observe(conditionViewer), EMFEditProperties.value(editingDomain, ProcessPackage.Literals.SEQUENCE_FLOW__CONDITION) .observe(transition)); conditionViewer.setInput(transition); dataBindingContext.bindValue(SWTObservables.observeSelection(useExpressionCondition), SWTObservables.observeEnabled(conditionViewer.getControl())); } dataBindingContext.bindValue(SWTObservables.observeEnabled(useExpressionCondition), EMFEditObservables.observeValue(editingDomain, transition, ProcessPackage.Literals.SEQUENCE_FLOW__IS_DEFAULT), new UpdateValueStrategy().setConverter(conditionConverter), new UpdateValueStrategy().setConverter(conditionConverter)); dataBindingContext.bindValue(SWTObservables.observeEnabled(useDecisionTable), EMFEditObservables.observeValue(editingDomain, transition, ProcessPackage.Literals.SEQUENCE_FLOW__IS_DEFAULT), new UpdateValueStrategy().setConverter(conditionConverter), new UpdateValueStrategy().setConverter(conditionConverter)); if (updateTableButton != null && !updateTableButton.isDisposed()) { dataBindingContext.bindValue(SWTObservables.observeEnabled(updateTableButton), EMFEditObservables.observeValue(editingDomain, transition, ProcessPackage.Literals.SEQUENCE_FLOW__IS_DEFAULT), new UpdateValueStrategy().setConverter(conditionConverter), new UpdateValueStrategy().setConverter(conditionConverter)); } } }
From source file:org.bonitasoft.studio.properties.sections.general.TransitionConditionContribution.java
License:Open Source License
private void refreshBindings() { if (conditionSection != null && !conditionSection.isDisposed()) { if (dataBindingContext != null) { dataBindingContext.dispose(); }//from ww w.ja v a 2s. c o m final IConverter conditionConverter = new Converter(Boolean.class, Boolean.class) { @Override public Object convert(final Object fromObject) { if (transition != null && transition.getSource() instanceof CatchLinkEvent) { return false; } return !(Boolean) fromObject; } }; final IConverter defaultConverter = new Converter(Boolean.class, Boolean.class) { @Override public Object convert(final Object fromObject) { if (transition != null && transition.getSource() instanceof CatchLinkEvent) { return false; } else { final SourceElement elem = transition.getSource(); boolean alreadyExistDefault = false; for (final Connection c : elem.getOutgoing()) { if (c instanceof SequenceFlow) { if (((SequenceFlow) c).isIsDefault() && !c.equals(transition)) { alreadyExistDefault = true; } } } if (alreadyExistDefault) { return false; } else { return true; } } } }; final UpdateValueStrategy useExpressionTargetToModel = new UpdateValueStrategy(); useExpressionTargetToModel.setConverter(new Converter(Boolean.class, SequenceFlowConditionType.class) { @Override public Object convert(final Object fromObject) { if ((Boolean) fromObject) { return SequenceFlowConditionType.EXPRESSION; } else { return SequenceFlowConditionType.DECISION_TABLE; } } }); final UpdateValueStrategy useDescisionTargetToModel = new UpdateValueStrategy(); useDescisionTargetToModel.setConverter(new Converter(Boolean.class, SequenceFlowConditionType.class) { @Override public Object convert(final Object fromObject) { if ((Boolean) fromObject) { return SequenceFlowConditionType.DECISION_TABLE; } else { return SequenceFlowConditionType.EXPRESSION; } } }); final UpdateValueStrategy useExpressionModelToTarget = new UpdateValueStrategy(); useExpressionModelToTarget.setConverter(new Converter(SequenceFlowConditionType.class, Boolean.class) { @Override public Object convert(final Object fromObject) { if (fromObject == SequenceFlowConditionType.EXPRESSION) { return true; } else { return false; } } }); final UpdateValueStrategy useDecisionModelToTarget = new UpdateValueStrategy(); useDecisionModelToTarget.setConverter(new Converter(SequenceFlowConditionType.class, Boolean.class) { @Override public Object convert(final Object fromObject) { return fromObject == SequenceFlowConditionType.DECISION_TABLE; } }); dataBindingContext = new EMFDataBindingContext(); final IObservableValue typeValue = EMFEditObservables.observeValue(editingDomain, transition, ProcessPackage.Literals.SEQUENCE_FLOW__CONDITION_TYPE); typeValue.addValueChangeListener(new IValueChangeListener() { @Override public void handleValueChange(final ValueChangeEvent event) { if (conditionSection != null && !conditionSection.isDisposed()) { if (event.diff.getNewValue() == SequenceFlowConditionType.EXPRESSION && (conditionViewer == null || conditionViewer.getControl().isDisposed())) { if (conditionSection.getClient() != null) { conditionSection.getClient().dispose(); } conditionSection.setClient(createExpressionComposite(conditionSection, widgetFactory)); conditionSection.setExpanded(true); } else if (event.diff.getNewValue() == SequenceFlowConditionType.DECISION_TABLE && conditionViewer != null && !conditionViewer.getControl().isDisposed()) { if (conditionSection.getClient() != null) { conditionSection.getClient().dispose(); } conditionSection .setClient(createDecisionTableComposite(conditionSection, widgetFactory)); conditionSection.setExpanded(true); } refreshBindings(); } } }); dataBindingContext.bindValue(SWTObservables.observeSelection(useExpressionCondition), typeValue, useExpressionTargetToModel, useExpressionModelToTarget); dataBindingContext.bindValue(SWTObservables.observeSelection(useDecisionTable), typeValue, useDescisionTargetToModel, useDecisionModelToTarget); dataBindingContext.bindValue(SWTObservables.observeSelection(defaultCheckBox), EMFEditObservables .observeValue(editingDomain, transition, ProcessPackage.Literals.SEQUENCE_FLOW__IS_DEFAULT)); dataBindingContext.bindValue(SWTObservables.observeEnabled(defaultCheckBox), EMFEditObservables.observeValue(editingDomain, transition, ProcessPackage.Literals.SEQUENCE_FLOW__IS_DEFAULT), new UpdateValueStrategy().setConverter(defaultConverter), new UpdateValueStrategy().setConverter(defaultConverter)); if (conditionViewer != null && !conditionViewer.getControl().isDisposed()) { dataBindingContext.bindValue(SWTObservables.observeEnabled(conditionViewer.getControl()), EMFEditObservables.observeValue(editingDomain, transition, ProcessPackage.Literals.SEQUENCE_FLOW__IS_DEFAULT), new UpdateValueStrategy().setConverter(conditionConverter), new UpdateValueStrategy().setConverter(conditionConverter)); // dataBindingContext.bindValue(SWTObservables.observeEnabled(conditionViewer.getToolbar()), // EMFEditObservables.observeValue(editingDomain, transition, ProcessPackage.Literals.SEQUENCE_FLOW__IS_DEFAULT),new UpdateValueStrategy().setConverter(conditionConverter),new UpdateValueStrategy().setConverter(conditionConverter)); conditionViewer.setEditingDomain(editingDomain); dataBindingContext.bindValue(ViewerProperties.singleSelection().observe(conditionViewer), EMFEditProperties.value(editingDomain, ProcessPackage.Literals.SEQUENCE_FLOW__CONDITION) .observe(transition)); conditionViewer.setInput(transition); dataBindingContext.bindValue(SWTObservables.observeSelection(useExpressionCondition), SWTObservables.observeEnabled(conditionViewer.getControl())); } dataBindingContext.bindValue(SWTObservables.observeEnabled(useExpressionCondition), EMFEditObservables.observeValue(editingDomain, transition, ProcessPackage.Literals.SEQUENCE_FLOW__IS_DEFAULT), new UpdateValueStrategy().setConverter(conditionConverter), new UpdateValueStrategy().setConverter(conditionConverter)); dataBindingContext.bindValue(SWTObservables.observeEnabled(useDecisionTable), EMFEditObservables.observeValue(editingDomain, transition, ProcessPackage.Literals.SEQUENCE_FLOW__IS_DEFAULT), new UpdateValueStrategy().setConverter(conditionConverter), new UpdateValueStrategy().setConverter(conditionConverter)); if (updateTableButton != null && !updateTableButton.isDisposed()) { dataBindingContext.bindValue(SWTObservables.observeEnabled(updateTableButton), EMFEditObservables.observeValue(editingDomain, transition, ProcessPackage.Literals.SEQUENCE_FLOW__IS_DEFAULT), new UpdateValueStrategy().setConverter(conditionConverter), new UpdateValueStrategy().setConverter(conditionConverter)); } } }
From source file:org.bonitasoft.studio.properties.sections.message.wizards.AddMessageEventWizardPage.java
License:Open Source License
private void createcorrelationComposite(Composite composite) { composite.setLayout(GridLayoutFactory.fillDefaults().margins(5, 10).create()); composite.setLayoutData(GridDataFactory.fillDefaults().grab(true, true).create()); final Label correlationDescriptionLabel = new Label(composite, SWT.NONE | SWT.WRAP); correlationDescriptionLabel//w ww . java 2 s.c om .setLayoutData(GridDataFactory.fillDefaults().grab(true, false).indent(12, 0).create()); correlationDescriptionLabel.setText(Messages.correlationDescription); final Button useCorrelationCheckbox = new Button(composite, SWT.CHECK); useCorrelationCheckbox .setLayoutData(GridDataFactory.fillDefaults().grab(false, false).indent(12, 0).create()); final ControlDecoration correlationHelp = new ControlDecoration(useCorrelationCheckbox, SWT.LEFT | SWT.CENTER); correlationHelp .setImage(PlatformUI.getWorkbench().getSharedImages().getImage(ISharedImages.IMG_OBJS_INFO_TSK)); correlationHelp.setDescriptionText(Messages.correlationKeyHelp); useCorrelationCheckbox.setText(Messages.useCorrelationkeys); useCorrelationCheckbox.setSelection(false); useCorrelationCheckbox.addSelectionListener(new SelectionAdapter() { @Override public void widgetSelected(SelectionEvent e) { super.widgetSelected(e); if (!useCorrelationCheckbox.getSelection()) { workingCopyMessage.getCorrelation().setCorrelationType(CorrelationTypeActive.INACTIVE); } else { workingCopyMessage.getCorrelation().setCorrelationType(CorrelationTypeActive.KEYS); updateValidationStatus(AddMessageEventWizardPage.this.hasAtLeastOneCorrelation( workingCopyMessage.getCorrelation().getCorrelationAssociation())); } } }); if (CorrelationTypeActive.KEYS.equals(workingCopyMessage.getCorrelation().getCorrelationType())) { useCorrelationCheckbox.setSelection(true); updateValidationStatus(AddMessageEventWizardPage.this .hasAtLeastOneCorrelation(workingCopyMessage.getCorrelation().getCorrelationAssociation())); } else { useCorrelationCheckbox.setSelection(false); } final Composite correlationComposite = new Composite(composite, SWT.NONE); correlationComposite.setLayoutData(GridDataFactory.fillDefaults().grab(true, true).create()); correlationComposite.setLayout(GridLayoutFactory.fillDefaults().create()); final List<String> captions = new ArrayList<String>(2); captions.add(Messages.correlationKey); captions.add(Messages.correlationValue); final ExpressionCollectionViewer ecv = new ExpressionCollectionViewer(correlationComposite, 5, false, 2, true, captions, false, true); ecv.setLayoutData(GridDataFactory.fillDefaults().grab(true, false).hint(SWT.DEFAULT, 140).create()); ecv.setAddRowLabel(Messages.AddCorrelation); ecv.setRemoveRowLabel(Messages.removeCorrelation); final List<ViewerFilter> filters = new ArrayList<ViewerFilter>(2); filters.add(new AvailableExpressionTypeFilter(new String[] { ExpressionConstants.CONSTANT_TYPE })); filters.add(new AvailableExpressionTypeFilter( new String[] { ExpressionConstants.CONSTANT_TYPE, ExpressionConstants.PARAMETER_TYPE, ExpressionConstants.SCRIPT_TYPE, ExpressionConstants.VARIABLE_TYPE })); // Second column has // everything except // Form field and // simulation type ecv.setViewerFilters(filters); ecv.setInput(element); final TableExpression correlationAssociation = getCorrelationTable(); ecv.setSelection(correlationAssociation); ecv.addModifyListener(new Listener() { @Override public void handleEvent(Event event) { IStatus status = AddMessageEventWizardPage.this.validateId( workingCopyMessage.getCorrelation().getCorrelationAssociation(), Messages.correlation); updateValidationStatus(status); } }); final ISWTObservableValue observeSelectionUseCorrelation = SWTObservables .observeSelection(useCorrelationCheckbox); databindingContext.bindValue(SWTObservables.observeEnabled(ecv.getViewer().getControl()), observeSelectionUseCorrelation); databindingContext.bindValue(SWTObservables.observeEnabled(ecv.getAddRowButton()), observeSelectionUseCorrelation); databindingContext.bindValue(SWTObservables.observeEnabled(ecv.getRemoveRowButton()), observeSelectionUseCorrelation); }