List of usage examples for org.eclipse.jface.viewers TableViewer getControl
@Override
public Control getControl()
From source file:org.axdt.asdoc.ui.preferences.DocTableFieldEditor.java
License:Open Source License
private void createTableViwerColumn(TableViewer tableViewer2, String string, CellLabelProvider labelProvider, ColumnLayoutData layoutData) {//from ww w . j av a 2 s. c o m TableViewerColumn viewerNameColumn = new TableViewerColumn(tableViewer2, SWT.NONE); viewerNameColumn.getColumn().setText(string); viewerNameColumn.setLabelProvider(labelProvider); Layout layout = tableViewer2.getControl().getParent().getLayout(); if (layout instanceof TableColumnLayout) { ((TableColumnLayout) layout).setColumnData(viewerNameColumn.getColumn(), layoutData); } }
From source file:org.bonitasoft.studio.businessobject.ui.expression.QueryExpressionEditor.java
License:Open Source License
private void createQueryParametersTable(final Composite parent, final DataBindingContext ctx) { final Composite composite = new Composite(parent, SWT.NONE); composite.setLayoutData(GridDataFactory.fillDefaults().span(2, 1).create()); composite.setLayout(GridLayoutFactory.fillDefaults().numColumns(1).margins(0, 0).spacing(0, 2).create()); final Label parameterLabel = new Label(composite, SWT.NONE); parameterLabel.setLayoutData(GridDataFactory.fillDefaults().align(SWT.LEFT, SWT.CENTER).create()); parameterLabel.setText(Messages.parameters); final ControlDecoration parameterDecoration = new ControlDecoration(parameterLabel, SWT.RIGHT); parameterDecoration.setShowOnlyOnFocus(false); parameterDecoration.setDescriptionText(Messages.paginationParameterHint); parameterDecoration.setImage(Pics.getImage(PicsConstants.hint)); parameterDecoration.hide();/*from ww w . ja v a2 s . c o m*/ observeQuerySingleSelection.addValueChangeListener(new IValueChangeListener() { @Override public void handleValueChange(final ValueChangeEvent event) { final Object newValue = event.diff.getNewValue(); if (newValue instanceof Expression) { if (List.class.getName().equals(((Expression) newValue).getReturnType())) { parameterDecoration.show(); } else { parameterDecoration.hide(); } } } }); final TableViewer parametersTableViewer = new TableViewer(composite, SWT.FULL_SELECTION | SWT.BORDER | SWT.V_SCROLL | SWT.H_SCROLL); parametersTableViewer.getControl() .setLayoutData(GridDataFactory.fillDefaults().grab(true, true).hint(300, 80).create()); parametersTableViewer.getTable().setLinesVisible(true); parametersTableViewer.getTable().setHeaderVisible(true); parametersTableViewer.setContentProvider(new ObservableListContentProvider()); final TableLayout tableLayout = new TableLayout(); tableLayout.addColumnData(new ColumnWeightData(1)); tableLayout.addColumnData(new ColumnWeightData(1)); parametersTableViewer.getTable().setLayout(tableLayout); queryParameterObserveDetailList = EMFObservables.observeDetailList(Realm.getDefault(), observeQuerySingleSelection, ExpressionPackage.Literals.EXPRESSION__REFERENCED_ELEMENTS); createNameColumn(ctx, parametersTableViewer); createValueColumn(ctx, parametersTableViewer); parametersTableViewer.setInput(queryParameterObserveDetailList); }
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 w ww.ja v a 2 s .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// w ww. ja v a 2s . 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() .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//from w w w .j av a 2 s. c om 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() .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// www.ja v a 2 s . c o m 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() .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() .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//from w ww . j av a 2s . c o m 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 w w w. ja v a2 s . co m*/ 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.engine.ui.dialog.ProcessEnablementProblemsDialog.java
License:Open Source License
@Override protected Control createCustomArea(Composite parent) { if (processResolutionProblems.isEmpty()) { return super.createCustomArea(parent); }// ww w.j a va 2 s .co m TableViewer problemsViewer = new TableViewer(parent, SWT.BORDER | SWT.V_SCROLL | SWT.H_SCROLL); problemsViewer.getControl().setLayoutData( GridDataFactory.fillDefaults().grab(true, true).hint(300, 100).indent(0, 10).create()); problemsViewer.setContentProvider(new ArrayContentProvider()); problemsViewer.setLabelProvider(new LabelProvider() { /* * (non-Javadoc) * @see org.eclipse.jface.viewers.LabelProvider#getText(java.lang.Object) */ @Override public String getText(Object element) { return ((Problem) element).getDescription(); } /* * (non-Javadoc) * @see org.eclipse.jface.viewers.LabelProvider#getImage(java.lang.Object) */ @Override public Image getImage(Object element) { return ((Problem) element).getLevel() == Level.ERROR ? JFaceResources.getImage(Dialog.DLG_IMG_MESSAGE_ERROR) : JFaceResources.getImage(Dialog.DLG_IMG_MESSAGE_WARNING); } }); problemsViewer.setInput(processResolutionProblems); return problemsViewer.getControl(); }