List of usage examples for org.eclipse.jface.databinding.viewers ObservableListContentProvider ObservableListContentProvider
public ObservableListContentProvider()
From source file:era.foss.typeeditor.common.Ui.java
License:Open Source License
/** * Create a column with EMF databinding for a table viewer * //ww w.j av a2 s. com * <li>In case the top level structural feature is a reference display a combo box</li> <li>In case the top level * structural feature is a containment reference create element if it does not exist</li> <li>In case the structural * feature is a boolean show a checkbox</li> <li>Otherwise show a simple text field</li>. * * @param column the column * @param eStructuralFeatureList list to create a feature path from * @param refObservedObject the ref observed object * @param refEStructuralFeatureList the ref e structural feature list */ public void bindColumn(TableViewerColumn column, EStructuralFeature[] eStructuralFeatureList, EObject refObservedObject, EStructuralFeature[] refEStructuralFeatureList) { TableViewer tableViewer = (TableViewer) column.getViewer(); ObservableListContentProvider cp = (ObservableListContentProvider) tableViewer.getContentProvider(); assert (cp != null); // get the top level structural feature EStructuralFeature topStructuralFeature = eStructuralFeatureList[0]; // set label provider IValueProperty elementProperty = EMFEditProperties.value(editingDomain, FeaturePath.fromList(eStructuralFeatureList)); IObservableMap attributeMap = elementProperty.observeDetail(cp.getKnownElements()); column.setLabelProvider(new ObservableMapCellLabelProvider(attributeMap)); EditingSupport editingSupport = null; // Show combo box for references if (refObservedObject != null && refEStructuralFeatureList != null) { // Combo box: Create combo box to select choices for the reference ComboBoxViewerCellEditor combo = new ComboBoxViewerCellEditorSp((Composite) tableViewer.getControl(), SWT.READ_ONLY); // Combo box: Set Content Provider ObservableListContentProvider comboContentProvider = new ObservableListContentProvider(); combo.setContentProvider(comboContentProvider); IObservableMap comboAttributeMap = EMFProperties .value(eStructuralFeatureList[eStructuralFeatureList.length - 1]) .observeDetail(comboContentProvider.getKnownElements()); combo.setLabelProvider(new ObservableMapLabelProvider(comboAttributeMap)); // Combo box: set input IEMFListProperty dataTypeDefinitions = EMFProperties .list(FeaturePath.fromList(refEStructuralFeatureList)); combo.setInput(dataTypeDefinitions.observe(refObservedObject)); // Set editing support of table cell IValueProperty editorElementProperty = EMFEditProperties.value(editingDomain, topStructuralFeature); IValueProperty cellEditorProperty = ViewerProperties.singleSelection(); editingSupport = ObservableValueEditingSupport.create(tableViewer, dataBindContext, combo, cellEditorProperty, editorElementProperty); } // Simple text else { IValueProperty cellEditorProperty = CellEditorProperties.control() .value(WidgetProperties.text(SWT.Modify)); editingSupport = ObservableValueEditingSupport.create(tableViewer, dataBindContext, new TextCellEditor(tableViewer.getTable()), cellEditorProperty, elementProperty); } column.setEditingSupport(editingSupport); }
From source file:era.foss.typeeditor.datatype.DataTypeDefinitionDetailViewer.java
License:Open Source License
/** * Show UI elements for DatatypeDefintionEnumeration *///from ww w .j a v a2 s. com private void createDetailsEnumeration() { // create table for enumeration values final AddDeleteTableViewer tableViewer = new AddDeleteTableViewer(detailComposite, SWT.MULTI | SWT.V_SCROLL | SWT.BORDER | SWT.FULL_SELECTION); tableViewer.getTable().setHeaderVisible(true); tableViewer.getTable().setLinesVisible(true); tableViewer.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true, 2, 1)); tableViewer.setEditingDomain(editingDomain); tableViewer.setElementInformation((EObject) this.master.getValue(), ErfPackage.Literals.DATATYPE_DEFINITION_ENUMERATION__SPECIFIED_VALUES, ErfPackage.Literals.ENUM_VALUE); ObservableListContentProvider cp = new ObservableListContentProvider(); tableViewer.setContentProvider(cp); TableColumnLayout columnLayout = (TableColumnLayout) tableViewer.getTable().getParent().getLayout(); // create column with name of the element TableViewerColumn columnName = new TableViewerColumn(tableViewer, SWT.NONE); columnLayout.setColumnData(columnName.getColumn(), new ColumnWeightData(20, 20)); columnName.getColumn().setResizable(true); columnName.getColumn().setMoveable(false); columnName.getColumn().setText(Ui.getUiName(ErfPackage.Literals.IDENTIFIABLE__LONG_NAME)); EStructuralFeature[] structuralFeature = { ErfPackage.Literals.IDENTIFIABLE__LONG_NAME }; ui.bindColumn(columnName, structuralFeature); // create column with color of element TableViewerColumn columnColor = new TableViewerColumn(tableViewer, SWT.NONE); columnLayout.setColumnData(columnColor.getColumn(), new ColumnWeightData(10, 10)); columnColor.getColumn().setResizable(false); columnColor.getColumn().setWidth(20); columnColor.setLabelProvider(new EnumColorLabelProvider()); EnumColorEditingSupport colorCellEditingSupport = new EnumColorEditingSupport(tableViewer); colorCellEditingSupport.setEditingDomain(editingDomain); columnColor.setEditingSupport(colorCellEditingSupport); IEMFListProperty enumerationProperty = EMFProperties .list(ErfPackage.Literals.DATATYPE_DEFINITION_ENUMERATION__SPECIFIED_VALUES); tableViewer.setInput(enumerationProperty.observe(master.getValue())); }
From source file:era.foss.typeeditor.datatype.DatatypeDefinitionsForm.java
License:Open Source License
/** * Creates the table viewer.// w w w. j a v a 2s .co m */ private void createTableViewer() { tableViewer = new AddDeleteTableViewer(this, SWT.MULTI | SWT.V_SCROLL | SWT.BORDER | SWT.FULL_SELECTION); tableViewer.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true)); tableViewer.setEditingDomain(editingDomain); tableViewer.setElementInformation(erfModel.getCoreContent(), ErfPackage.Literals.CONTENT__DATA_TYPES, ErfPackage.Literals.DATATYPE_DEFINITION_INTEGER); ObservableListContentProvider cp = new ObservableListContentProvider(); tableViewer.setContentProvider(cp); TableColumnLayout columnLayout = (TableColumnLayout) tableViewer.getTable().getParent().getLayout(); // create column with name of the datatype TableViewerColumn nameColumn = new TableViewerColumn(tableViewer, SWT.NONE); columnLayout.setColumnData(nameColumn.getColumn(), new ColumnWeightData(100, 70)); nameColumn.getColumn().setResizable(true); nameColumn.getColumn().setMoveable(false); nameColumn.getColumn().setText(Ui.getUiName(ErfPackage.Literals.IDENTIFIABLE__LONG_NAME)); EStructuralFeature[] structuralFeature = { ErfPackage.Literals.IDENTIFIABLE__LONG_NAME }; ui.bindColumn(nameColumn, structuralFeature); // create column with type of the datatype TableViewerColumn typeColumn = new TableViewerColumn(tableViewer, SWT.NONE); columnLayout.setColumnData(typeColumn.getColumn(), new ColumnWeightData(70, 30)); typeColumn.getColumn().setResizable(false); typeColumn.getColumn().setMoveable(false); typeColumn.setEditingSupport(new DatatypeDefinitionTypeEditingSupport(tableViewer)); typeColumn.setLabelProvider(new DatatypeDefinitionTypeLabelProvider()); typeColumn.getColumn().setText(typeEditorActivator.getString("_UI_DataTypeDefinitionType_label")); // provide input for the table IEMFListProperty dataTypeProperty = EMFProperties.list(ErfPackage.Literals.CONTENT__DATA_TYPES); tableViewer.setInput(dataTypeProperty.observe(erfModel.getCoreContent())); }
From source file:era.foss.typeeditor.spectype.AttributeDefinitionDetailViewer.java
License:Open Source License
/** * Show UI elements for DatatypeDefintionEnumeration *//*from w w w . j ava 2 s .c om*/ private void createDetailsEnumeration() { final AttributeDefinitionEnumeration attributeDefinitionEnum = (AttributeDefinitionEnumeration) master .getValue(); // create label for multiValued property Label label = new Label(detailComposite, SWT.NONE); label.setText(Ui.getUiName(ErfPackage.Literals.ATTRIBUTE_DEFINITION_ENUMERATION__MULTI_VALUED)); label.setLayoutData(new GridData(SWT.LEFT, SWT.CENTER, true, false)); // create checkbox for multiValued property EAttribute[] isMultiValued = { ErfPackage.Literals.ATTRIBUTE_DEFINITION_ENUMERATION__MULTI_VALUED }; BindingCheckBox multiValuedCheckbox = new BindingCheckBox(detailComposite, SWT.NONE); multiValuedCheckbox.setLayoutData(new GridData(SWT.LEFT, SWT.DEFAULT, true, false)); multiValuedCheckbox.bind(editingDomain, isMultiValued, master); // create checkbox for enabling default value Button defaultValueCheckbox = createDefaultValueCheckbox(attributeDefinitionEnum, ErfPackage.Literals.ATTRIBUTE_DEFINITION_ENUMERATION__DEFAULT_VALUE); // create table for selecting default EnumValue elements Table defaultValueTable = new Table(detailComposite, SWT.MULTI | SWT.BORDER | SWT.FULL_SELECTION | SWT.CHECK); defaultValueTable.setLinesVisible(true); defaultValueTable.setHeaderVisible(true); final CheckboxTableViewer defaultValueTableViewer = new CheckboxTableViewer(defaultValueTable); defaultValueTable.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true, 2, 1)); final ObservableListContentProvider cp = new ObservableListContentProvider(); defaultValueTableViewer.setContentProvider(cp); TableViewerColumn column = new TableViewerColumn(defaultValueTableViewer, SWT.NONE); column.getColumn().setResizable(false); column.getColumn().setMoveable(false); column.getColumn().setText(Ui.getUiName(ErfPackage.Literals.ATTRIBUTE_VALUE_ENUMERATION__VALUES)); column.getColumn().pack(); // set label provider IValueProperty elementProperty = EMFEditProperties.value(editingDomain, FeaturePath.fromList(new EStructuralFeature[] { ErfPackage.Literals.IDENTIFIABLE__LONG_NAME })); IObservableMap attributeMap = elementProperty.observeDetail(cp.getKnownElements()); column.setLabelProvider(new ObservableMapCellLabelProvider(attributeMap)); // Add provider for the check stare of the table viewer // A value is checked if it is referred by the Default value of the AttributeDefintionEnumeration defaultValueTableViewer.setCheckStateProvider(new ICheckStateProvider() { @Override public boolean isGrayed(Object element) { return false; } @Override public boolean isChecked(Object element) { AttributeValueEnumeration enumDefaultValue = attributeDefinitionEnum.getDefaultValue(); return enumDefaultValue != null && enumDefaultValue.getValues().contains(element); } }); // If a EnumValue is selected add it to the list of Default values for the AttributeDefintionEnumeration // Otherwise remove it from the list of default values defaultValueTableViewer.addCheckStateListener(new ICheckStateListener() { @Override public void checkStateChanged(CheckStateChangedEvent event) { // we don't need to check if the default value object is null as // in this case table viewer is disabled assert (attributeDefinitionEnum.getDefaultValue() != null); EnumValue enumValue = ((EnumValue) event.getElement()); Command command = null; if (event.getChecked() == true) { command = AddCommand.create(editingDomain, attributeDefinitionEnum.getDefaultValue(), ErfPackage.Literals.ATTRIBUTE_VALUE_ENUMERATION__VALUES, enumValue); } else { command = RemoveCommand.create(editingDomain, attributeDefinitionEnum.getDefaultValue(), ErfPackage.Literals.ATTRIBUTE_VALUE_ENUMERATION__VALUES, enumValue); } editingDomain.getCommandStack().execute(command); } }); // observe values of DatatypeDefinition selected for the AttributeDefintionEnumeration IEMFListProperty enumerationProperty = EMFProperties.list( FeaturePath.fromList(new EStructuralFeature[] { ErfPackage.Literals.ATTRIBUTE_DEFINITION__TYPE, ErfPackage.Literals.DATATYPE_DEFINITION_ENUMERATION__SPECIFIED_VALUES })); IObservableList dataTypeEnumValueObserver = enumerationProperty.observe(attributeDefinitionEnum); defaultValueTableViewer.setInput(dataTypeEnumValueObserver); // only enable table viewer in case a default value exists dataBindingContext.bindValue(SWTObservables.observeEnabled(defaultValueTable), SWTObservables.observeSelection(defaultValueCheckbox)); }
From source file:era.foss.typeeditor.spectype.SpecTypeForm.java
License:Open Source License
/** * Create table viewer showing the SpecTypes *//*from w ww . ja va2s . com*/ private void createSpecTypeTableViewer() { AddDeleteTableViewer specTypeTableViewer = new AddDeleteTableViewer(this, SWT.MULTI | SWT.V_SCROLL | SWT.BORDER | SWT.FULL_SELECTION); specTypeTableViewer.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true)); specTypeTableViewer.setEditingDomain(editingDomain); specTypeTableViewer.setElementInformation(erfModel.getCoreContent(), ErfPackage.Literals.CONTENT__SPEC_TYPES, ErfPackage.Literals.SPEC_TYPE); ObservableListContentProvider cp = new ObservableListContentProvider(); specTypeTableViewer.setContentProvider(cp); TableColumnLayout columnLayout = (TableColumnLayout) specTypeTableViewer.getTable().getParent().getLayout(); // create column with name of the SpecType TableViewerColumn nameColumn = new TableViewerColumn(specTypeTableViewer, SWT.NONE); columnLayout.setColumnData(nameColumn.getColumn(), new ColumnWeightData(100, 70)); nameColumn.getColumn().setResizable(false); nameColumn.getColumn().setMoveable(false); nameColumn.getColumn().setText(Ui.getUiName(ErfPackage.Literals.IDENTIFIABLE__LONG_NAME)); EStructuralFeature[] structuralFeature = { ErfPackage.Literals.IDENTIFIABLE__LONG_NAME }; ui.bindColumn(nameColumn, structuralFeature); // provide input for the table IEMFListProperty specTypeProperty = EMFProperties.list(ErfPackage.Literals.CONTENT__SPEC_TYPES); specTypeTableViewer.setInput(specTypeProperty.observe(erfModel.getCoreContent())); specTypeTableViewer.getTable().select(0); this.specTypeMaster = ViewerProperties.singleSelection().observe(specTypeTableViewer); }
From source file:era.foss.typeeditor.spectype.SpecTypeForm.java
License:Open Source License
/** * Create Table viewer showing attributes of the selected SpecType *///from w w w. ja v a2s .c o m private void createSpecAttributeTableViewer() { specAttributeTableViewer = new AddDeleteTableViewer(this, SWT.MULTI | SWT.V_SCROLL | SWT.BORDER | SWT.FULL_SELECTION) { @Override public void addElement() { this.elementOwner = (EObject) specTypeMaster.getValue(); super.addElement(); } }; specAttributeTableViewer.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true)); specAttributeTableViewer.setEditingDomain(editingDomain); specAttributeTableViewer.setElementInformation((EObject) specTypeMaster.getValue(), ErfPackage.Literals.SPEC_TYPE__SPEC_ATTRIBUTES, ErfPackage.Literals.ATTRIBUTE_DEFINITION_SIMPLE); ObservableListContentProvider contentProvider = new ObservableListContentProvider(); specAttributeTableViewer.setContentProvider(contentProvider); TableColumnLayout columnLayout = (TableColumnLayout) specAttributeTableViewer.getTable().getParent() .getLayout(); // create column with name of attribute definition createSpecAttributeNameColumn(specAttributeTableViewer, columnLayout); // create column with reference to datatype defintion createSpecAttributeTypeColumn(specAttributeTableViewer, columnLayout); // provide input for the table IEMFListProperty specAttributeProperty = EMFProperties.list(ErfPackage.Literals.SPEC_TYPE__SPEC_ATTRIBUTES); specAttributeTableViewer.setInput(specAttributeProperty.observeDetail(specTypeMaster)); specAttributeTableViewer.getTable().select(0); }
From source file:era.foss.typeeditor.view.ViewForm.java
License:Open Source License
/** * Creates the table viewer for {@link View}s *//*from ww w . j av a 2s. c om*/ private void createViewTableViewer(Composite parent) { AddDeleteTableViewer viewTableViewer = new AddDeleteTableViewer(parent, SWT.MULTI | SWT.V_SCROLL | SWT.BORDER | SWT.FULL_SELECTION); viewTableViewer.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true, 1, 2)); viewTableViewer.setEditingDomain(editingDomain); viewTableViewer.setElementInformation(toolExtension, ErfPackage.Literals.ERA_TOOL_EXTENSION__VIEWS, ErfPackage.Literals.VIEW); ObservableListContentProvider cp = new ObservableListContentProvider(); viewTableViewer.setContentProvider(cp); TableColumnLayout columnLayout = (TableColumnLayout) viewTableViewer.getTable().getParent().getLayout(); // create column with name of the view TableViewerColumn nameColumn = new TableViewerColumn(viewTableViewer, SWT.NONE); columnLayout.setColumnData(nameColumn.getColumn(), new ColumnWeightData(100, 70)); nameColumn.getColumn().setResizable(false); nameColumn.getColumn().setMoveable(false); nameColumn.getColumn().setText(Ui.getUiName(ErfPackage.Literals.IDENTIFIABLE__LONG_NAME)); ui.bindColumn(nameColumn, new EStructuralFeature[] { ErfPackage.Literals.IDENTIFIABLE__LONG_NAME }); // provide input for the table IEMFListProperty viewsProperty = EMFProperties.list(ErfPackage.Literals.ERA_TOOL_EXTENSION__VIEWS); viewTableViewer.setInput(viewsProperty.observe(toolExtension)); viewTableViewer.getTable().select(0); this.viewMaster = ViewerProperties.singleSelection().observe(viewTableViewer); }
From source file:era.foss.typeeditor.view.ViewForm.java
License:Open Source License
/** * Create a Combo box for selecting the {@link SpecType} of the respective view * /* ww w. j ava 2s. co m*/ * @param parent parent composite */ private void createSpecTypeComboViewer(Composite parent) { final ComboViewer specTypeComboViewer = new ComboViewer(parent, SWT.READ_ONLY) { @Override protected void doUpdateItem(Widget data, Object element, boolean fullMap) { // memorize the selection before updating the item, as the // update routine removes the selection... ISelection currentSelection = this.getSelection(); super.doUpdateItem(data, element, fullMap); // set the selection to the previous value this.setSelection(currentSelection); } }; ObservableListContentProvider contentProvider = new ObservableListContentProvider(); specTypeComboViewer.getControl().setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false)); // set content provider specTypeComboViewer.setContentProvider(contentProvider); // set label provider specTypeComboViewer.setLabelProvider( new ObservableMapLabelProvider(EMFProperties.value(ErfPackage.Literals.IDENTIFIABLE__LONG_NAME) .observeDetail(contentProvider.getKnownElements()))); // set input IEMFListProperty specTypeProperty = EMFProperties.list(ErfPackage.Literals.CONTENT__SPEC_TYPES); specTypeComboViewer.setInput(specTypeProperty.observe(this.erfModel.getCoreContent())); specTypeMaster = ViewerProperties.singleSelection().observe(specTypeComboViewer); if (erfModel.getCoreContent().getSpecTypes().size() > 0) { specTypeComboViewer .setSelection(new StructuredSelection(erfModel.getCoreContent().getSpecTypes().get(0))); } specTypeMaster.addValueChangeListener(new IValueChangeListener() { @Override public void handleValueChange(ValueChangeEvent event) { viewElementTableViewer.refresh(); viewLayoutViewer.refresh(); } }); }
From source file:era.foss.typeeditor.view.ViewForm.java
License:Open Source License
/** * Creates the table viewer for {@link ViewElements} * /*from ww w . j a va 2 s .c o m*/ * @param parent parent composite */ private void createViewElementTableViewer(Composite parent) { this.viewElementTableViewer = new AddDeleteTableViewer(parent, SWT.MULTI | SWT.V_SCROLL | SWT.BORDER | SWT.FULL_SELECTION | AddDeleteTableViewer.NO_DESCRIPTION) { @Override public void addElement() { this.elementOwner = (EObject) viewMaster.getValue(); super.addElement(); // is_a ViewElement ViewElement addedViewElement = (ViewElement) super.getElementAt(super.doGetItemCount() - 1); // default placement of views' elements addedViewElement.setEditorRowPosition(getCurrentMaxRowIdx() + 1); addedViewElement.setEditorColumnPosition(0); addedViewElement.setEditorColumnSpan(2); addedViewElement.setEditorRowSpan(1); } /** * Calculates maximum row index of existing view elements * * @return maximum row index */ private int getCurrentMaxRowIdx() { int maxRowIdx = 0; for (int i = 0; i < super.doGetItemCount(); ++i) { ViewElement iterViewElement = (ViewElement) super.getElementAt(i); maxRowIdx = Math.max(maxRowIdx, iterViewElement.getEditorRowPosition() + (iterViewElement.getEditorRowSpan() - 1)); } return maxRowIdx; } @Override protected void createButtonBar() { super.createButtonBar(); // FIXME @cpn create "add all" button } }; // the owner is null as it is set in the overridden addElement() method viewElementTableViewer.setElementInformation((EObject) viewMaster.getValue(), ErfPackage.Literals.VIEW__VIEW_ELEMENTS, ErfPackage.Literals.VIEW_ELEMENT); viewElementTableViewer.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true, 1, 2)); viewElementTableViewer.setEditingDomain(editingDomain); ObservableListContentProvider tableViewerContentProvider = new ObservableListContentProvider(); viewElementTableViewer.setContentProvider(tableViewerContentProvider); TableColumnLayout columnLayout = (TableColumnLayout) viewElementTableViewer.getTable().getParent() .getLayout(); // create column showing the Attribute Definition TableViewerColumn attributeDefinitionColumn = new TableViewerColumn(viewElementTableViewer, SWT.NONE); columnLayout.setColumnData(attributeDefinitionColumn.getColumn(), new ColumnWeightData(100, 70)); attributeDefinitionColumn.getColumn().setResizable(false); attributeDefinitionColumn.getColumn().setMoveable(false); attributeDefinitionColumn.getColumn() .setText(Ui.getUiName(ErfPackage.Literals.VIEW_ELEMENT__ATTRIBUTE_DEFINITION)); // label provider for column showing the AttributeDefintion IValueProperty elementProperty = EMFEditProperties.value(editingDomain, FeaturePath .fromList(new EStructuralFeature[] { ErfPackage.Literals.VIEW_ELEMENT__ATTRIBUTE_DEFINITION, ErfPackage.Literals.IDENTIFIABLE__LONG_NAME })); IObservableMap attributeMap = elementProperty.observeDetail(tableViewerContentProvider.getKnownElements()); attributeDefinitionColumn.setLabelProvider(new ObservableMapCellLabelProvider(attributeMap)); // editing support column showing the AttributeDefintion // Combo box: Create combo box to select choices for the reference ComboBoxViewerCellEditor combo = new ComboBoxViewerCellEditorSp( (Composite) viewElementTableViewer.getControl(), SWT.DROP_DOWN | SWT.READ_ONLY); // Combo box: Set Content Provider; ObservableListContentProvider comboBoxContentProvider = new ObservableListContentProvider(); combo.setContentProvider(comboBoxContentProvider); // Combo box: Set Label Provider combo.setLabelProvider( new ObservableMapLabelProvider(EMFProperties.value(ErfPackage.Literals.IDENTIFIABLE__LONG_NAME) .observeDetail(comboBoxContentProvider.getKnownElements()))); // Combo box: set input from selected specType IEMFListProperty specAttributesProperty = EMFProperties .list(ErfPackage.Literals.SPEC_TYPE__SPEC_ATTRIBUTES); combo.setInput(specAttributesProperty.observeDetail(specTypeMaster)); // Set editing support of table cell IValueProperty editorElementProperty = EMFEditProperties.value(editingDomain, ErfPackage.Literals.VIEW_ELEMENT__ATTRIBUTE_DEFINITION); IValueProperty cellEditorProperty = ViewerProperties.singleSelection(); attributeDefinitionColumn.setEditingSupport(ObservableValueEditingSupport.create(viewElementTableViewer, dataBindContext, combo, cellEditorProperty, editorElementProperty)); // provide input for the table IEMFListProperty viewsProperty = EMFProperties.list(ErfPackage.Literals.VIEW__VIEW_ELEMENTS); viewElementTableViewer.addFilter(new SpecTypeFilter()); viewElementTableViewer.setInput(viewsProperty.observeDetail(viewMaster)); viewElementMaster = ViewerProperties.singleSelection().observe(viewElementTableViewer); viewElementTableViewer.getTable().select(0); }
From source file:es.cv.gvcase.fefem.common.composites.EMFContainedCollectionEditionComposite.java
License:Open Source License
@Override protected void bindFeatureToWidget() { if (getPage().getEditor().getModel() == null || getPage().getEditor().getEditingDomain() == null) return;/*from w w w. ja va2 s . c o m*/ //Observes the containedTerms list to get automatic refresh of the TableViewer. //It will also allow to add and remove elements from the list without using commands. if (!isDetailComposite()) { modelObservable = EMFEditObservables.observeList(getPage().getEditor().getEditingDomain(), this.getEObject(), getFeature()); } else { IObservableValue selectionObservable = ViewersObservables .observeSingleSelection(this.getMasterViewer()); modelObservable = EMFEditObservables.observeDetailList(Realm.getDefault(), this.getPage().getEditor().getEditingDomain(), selectionObservable, getFeature()); } ObservableListContentProvider contentProvider = new ObservableListContentProvider(); tableViewer.setContentProvider(contentProvider); tableViewer.setInput(modelObservable); if (getLabelProvider() != null) { tableViewer.setLabelProvider(getLabelProvider()); } }