List of usage examples for org.eclipse.jface.databinding.viewers ViewerProperties singleSelection
public static IViewerValueProperty singleSelection()
From source file:gov.redhawk.ui.port.nxmblocks.FftNxmBlockControls.java
License:Open Source License
private void initDataBindings() { Binding bindingValue;/*from w w w .j a v a 2 s . co m*/ IObservableValue fftSizeWidgetValue = WidgetProperties.selection() .observe(this.transformSizeField.getCombo()); IObservableValue fftSizeModelValue = PojoProperties.value(FftNxmBlockSettings.PROP_TRANSFORM_SIZE) .observe(this.settings); UpdateValueStrategy fftSizeTargetToModel = new UpdateValueStrategy(); fftSizeTargetToModel .setAfterConvertValidator(new FftSizeValidator(FftNxmBlockControls.FFT_SIZE_FIELD_NAME, 2)); bindingValue = dataBindingCtx.bindValue(fftSizeWidgetValue, fftSizeModelValue, fftSizeTargetToModel, null); ControlDecorationSupport.create(bindingValue, SWT.TOP | SWT.LEFT); IObservableValue overlapWidgetValue = WidgetProperties.text(SWT.Modify).observe(this.overlapField); IObservableValue overlapModelValue = PojoProperties.value(FftNxmBlockSettings.PROP_OVERLAP) .observe(this.settings); UpdateValueStrategy overlapTargetToModel = new UpdateValueStrategy(); overlapTargetToModel.setAfterConvertValidator( new NumberRangeValidator<Integer>(FftNxmBlockControls.OVERLAP_FIELD_NAME, Integer.class, 0, 100)); bindingValue = dataBindingCtx.bindValue(overlapWidgetValue, overlapModelValue, overlapTargetToModel, null); ControlDecorationSupport.create(bindingValue, SWT.TOP | SWT.LEFT); IObservableValue numAvgWidgetValue = WidgetProperties.text(SWT.Modify).observe(this.numAveragesField); IObservableValue numAvgModelValue = PojoProperties.value(FftNxmBlockSettings.PROP_NUM_AVERAGES) .observe(this.settings); UpdateValueStrategy numAvgTargetToModel = new UpdateValueStrategy(); numAvgTargetToModel.setAfterConvertValidator(new NumberRangeValidator<Integer>( FftNxmBlockControls.NUM_AVERAGES_FIELD_NAME, Integer.class, 0, false)); bindingValue = dataBindingCtx.bindValue(numAvgWidgetValue, numAvgModelValue, numAvgTargetToModel, null); ControlDecorationSupport.create(bindingValue, SWT.TOP | SWT.LEFT); IObservableValue numExpAvgWidgetValue = WidgetProperties.text(SWT.Modify) .observe(this.slidingNumAveragesField); IObservableValue numExpAvgModelValue = PojoProperties.value(FftNxmBlockSettings.PROP_SLIDING_NUM_AVERAGES) .observe(this.settings); UpdateValueStrategy numExpAvgTargetToModel = new UpdateValueStrategy(); numAvgTargetToModel.setAfterConvertValidator(new NumberRangeValidator<Integer>( FftNxmBlockControls.SLIDING_NUM_AVERAGES_FIELD_NAME, Integer.class, 0, false)); bindingValue = dataBindingCtx.bindValue(numExpAvgWidgetValue, numExpAvgModelValue, numExpAvgTargetToModel, null); ControlDecorationSupport.create(bindingValue, SWT.TOP | SWT.LEFT); IObservableValue outputTypeWidgetValue = ViewerProperties.singleSelection().observe(this.fftType); IObservableValue outputTypeModelValue = PojoProperties.value(FftNxmBlockSettings.PROP_OUTPUT_TYPE) .observe(this.settings); bindingValue = dataBindingCtx.bindValue(outputTypeWidgetValue, outputTypeModelValue); ControlDecorationSupport.create(bindingValue, SWT.TOP | SWT.LEFT); IObservableValue windowWidgetValue = ViewerProperties.singleSelection().observe(this.fftWindow); IObservableValue windowModelValue = PojoProperties.value(FftNxmBlockSettings.PROP_WINDOW_TYPE) .observe(this.settings); bindingValue = dataBindingCtx.bindValue(windowWidgetValue, windowModelValue); ControlDecorationSupport.create(bindingValue, SWT.TOP | SWT.LEFT); }
From source file:gov.redhawk.ui.port.nxmblocks.SddsNxmBlockControls.java
License:Open Source License
protected void addDataBindings() { IObservableValue boTargetObservableValue = ViewerProperties.singleSelection() .observe(this.dataByteOrderField); IObservableValue boModelObservableValue = PojoProperties.value(SddsNxmBlockSettings.PROP_DATA_BYTE_ORDER) .observe(this.settings); dataBindingCtx.bindValue(boTargetObservableValue, boModelObservableValue); }
From source file:madcow.magic.ui.application.MagicApplicationGUI.java
License:Open Source License
/** * @param dbc/* w ww . ja v a 2s. c om*/ * @param cardSelection * @param collCardSelection */ private void initCardInfoEnumBinding(EMFDataBindingContext dbc, IObservableValue cardSelection) { UpdateValueStrategy updateEnumStrategy = new UpdateValueStrategy(true, UpdateValueStrategy.POLICY_UPDATE); updateEnumStrategy .setConverter(new RarityTypeToEEnumLiteralConverter(RarityType.class, EEnumLiteral.class)); UpdateValueStrategy requestEnumStrategy = new UpdateValueStrategy(true, UpdateValueStrategy.POLICY_ON_REQUEST); requestEnumStrategy .setConverter(new EEnumLiteralToRarityTypeConverter(EEnumLiteral.class, RarityType.class)); IValueProperty raritySelection = ViewerProperties.singleSelection(); IEMFValueProperty pRarity = EMFProperties.value(CardPackage.Literals.CARD__RARITY); dbc.bindValue(raritySelection.observe(rarityViewer), pRarity.observeDetail(cardSelection), requestEnumStrategy, updateEnumStrategy); IEMFListProperty pExpansionList = EMFProperties.multiList(CardPackage.Literals.CARD__REPRINTS, CardPackage.Literals.CARD__ORIGINAL_CARD); IObservableList sets = pExpansionList.observeDetail(cardSelection); IEMFValueProperty pExpansionName = EMFProperties.value(FeaturePath.fromList(CardPackage.Literals.CARD__SET, DatabasePackage.Literals.MAGIC_DB_ELEMENT__NAME)); ViewerSupport.bind(otherSetsViewer, sets, pExpansionName); }
From source file:org.bonitasoft.studio.businessobject.ui.wizard.editingsupport.QueryParameterTypeEditingSupport.java
License:Open Source License
@Override protected IObservableValue doCreateCellEditorObservable(final CellEditor cellEditor) { final IValueProperty cellEditorProperty = new CellEditorViewerProperties() .value(ViewerProperties.singleSelection()); return cellEditorProperty.observe(cellEditor); }
From source file:org.bonitasoft.studio.expression.editor.operation.OperationViewer.java
License:Open Source License
public void refreshDatabinding() { final Operation action = getOperation(); if (action != null) { actionExpression.setExternalDataBindingContext(context); storageViewer.setExternalDataBindingContext(context); if (actionExpressionProvider != null) { actionExpression.setExpressionNatureProvider(actionExpressionProvider); }//from w w w. j a v a2s .co m actionExpression.setInput(getEObject()); if (storageExpressionProvider != null) { storageViewer.setExpressionNatureProvider(storageExpressionProvider); } if (eObjectContext != null) { storageViewer.setContext(eObjectContext); } storageViewer.setInput(action); Expression actionExp = action.getRightOperand(); if (actionExp == null) { actionExp = ExpressionFactory.eINSTANCE.createExpression(); if (actionExpressionFilter instanceof AvailableExpressionTypeFilter) { if (!((AvailableExpressionTypeFilter) actionExpressionFilter).getContentTypes() .contains(ExpressionConstants.CONSTANT_TYPE)) { if (!((AvailableExpressionTypeFilter) actionExpressionFilter).getContentTypes().isEmpty()) { actionExp.setType(((AvailableExpressionTypeFilter) actionExpressionFilter) .getContentTypes().iterator().next()); } } } if (editingDomain != null) { editingDomain.getCommandStack().execute(SetCommand.create(editingDomain, action, ExpressionPackage.Literals.OPERATION__RIGHT_OPERAND, actionExp)); } else { action.setRightOperand(actionExp); } } Expression storageExp = action.getLeftOperand(); if (storageExp == null) { storageExp = ExpressionFactory.eINSTANCE.createExpression(); if (editingDomain != null) { editingDomain.getCommandStack().execute(SetCommand.create(editingDomain, action, ExpressionPackage.Literals.OPERATION__LEFT_OPERAND, storageExp)); } else { action.setLeftOperand(storageExp); } } operationReturnTypeValidator.setDataExpression(action.getLeftOperand()); operationReturnTypeValidator.setInputExpression(action.getRightOperand()); IObservableValue leftOperandObservableValue = EMFEditObservables.observeValue(editingDomain, action, ExpressionPackage.Literals.OPERATION__LEFT_OPERAND); UpdateValueStrategy targetToModel = new UpdateValueStrategy(); targetToModel.setConverter(new Converter(Expression.class, Expression.class) { @Override public Object convert(Object from) { if (from != null) { Expression copy = EcoreUtil.copy((Expression) from); operationReturnTypeValidator.setDataExpression(copy); return copy; } return null; } }); context.bindValue(ViewersObservables.observeSingleSelection(storageViewer), leftOperandObservableValue, targetToModel, null); actionExpression.addExpressionValidator(ExpressionConstants.ALL_TYPES, operationReturnTypeValidator); IObservableValue actionExpressionObservableValue = EMFEditProperties .value(editingDomain, ExpressionPackage.Literals.OPERATION__RIGHT_OPERAND).observe(action); IObservableValue returnTypeExpressionObservableValue = EMFEditProperties .value(editingDomain, ExpressionPackage.Literals.EXPRESSION__RETURN_TYPE) .observe(action.getRightOperand()); context.bindValue(ViewerProperties.singleSelection().observe(actionExpression), actionExpressionObservableValue); returnTypeExpressionObservableValue.addValueChangeListener(new IValueChangeListener() { @Override public void handleValueChange(ValueChangeEvent event) { actionExpression.validate(); } }); operatorLink.setText("<A>" + labelProvider.getText(action.getOperator()) + "</A>"); if (!action.getOperator().getType().equals(ExpressionConstants.ASSIGNMENT_OPERATOR) && action.getOperator().getExpression() != null && !action.getOperator().getExpression().isEmpty()) { operatorTooltip.setText(action.getOperator().getExpression()); } IObservableValue value = EMFEditObservables.observeValue(editingDomain, actionExp, ExpressionPackage.Literals.EXPRESSION__RETURN_TYPE); value.addChangeListener(new IChangeListener() { @Override public void handleChange(ChangeEvent arg0) { actionExpression.validate(); } }); storageViewer.addSelectionChangedListener(new ISelectionChangedListener() { @Override public void selectionChanged(SelectionChangedEvent event) { Expression selectedExpression = (Expression) ((IStructuredSelection) event.getSelection()) .getFirstElement(); if (selectedExpression != null) { Operator operator = action.getOperator(); if (operator.getType() == null) { if (editingDomain == null) { operator.setType(ExpressionConstants.ASSIGNMENT_OPERATOR); } else { editingDomain.getCommandStack() .execute(SetCommand.create(editingDomain, operator, ExpressionPackage.Literals.OPERATOR__TYPE, ExpressionConstants.ASSIGNMENT_OPERATOR)); } } final OperatorLabelProvider labelProvider = new OperatorLabelProvider(); operatorLink.setText("<A>" + labelProvider.getText(action.getOperator()) + "</A>"); if (!action.getOperator().getType().equals(ExpressionConstants.ASSIGNMENT_OPERATOR) && action.getOperator().getExpression() != null && !action.getOperator().getExpression().isEmpty()) { operatorTooltip.setText(action.getOperator().getExpression()); } operationReturnTypeValidator.setDataExpression(action.getLeftOperand()); updateRightOperandReturnType(action); actionExpression.validate(); operatorLink.getParent().layout(true, true); } } }); } }
From source file:org.bonitasoft.studio.expression.editor.viewer.ExpressionViewer.java
License:Open Source License
protected void bindExpression() { if (expressionBinding != null && externalDataBindingContext != null) { externalDataBindingContext.removeBinding(expressionBinding); expressionBinding.dispose();//from ww w . j a v a 2s. c o m } if (internalDataBindingContext != null) { internalDataBindingContext.dispose(); } internalDataBindingContext = new EMFDataBindingContext(); IObservableValue nameObservable = null; if (editingDomain != null) { nameObservable = EMFEditProperties.value(editingDomain, ExpressionPackage.Literals.EXPRESSION__NAME) .observeDetail(ViewerProperties.singleSelection().observe(this)); } else { nameObservable = EMFProperties.value(ExpressionPackage.Literals.EXPRESSION__NAME) .observeDetail(ViewerProperties.singleSelection().observe(this)); } IObservableValue typeObservable = null; if (editingDomain != null) { typeObservable = EMFEditProperties.value(editingDomain, ExpressionPackage.Literals.EXPRESSION__TYPE) .observeDetail(ViewerProperties.singleSelection().observe(this)); } else { typeObservable = EMFProperties.value(ExpressionPackage.Literals.EXPRESSION__TYPE) .observeDetail(ViewerProperties.singleSelection().observe(this)); } UpdateValueStrategy targetToModelNameStrategy = new UpdateValueStrategy(); if (mandatoryFieldName != null) { targetToModelNameStrategy.setBeforeSetValidator(new EmptyInputValidator(mandatoryFieldName)); } targetToModelNameStrategy.setAfterConvertValidator(new IValidator() { @Override public IStatus validate(Object value) { IExpressionValidator validator = null; if (selectedExpression != null) { validator = validatorsForType.get(selectedExpression.getType()); } if (validator == null) { validator = validatorsForType.get(ExpressionConstants.ALL_TYPES); } if (validator != null) { validator.setDomain(editingDomain); validator.setContext(context); if (selectedExpression != null) { validator.setInputExpression(selectedExpression); } setMessage(null, IStatus.OK); final IStatus status = validator.validate(value); if (status.isOK()) { setMessage(null, status.getSeverity()); } else { String message = status.getMessage(); if (status instanceof MultiStatus) { StringBuilder sb = new StringBuilder(); for (IStatus statusChild : status.getChildren()) { sb.append(statusChild.getMessage()); sb.append("\n"); } if (sb.length() > 0) { sb.delete(sb.length() - 1, sb.length()); } message = sb.toString(); } setMessage(message, status.getSeverity()); } return status; } else { setMessage(null, IStatus.OK); } return ValidationStatus.ok(); } }); targetToModelNameStrategy.setConverter(getNameConverter()); final ISWTObservableValue observeDelayedValue = SWTObservables.observeDelayedValue(500, SWTObservables.observeText(textControl, SWT.Modify)); expressionBinding = internalDataBindingContext.bindValue(observeDelayedValue, nameObservable, targetToModelNameStrategy, null); expressionBinding.getValidationStatus().addValueChangeListener(new IValueChangeListener() { @Override public void handleValueChange(ValueChangeEvent event) { IStatus status = (IStatus) event.diff.getNewValue(); fireValidationStatusChanged(status.getSeverity()); } }); bindEditableText(typeObservable); nameObservable.addValueChangeListener(new IValueChangeListener() { @Override public void handleValueChange(ValueChangeEvent arg0) { fireSelectionChanged(new SelectionChangedEvent(ExpressionViewer.this, getSelection())); } }); if (externalDataBindingContext != null) { externalDataBindingContext.addBinding(expressionBinding); } }
From source file:org.bonitasoft.studio.properties.form.sections.actions.contributions.DefaultValueContribution.java
License:Open Source License
protected void updateViewerInput() { if (defaultExpressionViewer != null && !defaultExpressionViewer.getControl().isDisposed()) { if (dataBindingContext != null) { dataBindingContext.dispose(); }/* www. j a v a 2s. c o m*/ dataBindingContext = new EMFDataBindingContext(); Expression input = widget.getDefaultExpression(); if (input == null) { input = ExpressionFactory.eINSTANCE.createExpression(); editingDomain.getCommandStack().execute(SetCommand.create(editingDomain, widget, FormPackage.Literals.MULTIPLE_VALUATED_FORM_FIELD__DEFAULT_EXPRESSION, input)); } defaultExpressionViewer.setInput(widget); dataBindingContext.bindValue(ViewerProperties.singleSelection().observe(defaultExpressionViewer), EMFEditProperties .value(editingDomain, FormPackage.Literals.MULTIPLE_VALUATED_FORM_FIELD__DEFAULT_EXPRESSION) .observe(widget)); defaultExpressionViewer.setEditingDomain(editingDomain); } }
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)); }//from ww w .j a va 2s . co m } 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)); }//from w w w . j a va2 s . co 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 . ja 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(); } }