List of usage examples for org.eclipse.jface.databinding.viewers ObservableListContentProvider ObservableListContentProvider
public ObservableListContentProvider()
From source file:org.bonitasoft.studio.businessobject.ui.expression.QueryExpressionEditor.java
License:Open Source License
private void createBusinessObjectComboViewer(final Composite composite, final IObservableList observeBoList) { final Composite boComposite = new Composite(composite, SWT.NONE); boComposite.setLayoutData(GridDataFactory.fillDefaults().create()); boComposite.setLayout(GridLayoutFactory.fillDefaults().numColumns(1).margins(0, 0).spacing(0, 2).create()); final Label boLabel = new Label(boComposite, SWT.NONE); boLabel.setLayoutData(GridDataFactory.fillDefaults().align(SWT.LEFT, SWT.CENTER).create()); boLabel.setText(Messages.businessObject); final ComboViewer boCombo = new ComboViewer(boComposite, SWT.READ_ONLY | SWT.BORDER); boCombo.getControl()/*from ww w.ja v a 2 s . com*/ .setLayoutData(GridDataFactory.fillDefaults().grab(true, false).minSize(100, SWT.DEFAULT).create()); boCombo.setLabelProvider(new LabelProvider() { @Override public String getText(final Object element) { if (element instanceof BusinessObjectExpressionQuery) { return NamingUtils.getSimpleName(((BusinessObjectExpressionQuery) element).getQualifiedName()); } return super.getText(element); } }); boCombo.setContentProvider(new ObservableListContentProvider()); boCombo.setInput(observeBoList); observeBOSingleSelection = ViewersObservables.observeSingleSelection(boCombo); }
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//from ww w . j ava 2s.c om .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.BusinessObjectDataWizardPage.java
License:Open Source License
protected void createBusinessObjectTypeControl(final Composite mainComposite, final EMFDataBindingContext ctx) { final Label businessObjectLabel = new Label(mainComposite, SWT.NONE); businessObjectLabel.setLayoutData(fillDefaults().align(SWT.END, SWT.CENTER).create()); businessObjectLabel.setText(Messages.businessObject + " *"); final Composite comboComposite = new Composite(mainComposite, SWT.NONE); comboComposite.setLayout(GridLayoutFactory.fillDefaults().numColumns(2).margins(0, 0).create()); comboComposite.setLayoutData(fillDefaults().grab(true, false).create()); final ComboViewer businessObjectComboViewer = new ComboViewer(comboComposite, SWT.READ_ONLY | SWT.BORDER); businessObjectComboViewer.getControl().setLayoutData(fillDefaults().grab(true, false).create()); businessObjectComboViewer.setContentProvider(new ObservableListContentProvider()); businessObjectComboViewer.setLabelProvider(businessObjectLabelProvider()); final WritableList businessObjectsObservableList = new WritableList(getAllBusinessObjects(), BusinessObject.class); final IViewerObservableValue observeSingleSelection = ViewersObservables .observeSingleSelection(businessObjectComboViewer); createNewBusinessObjectLink(comboComposite, businessObjectsObservableList, observeSingleSelection); businessObjectComboViewer.setInput(businessObjectsObservableList); classNameObservable = EMFObservables.observeValue(businessObjectData, ProcessPackage.Literals.JAVA_OBJECT_DATA__CLASS_NAME); ctx.bindValue(observeSingleSelection, classNameObservable, updateValueStrategy().withConverter(businessObjectToFQN()) .withValidator(mandatoryValidator(Messages.businessObject)).create(), updateValueStrategy().withConverter(fqnToBusinessObject()).create()); defaultValueReturnTypeObservable = EMFObservables.observeValue(businessObjectData.getDefaultValue(), ExpressionPackage.Literals.EXPRESSION__RETURN_TYPE); final String className = businessObjectData.getClassName(); if ((className == null || className.isEmpty()) && !businessObjectsObservableList.isEmpty()) { observeSingleSelection.setValue(businessObjectsObservableList.get(0)); }// w w w. ja va 2 s. co m }
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 www . j ava 2 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 w w . j av a 2 s. c om .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 www .ja v a2s. c o 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.QueriesTabItemControl.java
License:Open Source License
private Composite createDefaultQueriesControl(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(1).margins(5, 5).create()); final TableViewer queriesTableViewer = new TableViewer(composite, SWT.FULL_SELECTION | SWT.BORDER | SWT.V_SCROLL | SWT.H_SCROLL | SWT.MULTI); queriesTableViewer.getControl()/*from w ww . j av a 2 s .c o m*/ .setLayoutData(GridDataFactory.fillDefaults().grab(true, true).hint(400, 300).create()); 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); createQueryNameColumn(ctx, queriesTableViewer); TableViewerColumn queryContentColumnViewer = createQueryContentColumn(ctx, queriesTableViewer); queryContentColumnViewer.setEditingSupport(new ReadOnlyQueryContentEditingSupport( queryContentColumnViewer.getViewer(), viewerObservableValue)); queriesTableViewer.setInput(defaultQueriesList); 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()// w w w . j a va2s. 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 createQueryParametersTable(final Composite parent, final DataBindingContext ctx) { final Composite composite = new Composite(parent, SWT.NONE); composite.setLayoutData(GridDataFactory.fillDefaults().create()); composite.setLayout(GridLayoutFactory.fillDefaults().numColumns(2).margins(0, 0).spacing(5, 0).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(buttonsComposite); addButton.setLayoutData(GridDataFactory.fillDefaults().grab(true, false) .minSize(IDialogConstants.BUTTON_WIDTH, SWT.DEFAULT).create()); addButton.setText(Messages.add);//from ww w .ja va 2 s. c om final Button deleteButton = createAddButton(buttonsComposite); deleteButton.setLayoutData(GridDataFactory.fillDefaults().grab(true, false) .minSize(IDialogConstants.BUTTON_WIDTH, SWT.DEFAULT).create()); deleteButton.setText(Messages.delete); deleteButton.setEnabled(false); final TableViewer parametersTableViewer = new TableViewer(composite, SWT.FULL_SELECTION | SWT.BORDER | SWT.V_SCROLL | SWT.H_SCROLL | SWT.MULTI); parametersTableViewer.getControl() .setLayoutData(GridDataFactory.fillDefaults().grab(true, true).hint(300, 100).create()); parametersTableViewer.getTable().setLinesVisible(true); parametersTableViewer.getTable().setHeaderVisible(true); parametersTableViewer.setContentProvider(new ObservableListContentProvider()); final TableLayout tableLayout = new TableLayout(); tableLayout.addColumnData(new ColumnWeightData(3)); tableLayout.addColumnData(new ColumnWeightData(2)); parametersTableViewer.getTable().setLayout(tableLayout); final IObservableList queryParameterObserveDetailList = PojoObservables.observeList(getQuery(), "queryParameters"); 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) { final QueryParameter param = new QueryParameter(generateName(), String.class.getName()); queryParameterObserveDetailList.add(param); parametersTableViewer.editElement(param, 0); queryBinding.validateTargetToModel(); } }); final UpdateValueStrategy enableStrategy = new UpdateValueStrategy(); enableStrategy.setConverter(new Converter(Object.class, Boolean.class) { @Override public Object convert(final Object fromObject) { return fromObject != null; } }); bindDeleteParameterButtonEnablement(ctx, deleteButton, parametersTableViewer, enableStrategy); 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) { final List<?> element = ((IStructuredSelection) parametersTableViewer.getSelection()).toList(); queryParameterObserveDetailList.removeAll(element); queryBinding.validateTargetToModel(); } }); createNameColumn(ctx, parametersTableViewer); createTypeColumn(ctx, parametersTableViewer); parametersTableViewer.setInput(queryParameterObserveDetailList); }
From source file:org.bonitasoft.studio.contract.ui.property.constraint.ContractConstraintsTableViewer.java
License:Open Source License
public void initialize(final IViewerController constraintController, final IMessageManager messageManager, final EMFDataBindingContext emfDataBindingContext) { this.messageManager = messageManager; this.constraintController = constraintController; this.emfDataBindingContext = emfDataBindingContext; final ProcessItemProviderAdapterFactory adapterFactory = new ProcessItemProviderAdapterFactory(); propertySourceProvider = new AdapterFactoryContentProvider(adapterFactory); adapterFactoryLabelProvider = new AdapterFactoryLabelProvider(adapterFactory); getTable().setHeaderVisible(true);/* w w w .ja v a2 s . co m*/ getTable().setLinesVisible(true); setContentProvider(new ObservableListContentProvider()); final CellNavigationStrategy cellNavigationStrategy = new AddRowOnEnterCellNavigationStrategy(this, constraintController); final TableViewerFocusCellManager focusCellManager = new TableViewerFocusCellManager(this, new FocusCellOwnerDrawHighlighter(this), cellNavigationStrategy); TableViewerEditor.create(this, focusCellManager, new CharriageColumnViewerEditorActivationStrategy(this), ColumnViewerEditor.TABBING_HORIZONTAL | ColumnViewerEditor.TABBING_MOVE_TO_ROW_NEIGHBOR | ColumnViewerEditor.TABBING_VERTICAL | ColumnViewerEditor.KEYBOARD_ACTIVATION); ColumnViewerToolTipSupport.enableFor(this); configureTableLayout(); createColumns(); }