List of usage examples for org.eclipse.jface.databinding.swt SWTObservables observeEnabled
@Deprecated public static ISWTObservableValue observeEnabled(Control control)
From source file:gov.redhawk.prf.internal.ui.editor.detailspart.StructSequencePropertyDetailsPage.java
License:Open Source License
/** * {@inheritDoc}// ww w . j av a 2 s .co m */ @Override protected List<Binding> bind(final DataBindingContext context, final EObject input) { final List<Binding> bindings = super.bind(context, input); this.sequence = (StructSequence) input; this.structSequenceComposite.getStructValueViewer().setInput(this.sequence); final IObservableValue target = SWTObservables.observeEnabled(this.structSequenceComposite.getAddButton()); final IEMFListProperty property = EMFProperties.list(FeaturePath .fromList(PrfPackage.Literals.STRUCT_SEQUENCE__STRUCT, PrfPackage.Literals.STRUCT__SIMPLE)); final IObservableList list = property.observe(this.sequence); final IObservableValue value = new ComputedValue() { @Override protected Object calculate() { return list.isEmpty(); } }; //Only enable the button if the list isn't empty bindings.add(context.bindValue(target, value, null, new UpdateValueStrategy() { @Override public Object convert(final Object value) { return !((Boolean) value); } })); return bindings; }
From source file:net.sf.rcer.conn.ui.login.LoginDialog.java
License:Open Source License
/** * Connects the UI elements to the model elements. *//*from w ww . j a va 2 s . co m*/ private void bindUserInterface() { // set the values of the locales combo final Collection<Locale> locales = LocaleRegistry.getInstance().getLocales(); final Iterator<Locale> it = locales.iterator(); final LocaleToStringConverter converter = new LocaleToStringConverter(true); String[] entries = new String[locales.size() + 1]; for (int i = 0; i < locales.size(); i++) { entries[i] = (String) converter.convert(it.next()); } entries[locales.size()] = ""; //$NON-NLS-1$ localeCombo.setItems(entries); context = new DataBindingContext(); // observe changes in the selection of the connection combo IObservableValue selection = ViewersObservables.observeSingleSelection(connectionComboViewer); IObservableValue connection = BeansObservables.observeDetailValue(selection, "connection", //$NON-NLS-1$ IConnection.class); // bind the client context.bindValue(SWTObservables.observeText(clientText, SWT.Modify), BeansObservables.observeDetailValue(connection, "client", String.class), //$NON-NLS-1$ new UpdateValueStrategy(), new UpdateValueStrategy()); context.bindValue(SWTObservables.observeEnabled(clientText), BeansObservables.observeDetailValue(connection, "clientEditable", boolean.class), //$NON-NLS-1$ new UpdateValueStrategy(UpdateValueStrategy.POLICY_NEVER), new UpdateValueStrategy()); // bind the user name context.bindValue(SWTObservables.observeText(userText, SWT.Modify), BeansObservables.observeDetailValue(connection, "userName", String.class), //$NON-NLS-1$ new UpdateValueStrategy(), new UpdateValueStrategy()); context.bindValue(SWTObservables.observeEnabled(userText), BeansObservables.observeDetailValue(connection, "userEditable", boolean.class), //$NON-NLS-1$ new UpdateValueStrategy(UpdateValueStrategy.POLICY_NEVER), new UpdateValueStrategy()); // bind the password context.bindValue(SWTObservables.observeText(passwordText, SWT.Modify), BeansObservables.observeDetailValue(selection, "password", String.class), //$NON-NLS-1$ new UpdateValueStrategy(), new UpdateValueStrategy()); // bind the locale context.bindValue(SWTObservables.observeSelection(localeCombo), BeansObservables.observeDetailValue(connection, "locale", Locale.class), //$NON-NLS-1$ new UpdateValueStrategy().setConverter(new LocaleFromStringConverter()), new UpdateValueStrategy().setConverter(new LocaleToStringConverter(true))); context.bindValue(SWTObservables.observeEnabled(localeCombo), BeansObservables.observeDetailValue(connection, "localeEditable", boolean.class), //$NON-NLS-1$ new UpdateValueStrategy(UpdateValueStrategy.POLICY_NEVER), new UpdateValueStrategy()); // provide the connection list with input data connectionComboViewer.setContentProvider(new ObservableListContentProvider()); connectionComboViewer.setInput(credentials); // select the first entry connectionComboViewer.setSelection(new StructuredSelection(credentials.get(0))); // only enable the combo box if more than one connection can be chosen connectionComboViewer.getCombo().setEnabled(credentials.size() > 1); }
From source file:org.bonitasoft.studio.actors.ui.section.AssignableActorsPropertySection.java
License:Open Source License
@Override protected void updateDatabinding() { super.updateDatabinding(); actorDefinedInLaneLabel.setText(""); final Assignable assignable = (Assignable) getEObject(); if (assignable != null) { EObject current = assignable;/*from w w w . jav a2 s. c om*/ while (current != null && !(current instanceof Lane)) { current = current.eContainer(); } useLaneActorButton.setEnabled(current instanceof Lane); final IObservableValue value = EMFEditObservables.observeValue(getEditingDomain(), assignable, ProcessPackage.Literals.TASK__OVERRIDE_ACTORS_OF_THE_LANE); emfDatabindingContext.bindValue(SWTObservables.observeSelection(taskActorButton), value); emfDatabindingContext.bindValue(SWTObservables.observeSelection(useLaneActorButton), value, new UpdateValueStrategy(), new UpdateValueStrategy().setConverter(new Converter(Boolean.class, Boolean.class) { @Override public Object convert(Object from) { return !(Boolean) from; } })); final UpdateValueStrategy updateValueStrategy = new UpdateValueStrategy() .setConverter(new Converter(Boolean.class, Boolean.class) { @Override public Object convert(Object from) { return !(Boolean) from; } }); emfDatabindingContext.bindValue(SWTObservables.observeEnabled(actorComboViewer.getControl()), SWTObservables.observeSelection(useLaneActorButton), new UpdateValueStrategy(), updateValueStrategy); databindactorDefinedInLaneLabel(assignable); } }
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/*from ww w . ja v a 2s . 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); }
From source file:org.bonitasoft.studio.businessobject.ui.wizard.BusinessDataModelWizardPage.java
License:Open Source License
protected IViewerObservableValue createListOfBusinessObjects(final Composite mainComposite, final DataBindingContext ctx) { final Group group = new Group(mainComposite, SWT.NONE); group.setLayoutData(GridDataFactory.fillDefaults().grab(false, true).create()); group.setLayout(GridLayoutFactory.fillDefaults().numColumns(2).margins(5, 5).spacing(5, 0).create()); group.setText(Messages.listOfBusinessObjects); final Composite buttonsComposite = new Composite(group, SWT.NONE); buttonsComposite.setLayoutData(GridDataFactory.fillDefaults().grab(false, true).indent(0, 20).create()); buttonsComposite/* w ww . j a v a2s .c o m*/ .setLayout(GridLayoutFactory.fillDefaults().numColumns(1).margins(0, 0).spacing(0, 3).create()); final Button addButton = new Button(buttonsComposite, SWT.FLAT); addButton.setLayoutData(GridDataFactory.fillDefaults().grab(true, false) .minSize(IDialogConstants.BUTTON_WIDTH, SWT.DEFAULT).create()); addButton.setText(Messages.add); final Button deleteButton = new Button(buttonsComposite, SWT.FLAT); deleteButton.setLayoutData(GridDataFactory.fillDefaults().grab(true, false) .minSize(IDialogConstants.BUTTON_WIDTH, SWT.DEFAULT).create()); deleteButton.setText(Messages.delete); deleteButton.setEnabled(false); final TableViewer boTableViewer = new TableViewer(group, SWT.BORDER | SWT.V_SCROLL | SWT.H_SCROLL); boTableViewer.getControl() .setLayoutData(GridDataFactory.fillDefaults().grab(true, true).hint(200, SWT.DEFAULT).create()); boTableViewer.getTable().setLinesVisible(true); boTableViewer.getTable().setHeaderVisible(true); final TableLayout tableLayout = new TableLayout(); tableLayout.addColumnData(new ColumnWeightData(1)); boTableViewer.getTable().setLayout(tableLayout); boTableViewer.setContentProvider(new ObservableListContentProvider()); final IViewerObservableValue observeSingleSelection = ViewersObservables .observeSingleSelection(boTableViewer); boTableViewer.getColumnViewerEditor() .addEditorActivationListener(new ColumnViewerEditorActivationListener() { @Override public void beforeEditorDeactivated(final ColumnViewerEditorDeactivationEvent event) { } @Override public void beforeEditorActivated(final ColumnViewerEditorActivationEvent event) { } @Override public void afterEditorDeactivated(final ColumnViewerEditorDeactivationEvent event) { final ISelection selection = boTableViewer.getSelection(); if (selection != null && ((IStructuredSelection) selection).getFirstElement() != null) { businessObjectDescriptionGroup.setText(NamingUtils.getSimpleName( ((BusinessObject) ((IStructuredSelection) selection).getFirstElement()) .getQualifiedName())); boTableViewer.refresh(); } else { businessObjectDescriptionGroup.setText(Messages.selectABusinessObjectToEdit); } } @Override public void afterEditorActivated(final ColumnViewerEditorActivationEvent event) { } }); createBusinessObjectNameColumn(ctx, observeSingleSelection, boTableViewer); 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(deleteButton), observeSingleSelection, new UpdateValueStrategy(UpdateValueStrategy.POLICY_NEVER), enableStrategy); final IObservableList businessObjectObserveList = PojoObservables.observeList(businessObjectModel, "businessObjects"); boTableViewer.setInput(businessObjectObserveList); addButton.addSelectionListener(new SelectionAdapter() { /* * (non-Javadoc) * @see org.eclipse.swt.events.SelectionAdapter#widgetSelected(org.eclipse.swt.events.SelectionEvent) */ @Override public void widgetSelected(final SelectionEvent e) { addBusinessObject(boTableViewer, businessObjectObserveList); } }); deleteButton.addSelectionListener(new SelectionAdapter() { /* * (non-Javadoc) * @see org.eclipse.swt.events.SelectionAdapter#widgetSelected(org.eclipse.swt.events.SelectionEvent) */ @Override public void widgetSelected(final SelectionEvent e) { deleteBusinessObject(boTableViewer, observeSingleSelection, businessObjectObserveList); } }); return observeSingleSelection; }
From source file:org.bonitasoft.studio.businessobject.ui.wizard.control.AttributesTabItemControl.java
License:Open Source License
private IViewerObservableValue createAttributeTableControl(final DataBindingContext ctx, final IViewerObservableValue viewerObservableValue) { final Composite buttonsComposite = new Composite(this, SWT.NONE); buttonsComposite.setLayoutData(GridDataFactory.fillDefaults().grab(false, true).indent(0, 20).create()); buttonsComposite//from w w w.j a v a2 s . c o m .setLayout(GridLayoutFactory.fillDefaults().numColumns(1).margins(0, 0).spacing(0, 3).create()); final Button addButton = createAddButton(ctx, viewerObservableValue, buttonsComposite); 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(addButton), viewerObservableValue, null, enableStrategy); final Button upButton = createUpButton(viewerObservableValue, buttonsComposite); final Button downButton = createDownButton(viewerObservableValue, buttonsComposite); final Button deleteButton = createDeleteButton(buttonsComposite); final TableViewer featuresTableViewer = new TableViewer(this, SWT.FULL_SELECTION | SWT.BORDER | SWT.V_SCROLL | SWT.H_SCROLL | SWT.MULTI); featuresTableViewer.getControl() .setLayoutData(GridDataFactory.fillDefaults().grab(true, true).hint(500, 200).create()); featuresTableViewer.getTable().setEnabled(viewerObservableValue.getValue() != null); featuresTableViewer.getTable().setLinesVisible(true); featuresTableViewer.getTable().setHeaderVisible(true); featuresTableViewer.setContentProvider(new ObservableListContentProvider()); ColumnViewerToolTipSupport.enableFor(featuresTableViewer); ctx.bindValue(SWTObservables.observeEnabled(featuresTableViewer.getTable()), viewerObservableValue, null, enableStrategy); final IViewerObservableValue observeAttributeSelection = ViewersObservables .observeSingleSelection(featuresTableViewer); final TableLayout tableLayout = new TableLayout(); tableLayout.addColumnData(new ColumnWeightData(4)); tableLayout.addColumnData(new ColumnWeightData(4)); tableLayout.addColumnData(new ColumnWeightData(3)); tableLayout.addColumnData(new ColumnWeightData(3)); featuresTableViewer.getTable().setLayout(tableLayout); createFieldNameColumn(ctx, featuresTableViewer, viewerObservableValue); createFieldTypeColumn(ctx, featuresTableViewer, observeAttributeSelection); createMultipleColumn(featuresTableViewer); createMandatoryColumn(featuresTableViewer); featuresTableViewer.setInput(fieldsList); fieldsList.addListChangeListener(new IListChangeListener() { @Override public void handleListChange(final ListChangeEvent event) { final IObservableList observableList = event.getObservableList(); if (observableList != null && !observableList.isEmpty()) { featuresTableViewer.getTable().select(0); } } }); addButton.addSelectionListener(new SelectionAdapter() { /* * (non-Javadoc) * @see org.eclipse.swt.events.SelectionAdapter#widgetSelected(org.eclipse.swt.events.SelectionEvent) */ @Override public void widgetSelected(final SelectionEvent e) { addField(viewerObservableValue, featuresTableViewer, observeAttributeSelection); } }); deleteButton.addSelectionListener(new SelectionAdapter() { /* * (non-Javadoc) * @see org.eclipse.swt.events.SelectionAdapter#widgetSelected(org.eclipse.swt.events.SelectionEvent) */ @Override public void widgetSelected(final SelectionEvent e) { deleteField(featuresTableViewer, viewerObservableValue); } }); 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(deleteButton), observeAttributeSelection, null, enableStrategy); final UpdateValueStrategy upEnableStrategy = new UpdateValueStrategy(); upEnableStrategy.setConverter(new Converter(Object.class, Boolean.class) { @Override public Object convert(final Object fromObject) { if (fromObject != null) { final List<Field> eList = getFieldList(viewerObservableValue); return eList.indexOf(fromObject) > 0; } return false; } }); ctx.bindValue(SWTObservables.observeEnabled(upButton), observeAttributeSelection, null, upEnableStrategy); final UpdateValueStrategy downEnableStrategy = new UpdateValueStrategy(); downEnableStrategy.setConverter(new Converter(Object.class, Boolean.class) { @Override public Object convert(final Object fromObject) { if (fromObject != null) { final List<Field> eList = getFieldList(viewerObservableValue); return eList.indexOf(fromObject) < eList.size() - 1 && eList.size() > 1; } return false; } }); ctx.bindValue(SWTObservables.observeEnabled(downButton), observeAttributeSelection, null, downEnableStrategy); upButton.addSelectionListener(new SelectionAdapter() { /* * (non-Javadoc) * @see org.eclipse.swt.events.SelectionAdapter#widgetSelected(org.eclipse.swt.events.SelectionEvent) */ @Override public void widgetSelected(final SelectionEvent e) { moveUp(viewerObservableValue, observeAttributeSelection); featuresTableViewer.refresh(); } }); downButton.addSelectionListener(new SelectionAdapter() { /* * (non-Javadoc) * @see org.eclipse.swt.events.SelectionAdapter#widgetSelected(org.eclipse.swt.events.SelectionEvent) */ @Override public void widgetSelected(final SelectionEvent e) { moveDown(viewerObservableValue, observeAttributeSelection); featuresTableViewer.refresh(); } }); viewerObservableValue.addValueChangeListener(new IValueChangeListener() { @Override public void handleValueChange(final ValueChangeEvent event) { final Object selectedBO = event.diff.getNewValue(); if (selectedBO instanceof BusinessObject) { final List<Field> fields = ((BusinessObject) selectedBO).getFields(); if (fields.isEmpty()) { observeAttributeSelection.setValue(null); } else { observeAttributeSelection.setValue(fields.get(0)); } } } }); return observeAttributeSelection; }
From source file:org.bonitasoft.studio.businessobject.ui.wizard.control.IndexesTabItemControl.java
License:Open Source License
protected void createControl(final DataBindingContext ctx, final IViewerObservableValue viewerObservableValue) { setLayoutData(GridDataFactory.fillDefaults().align(SWT.LEFT, SWT.TOP).create()); setLayout(GridLayoutFactory.fillDefaults().numColumns(2).margins(5, 5).create()); final Composite buttonsComposite = new Composite(this, SWT.NONE); buttonsComposite.setLayoutData(GridDataFactory.fillDefaults().grab(false, true).indent(0, 20).create()); buttonsComposite.setLayout(GridLayoutFactory.fillDefaults().numColumns(1).spacing(0, 3).create()); final Button addButton = createAddButton(ctx, viewerObservableValue, buttonsComposite); final Button deleteButton = createDeleteButton(buttonsComposite); final TableViewer indexesTableViewer = new TableViewer(this, SWT.FULL_SELECTION | SWT.BORDER | SWT.V_SCROLL | SWT.H_SCROLL | SWT.MULTI); indexesTableViewer.getControl()/*from w ww . j a v a2 s .c o m*/ .setLayoutData(GridDataFactory.fillDefaults().grab(true, true).hint(400, 300).create()); indexesTableViewer.getTable().setEnabled(viewerObservableValue.getValue() != null); indexesTableViewer.getTable().setLinesVisible(true); indexesTableViewer.getTable().setHeaderVisible(true); indexesTableViewer.setContentProvider(new ObservableListContentProvider()); final TableLayout tableLayout = new TableLayout(); tableLayout.addColumnData(new ColumnWeightData(1)); tableLayout.addColumnData(new ColumnWeightData(2)); indexesTableViewer.getTable().setLayout(tableLayout); 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(indexesTableViewer.getTable()), viewerObservableValue, null, enableStrategy); final IViewerObservableValue constaintObserveSingleSelection = ViewersObservables .observeSingleSelection(indexesTableViewer); ctx.bindValue(SWTObservables.observeEnabled(deleteButton), constaintObserveSingleSelection, null, enableStrategy); enableStrategy = new UpdateValueStrategy(); enableStrategy.setConverter(new Converter(Object.class, Boolean.class) { @Override public Object convert(final Object fromObject) { return fromObject instanceof List && !((List<?>) fromObject).isEmpty(); } }); fieldsList.addListChangeListener(new IListChangeListener() { @Override public void handleListChange(final ListChangeEvent event) { addButton.setEnabled(!event.getObservableList().isEmpty()); } }); createIndexNameColumn(ctx, indexesTableViewer, viewerObservableValue); createIndexFieldsColumn(ctx, indexesTableViewer, viewerObservableValue); final IObservableList indexesObserveDetailList = PojoObservables.observeDetailList(viewerObservableValue, "indexes", Index.class); indexesTableViewer.setInput(indexesObserveDetailList); addButton.addSelectionListener(new SelectionAdapter() { /* * (non-Javadoc) * @see org.eclipse.swt.events.SelectionAdapter#widgetSelected(org.eclipse.swt.events.SelectionEvent) */ @Override public void widgetSelected(final SelectionEvent e) { addIndex(viewerObservableValue, indexesObserveDetailList, indexesTableViewer); } }); deleteButton.addSelectionListener(new SelectionAdapter() { /* * (non-Javadoc) * @see org.eclipse.swt.events.SelectionAdapter#widgetSelected(org.eclipse.swt.events.SelectionEvent) */ @Override public void widgetSelected(final SelectionEvent e) { deleteIndex(indexesObserveDetailList, indexesTableViewer); } }); }
From source file:org.bonitasoft.studio.businessobject.ui.wizard.control.QueriesTabItemControl.java
License:Open Source License
protected Composite createCustomQueriesControl(DataBindingContext ctx, final IViewerObservableValue viewerObservableValue, final Composite parent) { final Composite composite = new Composite(parent, SWT.NONE); composite.setLayoutData(GridDataFactory.fillDefaults().align(SWT.LEFT, SWT.TOP).create()); composite.setLayout(GridLayoutFactory.fillDefaults().numColumns(2).margins(5, 5).create()); final Composite buttonsComposite = new Composite(composite, SWT.NONE); buttonsComposite.setLayoutData(GridDataFactory.fillDefaults().grab(false, true).indent(0, 20).create()); buttonsComposite.setLayout(GridLayoutFactory.fillDefaults().numColumns(1).spacing(0, 3).create()); final Button addButton = createAddButton(ctx, viewerObservableValue, buttonsComposite); final Button deleteButton = createDeleteButton(buttonsComposite); final TableViewer queriesTableViewer = new TableViewer(composite, SWT.FULL_SELECTION | SWT.BORDER | SWT.V_SCROLL | SWT.H_SCROLL | SWT.MULTI); queriesTableViewer.getControl()/*from w w w .j a v a2s . co m*/ .setLayoutData(GridDataFactory.fillDefaults().grab(true, true).hint(400, 300).create()); queriesTableViewer.getTable().setEnabled(viewerObservableValue.getValue() != null); queriesTableViewer.getTable().setLinesVisible(true); queriesTableViewer.getTable().setHeaderVisible(true); queriesTableViewer.setContentProvider(new ObservableListContentProvider()); TableLayout tableLayout = new TableLayout(); tableLayout.addColumnData(new ColumnWeightData(1)); tableLayout.addColumnData(new ColumnWeightData(3)); queriesTableViewer.getTable().setLayout(tableLayout); UpdateValueStrategy enableStrategy = new UpdateValueStrategy(); enableStrategy.setConverter(new Converter(Object.class, Boolean.class) { @Override public Object convert(Object fromObject) { return fromObject != null; } }); ctx.bindValue(SWTObservables.observeEnabled(queriesTableViewer.getTable()), viewerObservableValue, null, enableStrategy); IViewerObservableValue constaintObserveSingleSelection = ViewersObservables .observeSingleSelection(queriesTableViewer); ctx.bindValue(SWTObservables.observeEnabled(deleteButton), constaintObserveSingleSelection, null, enableStrategy); enableStrategy = new UpdateValueStrategy(); enableStrategy.setConverter(new Converter(Object.class, Boolean.class) { @Override public Object convert(Object fromObject) { return fromObject instanceof List && !((List<?>) fromObject).isEmpty(); } }); fieldsList.addListChangeListener(new IListChangeListener() { @Override public void handleListChange(ListChangeEvent event) { addButton.setEnabled(!event.getObservableList().isEmpty()); } }); TableViewerColumn nameColumnViewer = createQueryNameColumn(ctx, queriesTableViewer); nameColumnViewer.setEditingSupport( new QueryNameEditingSupport(viewerObservableValue, nameColumnViewer.getViewer(), ctx)); TableViewerColumn queryContentColumnViewer = createQueryContentColumn(ctx, queriesTableViewer); queryContentColumnViewer.setEditingSupport( new QueryContentEditingSupport(queryContentColumnViewer.getViewer(), viewerObservableValue)); final IObservableList queryObserveDetailList = PojoObservables.observeDetailList(viewerObservableValue, "queries", Query.class); queriesTableViewer.setInput(queryObserveDetailList); addButton.addSelectionListener(new SelectionAdapter() { /* * (non-Javadoc) * @see org.eclipse.swt.events.SelectionAdapter#widgetSelected(org.eclipse.swt.events.SelectionEvent) */ @Override public void widgetSelected(SelectionEvent e) { addQuery(viewerObservableValue, queryObserveDetailList, queriesTableViewer); } }); deleteButton.addSelectionListener(new SelectionAdapter() { /* * (non-Javadoc) * @see org.eclipse.swt.events.SelectionAdapter#widgetSelected(org.eclipse.swt.events.SelectionEvent) */ @Override public void widgetSelected(SelectionEvent e) { deleteQuery(queryObserveDetailList, queriesTableViewer); } }); return composite; }
From source file:org.bonitasoft.studio.businessobject.ui.wizard.control.UniqueConstraintTabItemControl.java
License:Open Source License
protected void createControl(final DataBindingContext ctx, final IViewerObservableValue viewerObservableValue) { setLayoutData(GridDataFactory.fillDefaults().align(SWT.LEFT, SWT.TOP).create()); setLayout(GridLayoutFactory.fillDefaults().numColumns(2).margins(5, 5).create()); final Composite buttonsComposite = new Composite(this, SWT.NONE); buttonsComposite.setLayoutData(GridDataFactory.fillDefaults().grab(false, true).indent(0, 20).create()); buttonsComposite.setLayout(GridLayoutFactory.fillDefaults().numColumns(1).spacing(0, 3).create()); final Button addButton = createAddButton(ctx, viewerObservableValue, buttonsComposite); final Button deleteButton = createDeleteButton(buttonsComposite); final TableViewer constraintsTableViewer = new TableViewer(this, SWT.FULL_SELECTION | SWT.BORDER | SWT.V_SCROLL | SWT.H_SCROLL | SWT.MULTI); constraintsTableViewer.getControl()//from w w w . j a v a 2s.com .setLayoutData(GridDataFactory.fillDefaults().grab(true, true).hint(400, 300).create()); constraintsTableViewer.getTable().setEnabled(viewerObservableValue.getValue() != null); constraintsTableViewer.getTable().setLinesVisible(true); constraintsTableViewer.getTable().setHeaderVisible(true); constraintsTableViewer.setContentProvider(new ObservableListContentProvider()); final TableLayout tableLayout = new TableLayout(); tableLayout.addColumnData(new ColumnWeightData(1)); tableLayout.addColumnData(new ColumnWeightData(2)); constraintsTableViewer.getTable().setLayout(tableLayout); 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(constraintsTableViewer.getTable()), viewerObservableValue, null, enableStrategy); final IViewerObservableValue constaintObserveSingleSelection = ViewersObservables .observeSingleSelection(constraintsTableViewer); ctx.bindValue(SWTObservables.observeEnabled(deleteButton), constaintObserveSingleSelection, null, enableStrategy); enableStrategy = new UpdateValueStrategy(); enableStrategy.setConverter(new Converter(Object.class, Boolean.class) { @Override public Object convert(final Object fromObject) { return fromObject instanceof List && !((List<?>) fromObject).isEmpty(); } }); fieldsList.addListChangeListener(new IListChangeListener() { @Override public void handleListChange(final ListChangeEvent event) { addButton.setEnabled(!event.getObservableList().isEmpty()); } }); createUniqueConstraintNameColumn(ctx, constraintsTableViewer, viewerObservableValue); createUniqueConstraintFieldsColumn(ctx, constraintsTableViewer, viewerObservableValue); final IObservableList uniqueConstraintObserveDetailList = PojoObservables .observeDetailList(viewerObservableValue, "uniqueConstraints", List.class); constraintsTableViewer.setInput(uniqueConstraintObserveDetailList); addButton.addSelectionListener(new SelectionAdapter() { /* * (non-Javadoc) * @see org.eclipse.swt.events.SelectionAdapter#widgetSelected(org.eclipse.swt.events.SelectionEvent) */ @Override public void widgetSelected(final SelectionEvent e) { addUniqueConstraint(viewerObservableValue, uniqueConstraintObserveDetailList, constraintsTableViewer); } }); deleteButton.addSelectionListener(new SelectionAdapter() { /* * (non-Javadoc) * @see org.eclipse.swt.events.SelectionAdapter#widgetSelected(org.eclipse.swt.events.SelectionEvent) */ @Override public void widgetSelected(final SelectionEvent e) { deleteUniqueConstraint(uniqueConstraintObserveDetailList, constraintsTableViewer); } }); }
From source file:org.bonitasoft.studio.businessobject.ui.wizard.QueryWizardPage.java
License:Open Source License
protected void bindDeleteParameterButtonEnablement(final DataBindingContext ctx, final Button deleteButton, final TableViewer parametersTableViewer, final UpdateValueStrategy enableStrategy) { ctx.bindValue(SWTObservables.observeEnabled(deleteButton), ViewersObservables.observeSingleSelection(parametersTableViewer), null, enableStrategy); }