List of usage examples for org.eclipse.jface.databinding.viewers ObservableListContentProvider getKnownElements
public IObservableSet<E> getKnownElements()
From source file:org.marketcetera.photon.views.MarketDataView.java
@Override public void createPartControl(Composite parent) { final IActionBars actionBars = getViewSite().getActionBars(); IToolBarManager toolbar = actionBars.getToolBarManager(); mSymbolEntryText = new TextContributionItem(""); //$NON-NLS-1$ toolbar.add(mSymbolEntryText);// w w w. j a va2s.c o m toolbar.add(new AddSymbolAction(mSymbolEntryText, this)); final Table table = new Table(parent, SWT.MULTI | SWT.FULL_SELECTION | SWT.V_SCROLL | SWT.BORDER); table.setHeaderVisible(true); mViewer = new TableViewer(table); GridDataFactory.defaultsFor(table).applyTo(table); final MarketDataItemComparator comparator = new MarketDataItemComparator(); mViewer.setComparator(comparator); SelectionListener listener = new SelectionAdapter() { @Override public void widgetSelected(SelectionEvent e) { // determine new sort column and direction TableColumn sortColumn = table.getSortColumn(); TableColumn currentColumn = (TableColumn) e.widget; final int index = table.indexOf(currentColumn); int dir = table.getSortDirection(); if (sortColumn == currentColumn) { dir = dir == SWT.UP ? SWT.DOWN : SWT.UP; } else { table.setSortColumn(currentColumn); dir = SWT.UP; } table.setSortDirection(dir); comparator.setSort(dir == SWT.UP ? 1 : -1); comparator.setIndex(index); mViewer.refresh(); } }; // create columns, using FIXFieldLocalizer to preserve backwards // compatibility TableViewerColumn symbolColumn = new TableViewerColumn(mViewer, createColumn(table, FIXFieldLocalizer.getLocalizedFIXFieldName(Symbol.class.getSimpleName()), SWT.LEFT, listener)); symbolColumn.setEditingSupport(new SymbolEditingSupport()); createColumn(table, FIXFieldLocalizer.getLocalizedFIXFieldName(LastPx.class.getSimpleName()), SWT.RIGHT, listener); createColumn(table, FIXFieldLocalizer.getLocalizedFIXFieldName(LastQty.class.getSimpleName()), SWT.RIGHT, listener); createColumn(table, FIXFieldLocalizer.getLocalizedFIXFieldName(BidSize.class.getSimpleName()), SWT.RIGHT, listener); createColumn(table, FIXFieldLocalizer.getLocalizedFIXFieldName(BidPx.class.getSimpleName()), SWT.RIGHT, listener); createColumn(table, FIXFieldLocalizer.getLocalizedFIXFieldName(OfferPx.class.getSimpleName()), SWT.RIGHT, listener); createColumn(table, FIXFieldLocalizer.getLocalizedFIXFieldName(OfferSize.class.getSimpleName()), SWT.RIGHT, listener); // restore table state if it exists if (mViewState != null) { ColumnState.restore(table, mViewState); for (TableColumn column : table.getColumns()) { if (column.getWidth() == 0) { column.setResizable(false); } } } registerContextMenu(); getSite().setSelectionProvider(mViewer); ObservableListContentProvider content = new ObservableListContentProvider(); mViewer.setContentProvider(content); IObservableSet domain = content.getKnownElements(); IObservableMap[] maps = new IObservableMap[] { BeansObservables.observeMap(domain, MarketDataViewItem.class, "symbol"), //$NON-NLS-1$ createCompositeMap(domain, "latestTick", MDPackage.Literals.MD_LATEST_TICK__PRICE), //$NON-NLS-1$ createCompositeMap(domain, "latestTick", MDPackage.Literals.MD_LATEST_TICK__SIZE), //$NON-NLS-1$ createCompositeMap(domain, "topOfBook", MDPackage.Literals.MD_TOP_OF_BOOK__BID_SIZE), //$NON-NLS-1$ createCompositeMap(domain, "topOfBook", MDPackage.Literals.MD_TOP_OF_BOOK__BID_PRICE), //$NON-NLS-1$ createCompositeMap(domain, "topOfBook", MDPackage.Literals.MD_TOP_OF_BOOK__ASK_PRICE), //$NON-NLS-1$ createCompositeMap(domain, "topOfBook", MDPackage.Literals.MD_TOP_OF_BOOK__ASK_SIZE) //$NON-NLS-1$ }; mViewer.setLabelProvider(new ObservableMapLabelProvider(maps)); mViewer.setUseHashlookup(true); mItems = WritableList.withElementType(MarketDataViewItem.class); mViewer.setInput(mItems); }
From source file:org.marketcetera.photon.views.OrderTicketView.java
/** * Set up viewers./*from w w w . j av a2 s. c om*/ * * @param ticket */ protected void initViewers(T ticket) { /* * Side combo based on Side enum. */ mSideComboViewer = new ComboViewer(ticket.getSideCombo()); mSideComboViewer.setContentProvider(new ArrayContentProvider()); mSideComboViewer.setInput(getModel().getValidSideValues()); /* * Order type combo based on OrderType enum. */ mOrderTypeComboViewer = new ComboViewer(ticket.getOrderTypeCombo()); mOrderTypeComboViewer.setContentProvider(new ArrayContentProvider()); mOrderTypeComboViewer.setInput(getModel().getValidOrderTypeValues()); /* * Broker combo based on available brokers. */ mAvailableBrokersViewer = new ComboViewer(ticket.getBrokerCombo()); mAvailableBrokersViewer.setContentProvider(new ObservableListContentProvider()); mAvailableBrokersViewer.setLabelProvider(new BrokerLabelProvider()); mAvailableBrokersViewer.setInput(getModel().getValidBrokers()); /* * Time in Force combo based on TimeInForce enum. * * An extra blank entry is added since the field is optional. */ mTimeInForceComboViewer = new ComboViewer(ticket.getTifCombo()); mTimeInForceComboViewer.setContentProvider(new ArrayContentProvider()); mTimeInForceComboViewer.setInput(getModel().getValidTimeInForceValues()); /* * Custom fields table. * * Input is bound to model in bindCustomFields. */ mCustomFieldsTableViewer = new CheckboxTableViewer(ticket.getCustomFieldsTable()); ObservableListContentProvider contentProvider = new ObservableListContentProvider(); mCustomFieldsTableViewer.setContentProvider(contentProvider); mCustomFieldsTableViewer.setLabelProvider( new ObservableMapLabelProvider(BeansObservables.observeMaps(contentProvider.getKnownElements(), CustomField.class, new String[] { "keyString", "valueString" })));//$NON-NLS-1$ //$NON-NLS-2$ }
From source file:org.reap.internal.core.binding.BindingManager.java
License:Open Source License
private void checkAndBindMasterList(final Object fieldObj, final BindingFieldConfig bindingField, final WritableEntityValue writableEntityValue, final String partId) { if (fieldObj instanceof AbstractListViewer || fieldObj instanceof TableViewer) { boolean hasBind = false; for (final BindingConfig binding : bindingField.getBindings()) { if (binding.isValid()) { hasBind = true;//from w w w .j a v a 2 s .c om } } if (bindingField.getDatabaseAccessID() != null || !hasBind) { final WritableList writableList = new WritableList(); writableEntityValue.setWritableEntityList(writableList); writableEntityValue.setListDatabaseAccessID(bindingField.getDatabaseAccessID()); final StructuredViewer viewer = (StructuredViewer) fieldObj; final ObservableListContentProvider contentProvider = new ObservableListContentProvider(); viewer.setContentProvider(contentProvider); final String[] viewerLabelProps = bindingField.getViewerLabelProps(); if (viewerLabelProps != null) { final IObservableMap[] attributeMaps = BeansObservables.observeMaps( contentProvider.getKnownElements(), modelAccess.get(writableEntityValue.getTargetEntity()).getModelClass(), viewerLabelProps); viewer.setLabelProvider(new ObservableMapLabelProvider(attributeMaps)); } viewer.setInput(writableList); final IObservableValue singleSelection = ViewersObservables .observeSingleSelection((ISelectionProvider) fieldObj); final DataBindingContext dbc = Activator.getDefault().getDataBindingContext(); final Binding bindValue = dbc.bindValue(singleSelection, writableEntityValue, null, null); writableEntityValue.setBinding(bindValue); List<Binding> list = activBindings.get(partId); if (list == null) { list = new ArrayList<Binding>(); activBindings.put(partId, list); } list.add(bindValue); } } }
From source file:org.reap.internal.core.binding.BindingManager.java
License:Open Source License
private void createBinding(final Object fieldObj, final BindingFieldConfig bindingField, final IWorkbenchPart part, final String gloTargetEntity, final WritableEntityValue writableEntityValue) { checkAndBindMasterList(fieldObj, bindingField, writableEntityValue, part.getSite().getId()); for (final BindingConfig bindingConfig : bindingField.getBindings()) { if (!bindingConfig.isValid()) { continue; }// w w w .ja v a 2s. c o m IObservable guiObs = null; try { if (fieldObj instanceof Control) { guiObs = createSWTObservable((Control) fieldObj, bindingConfig); if (!bindingConfig.isOnlyReturnObservable()) { finishBind(gloTargetEntity, writableEntityValue, bindingConfig, guiObs, part); } } else if (fieldObj instanceof AbstractListViewer || fieldObj instanceof TableViewer) { guiObs = createJFaceObservable((ISelectionProvider) fieldObj, bindingConfig); if (!bindingConfig.isOnlyReturnObservable()) { if (bindingConfig.getType() == GUIBindingTypes.JFACEINPUT) { final String targetEntity = bindingConfig.getTargetEntity(); final ModelClass modelClass = modelAccess.get(gloTargetEntity); final IObservable modelObs = modelClass.getObservable(targetEntity, bindingConfig.getTarget(), writableEntityValue, false); final StructuredViewer viewer = (StructuredViewer) fieldObj; IObservableSet knownElements = null; if (modelObs instanceof IObservableList) { final ObservableListContentProvider contentProvider = new ObservableListContentProvider(); knownElements = contentProvider.getKnownElements(); viewer.setContentProvider(contentProvider); } else if (modelObs instanceof IObservableSet) { final ObservableSetContentProvider contentProvider = new ObservableSetContentProvider(); knownElements = contentProvider.getKnownElements(); viewer.setContentProvider(contentProvider); } final ModelClass classForRefernce = modelClass.getModelClassForRefernce(targetEntity, bindingConfig.getTarget()); final String[] viewerLabelProps = bindingConfig.getViewerLabelProps(); if (viewerLabelProps != null && knownElements != null && classForRefernce != null) { final IObservableMap[] attributeMaps = BeansObservables.observeMaps(knownElements, classForRefernce.getModelClass(), viewerLabelProps); viewer.setLabelProvider(new ObservableMapLabelProvider(attributeMaps)); } viewer.setInput(modelObs); boolean hasSingleSel = false; for (final BindingConfig bindingConfig2 : bindingField.getBindings()) { if (bindingConfig2.getType() == GUIBindingTypes.JFACESINGLESELECTION) { hasSingleSel = true; break; } } if (!hasSingleSel) { final IObservableValue singleSelection = ViewersObservables .observeSingleSelection((ISelectionProvider) fieldObj); final WritableValue selectionValue = modelClass.getSelectionValue(targetEntity, bindingConfig.getTarget(), writableEntityValue); final DataBindingContext dbc = Activator.getDefault().getDataBindingContext(); final Binding bindValue = dbc.bindValue(singleSelection, selectionValue, null, null); List<Binding> list = activBindings.get(part.getSite().getId()); if (list == null) { list = new ArrayList<Binding>(); activBindings.put(part.getSite().getId(), list); } list.add(bindValue); writableEntityValue.addViewerSelect(bindingField.getName(), selectionValue); } } else { finishBind(gloTargetEntity, writableEntityValue, bindingConfig, guiObs, part); } } } } catch (final IllegalArgumentException e) { // TODO Auto-generated catch block e.printStackTrace(); Activator.logWarning(0, "For the field " + bindingField.getName() + " and the given binding type " + bindingConfig.getType() + " can't create an observable!"); continue; } try { final Method method = part.getClass().getMethod(bindingConfig.getReturnMethod(), IObservable.class); method.setAccessible(true); method.invoke(part, guiObs); } catch (final Exception e) { Activator.logInfo(0, "The methode " + bindingConfig.getReturnMethod() + " for call back the observable can't invoke."); } } }
From source file:org.switchyard.tools.ui.editor.components.jca.JCAPropertyTable.java
License:Open Source License
/** * Constructor./* w ww . j a v a 2 s. co m*/ * * @param parent composite parent * @param style any SWT style bits * @param isReadOnly boolean flag * @param toolkit Form toolkit to use when creating controls * @param context the data binding context * @param featurePathToProperties the feature path to the Property list * @param domain the editing domain */ public JCAPropertyTable(Composite parent, int style, boolean isReadOnly, FormToolkit toolkit, DataBindingContext context, FeaturePath featurePathToProperties, EditingDomain domain) { super(parent, style); _isReadOnly = isReadOnly; _changeListeners = new ListenerList(); _bindingValue = new WritableValue(SWTObservables.getRealm(getDisplay()), null, JCABinding.class); int additionalStyles = SWT.NONE; if (isReadOnly) { additionalStyles = SWT.READ_ONLY; } final GridLayout gridLayout = new GridLayout(); gridLayout.marginWidth = 0; gridLayout.marginHeight = 0; gridLayout.numColumns = 2; setLayout(gridLayout); Composite tableComposite = new Composite(this, additionalStyles); GridData gd11 = new GridData(SWT.FILL, SWT.FILL, true, true, 1, 5); gd11.heightHint = 100; tableComposite.setLayoutData(gd11); TableColumnLayout tableLayout = new TableColumnLayout(); tableComposite.setLayout(tableLayout); _propertyTreeTable = new TableViewer(tableComposite, SWT.BORDER | SWT.WRAP | SWT.V_SCROLL | SWT.FULL_SELECTION | additionalStyles); _propertyTreeTable.getTable().setHeaderVisible(true); TableViewerColumn nameColumn = new TableViewerColumn(_propertyTreeTable, SWT.LEFT); nameColumn.getColumn().setText(Messages.label_name); tableLayout.setColumnData(nameColumn.getColumn(), new ColumnWeightData(100, 150, true)); TableViewerColumn valueColumn = new TableViewerColumn(_propertyTreeTable, SWT.LEFT); valueColumn.getColumn().setText(Messages.label_value); tableLayout.setColumnData(valueColumn.getColumn(), new ColumnWeightData(100, 150, true)); IValueProperty nameProperty = domain == null ? EMFProperties.value(JcaPackage.Literals.PROPERTY__NAME) : EMFEditProperties.value(domain, JcaPackage.Literals.PROPERTY__NAME); IValueProperty valueProperty = domain == null ? EMFProperties.value(JcaPackage.Literals.PROPERTY__VALUE) : EMFEditProperties.value(domain, JcaPackage.Literals.PROPERTY__VALUE); IValueProperty cellEditorTextProperty = CellEditorProperties.control() .value(WidgetProperties.text(SWT.Modify)); final ObservableListContentProvider contentProvider; ObservableTracker.setIgnore(true); try { // ignore any observers created internally contentProvider = new ObservableListContentProvider(); } finally { ObservableTracker.setIgnore(false); } nameColumn.setEditingSupport(ObservableValueEditingSupport.create(_propertyTreeTable, context, new TextCellEditor(_propertyTreeTable.getTable()), cellEditorTextProperty, nameProperty)); nameColumn.setLabelProvider( new ObservableMapCellLabelProvider(nameProperty.observeDetail(contentProvider.getKnownElements()))); valueColumn.setEditingSupport(ObservableValueEditingSupport.create(_propertyTreeTable, context, new TextCellEditor(_propertyTreeTable.getTable()), cellEditorTextProperty, valueProperty)); valueColumn.setLabelProvider(new ObservableMapCellLabelProvider( valueProperty.observeDetail(contentProvider.getKnownElements()))); _propertyTreeTable.setContentProvider(contentProvider); _mAddButton = toolkit.createButton(this, Messages.button_add, SWT.NONE); _mAddButton.setLayoutData(new GridData(GridData.HORIZONTAL_ALIGN_FILL)); _mAddButton.addSelectionListener(new SelectionAdapter() { public void widgetSelected(SelectionEvent e) { addPropertyToList(); } }); _mAddButton.setEnabled(false); _propertyTreeTable.getTable().addSelectionListener(new SelectionAdapter() { public void widgetSelected(SelectionEvent e) { updatePropertyButtons(); } }); _mRemoveButton = toolkit.createButton(this, Messages.button_remove, SWT.NONE); _mRemoveButton.setLayoutData(new GridData(GridData.HORIZONTAL_ALIGN_FILL)); _mRemoveButton.setEnabled(false); _mRemoveButton.addSelectionListener(new SelectionAdapter() { public void widgetSelected(SelectionEvent e) { removeFromList(); } }); final IObservableList propertiesList = (domain == null ? EMFProperties.list(featurePathToProperties) : EMFEditProperties.list(domain, featurePathToProperties)).observeDetail(_bindingValue); _propertyTreeTable.setInput(propertiesList); updatePropertyButtons(); }
From source file:org.switchyard.tools.ui.editor.components.soap.InterceptorTable.java
License:Open Source License
/** * Constructor./* w w w.ja va 2 s . c o m*/ * * @param parent composite parent * @param style any SWT style bits * @param isReadOnly boolean flag * @param interceptorsListFeature list we're editing * @param interceptorsFeature actual interceptor list feature * @param interceptorType actual class for the interceptor type * @param context DataBindingContext to use */ public InterceptorTable(Composite parent, int style, boolean isReadOnly, EReference interceptorsListFeature, EReference interceptorsFeature, EClass interceptorType, DataBindingContext context) { super(parent, style); final EditingDomain domain = AdapterFactoryEditingDomain.getEditingDomainFor(getTargetObject()); this._isReadOnly = isReadOnly; this._changeListeners = new ListenerList(); _interceptorsListFeature = interceptorsListFeature; _interceptorsFeature = interceptorsFeature; _interceptorType = interceptorType; int additionalStyles = SWT.NONE; if (isReadOnly) { additionalStyles = SWT.READ_ONLY; } final GridLayout gridLayout = new GridLayout(); gridLayout.marginWidth = 0; gridLayout.marginHeight = 0; gridLayout.numColumns = 2; setLayout(gridLayout); Composite tableComposite = new Composite(this, additionalStyles); GridData gd11 = new GridData(SWT.FILL, SWT.FILL, true, false, 1, 3); gd11.heightHint = 100; tableComposite.setLayoutData(gd11); _interceptorTable = new TableViewer(tableComposite, SWT.BORDER | SWT.WRAP | SWT.V_SCROLL | SWT.FULL_SELECTION | additionalStyles); this._interceptorTable.getTable().setHeaderVisible(true); TableColumnLayout tableLayout = new TableColumnLayout(); tableComposite.setLayout(tableLayout); TableViewerColumn nameColumn = new TableViewerColumn(_interceptorTable, SWT.LEFT); nameColumn.getColumn().setText(Messages.label_name); tableLayout.setColumnData(nameColumn.getColumn(), new ColumnWeightData(100, 150, true)); IValueProperty nameProperty = domain == null ? EMFProperties.value(_interceptorType.getEStructuralFeature("class")) : EMFEditProperties.value(domain, _interceptorType.getEStructuralFeature("class")); IValueProperty cellEditorTextProperty = CellEditorProperties.control() .value(WidgetProperties.text(SWT.Modify)); final ObservableListContentProvider contentProvider; ObservableTracker.setIgnore(true); try { // ignore any observers created internally contentProvider = new ObservableListContentProvider(); } finally { ObservableTracker.setIgnore(false); } nameColumn.setEditingSupport(ObservableValueEditingSupport.create(_interceptorTable, context, new TextCellEditor(_interceptorTable.getTable()), cellEditorTextProperty, nameProperty)); nameColumn.setLabelProvider( new ObservableMapCellLabelProvider(nameProperty.observeDetail(contentProvider.getKnownElements()))); _interceptorTable.setContentProvider(contentProvider); this._mAddButton = new Button(this, SWT.NONE); this._mAddButton.setLayoutData(new GridData(GridData.HORIZONTAL_ALIGN_FILL)); this._mAddButton.setText(Messages.button_add); this._mAddButton.addSelectionListener(new SelectionAdapter() { public void widgetSelected(SelectionEvent e) { addInterceptorTypeToList(); fireChangedEvent(e.getSource()); } }); this._mAddButton.setEnabled(false); _interceptorTable.getTable().addSelectionListener(new SelectionAdapter() { public void widgetSelected(SelectionEvent e) { updateInterceptorTypeButtons(); } }); this._mEditButton = new Button(this, SWT.NONE); this._mEditButton.setLayoutData(new GridData(GridData.HORIZONTAL_ALIGN_FILL)); this._mEditButton.setText(Messages.button_edit); this._mEditButton.setEnabled(false); this._mEditButton.addSelectionListener(new SelectionAdapter() { public void widgetSelected(SelectionEvent e) { editInterceptorType(); fireChangedEvent(e.getSource()); } }); this._mRemoveButton = new Button(this, SWT.NONE); this._mRemoveButton.setLayoutData(new GridData(GridData.HORIZONTAL_ALIGN_FILL)); this._mRemoveButton.setText(Messages.button_remove); this._mRemoveButton.setEnabled(false); this._mRemoveButton.addSelectionListener(new SelectionAdapter() { public void widgetSelected(SelectionEvent e) { removeFromList(); fireChangedEvent(e.getSource()); } }); // set the input. we're observing a list on the binding value _bindingValue = new WritableValue(SWTObservables.getRealm(getDisplay()), null, SOAPBindingType.class); _interceptorTable .setInput(EMFProperties.list(FeaturePath.fromList(_interceptorsListFeature, _interceptorsFeature)) .observeDetail(_bindingValue)); updateInterceptorTypeButtons(); }
From source file:org.switchyard.tools.ui.editor.diagram.binding.CamelAdditionalURIPropertyTable.java
License:Open Source License
CamelAdditionalURIPropertyTable(Composite parent, int style, boolean isReadOnly, EReference additionalUriParametersFeature, EReference parameterFeature, EClass parameterType, DataBindingContext context) {//from w w w .ja va 2 s. c o m super(parent, style); final EditingDomain domain = AdapterFactoryEditingDomain.getEditingDomainFor(getTargetObject()); this._isReadOnly = isReadOnly; this._changeListeners = new ListenerList(); _additionalUriParametersFeature = additionalUriParametersFeature; _parameterFeature = parameterFeature; _parameterType = parameterType; int additionalStyles = SWT.NONE; if (isReadOnly) { additionalStyles = SWT.READ_ONLY; } final GridLayout gridLayout = new GridLayout(); gridLayout.marginWidth = 0; gridLayout.marginHeight = 0; gridLayout.numColumns = 2; setLayout(gridLayout); Composite tableComposite = new Composite(this, additionalStyles); GridData gd11 = new GridData(SWT.FILL, SWT.FILL, true, false, 1, 2); gd11.heightHint = 100; tableComposite.setLayoutData(gd11); _propertyTreeTable = new TableViewer(tableComposite, SWT.BORDER | SWT.WRAP | SWT.V_SCROLL | SWT.FULL_SELECTION | additionalStyles); _propertyTreeTable.getTable().setHeaderVisible(true); TableColumnLayout tableLayout = new TableColumnLayout(); tableComposite.setLayout(tableLayout); TableViewerColumn nameColumn = new TableViewerColumn(_propertyTreeTable, SWT.LEFT); nameColumn.getColumn().setText(Messages.label_name); tableLayout.setColumnData(nameColumn.getColumn(), new ColumnWeightData(100, 150, true)); TableViewerColumn valueColumn = new TableViewerColumn(_propertyTreeTable, SWT.LEFT); valueColumn.getColumn().setText(Messages.label_value); tableLayout.setColumnData(valueColumn.getColumn(), new ColumnWeightData(100, 150, true)); // TODO: need to use EMFEditProperties if we're in an editing context IValueProperty nameProperty = domain == null ? EMFProperties.value(_parameterType.getEStructuralFeature("name")) : EMFEditProperties.value(domain, _parameterType.getEStructuralFeature("name")); IValueProperty valueProperty = domain == null ? EMFProperties.value(_parameterType.getEStructuralFeature("value")) : EMFEditProperties.value(domain, _parameterType.getEStructuralFeature("value")); IValueProperty cellEditorTextProperty = CellEditorProperties.control() .value(WidgetProperties.text(SWT.Modify)); final ObservableListContentProvider contentProvider; ObservableTracker.setIgnore(true); try { // ignore any observers created internally contentProvider = new ObservableListContentProvider(); } finally { ObservableTracker.setIgnore(false); } nameColumn.setEditingSupport(ObservableValueEditingSupport.create(_propertyTreeTable, context, new TextCellEditor(_propertyTreeTable.getTable()), cellEditorTextProperty, nameProperty)); nameColumn.setLabelProvider( new ObservableMapCellLabelProvider(nameProperty.observeDetail(contentProvider.getKnownElements()))); valueColumn.setEditingSupport(ObservableValueEditingSupport.create(_propertyTreeTable, context, new TextCellEditor(_propertyTreeTable.getTable()), cellEditorTextProperty, valueProperty)); valueColumn.setLabelProvider(new ObservableMapCellLabelProvider( valueProperty.observeDetail(contentProvider.getKnownElements()))); _propertyTreeTable.setContentProvider(contentProvider); _mAddButton = new Button(this, SWT.NONE); _mAddButton.setLayoutData(new GridData(SWT.FILL, SWT.BEGINNING, false, false)); _mAddButton.setText(Messages.button_add); _mAddButton.addSelectionListener(new SelectionAdapter() { public void widgetSelected(SelectionEvent e) { addPropertyToList(); fireChangedEvent(e.getSource()); } }); _mAddButton.setEnabled(false); _propertyTreeTable.getTable().addSelectionListener(new SelectionAdapter() { public void widgetSelected(SelectionEvent e) { updatePropertyButtons(); } }); _mRemoveButton = new Button(this, SWT.NONE); _mRemoveButton.setLayoutData(new GridData(SWT.FILL, SWT.BEGINNING, false, false)); _mRemoveButton.setText(Messages.button_remove); _mRemoveButton.setEnabled(false); _mRemoveButton.addSelectionListener(new SelectionAdapter() { public void widgetSelected(SelectionEvent e) { removeFromList(); fireChangedEvent(e.getSource()); } }); // set the input. we're observing a list on the binding value _bindingValue = new WritableValue(SWTObservables.getRealm(getDisplay()), null, Binding.class); _propertyTreeTable.setInput( EMFProperties.list(FeaturePath.fromList(_additionalUriParametersFeature, _parameterFeature)) .observeDetail(_bindingValue)); updatePropertyButtons(); }
From source file:ramo.klevis.openrental.forms.FormAvaibleCar.java
protected DataBindingContext initDataBindings() { DataBindingContext bindingContext = new DataBindingContext(); ///* w ww . j a va 2 s.c om*/ fillClassAndLocation(); // IObservableValue comboViewerObserveSingleSelection = ViewersObservables.observeSingleSelection(comboViewer); IObservableValue beanAvaibleCarClazzObserveValue = PojoObservables.observeValue(beanAvaibleCar, "clazz"); bindingContext.bindValue(comboViewerObserveSingleSelection, beanAvaibleCarClazzObserveValue, null, null); // IObservableValue comboViewer_1ObserveSingleSelection = ViewersObservables .observeSingleSelection(comboViewer_1); IObservableValue beanAvaibleCarLocationObserveValue = PojoObservables.observeValue(beanAvaibleCar, "location"); bindingContext.bindValue(comboViewer_1ObserveSingleSelection, beanAvaibleCarLocationObserveValue, null, null); // IObservableValue fromDateTextObserveSelectionObserveWidget = SWTObservables.observeSelection(fromDateText); IObservableValue beanAvaibleCarFromDateObserveValue = PojoObservables.observeValue(beanAvaibleCar, "fromDate"); bindingContext.bindValue(fromDateTextObserveSelectionObserveWidget, beanAvaibleCarFromDateObserveValue, null, null); // IObservableValue toDateTextObserveSelectionObserveWidget = SWTObservables.observeSelection(toDateText); IObservableValue beanAvaibleCarToDateObserveValue = PojoObservables.observeValue(beanAvaibleCar, "toDate"); bindingContext.bindValue(toDateTextObserveSelectionObserveWidget, beanAvaibleCarToDateObserveValue, null, null); // ObservableListContentProvider listContentProvider_2 = new ObservableListContentProvider(); tableViewer.setContentProvider(listContentProvider_2); // IObservableMap[] observeMaps = PojoObservables.observeMaps(listContentProvider_2.getKnownElements(), Car.class, new String[] { "id", "license", "make", "model", "rate", "year", "classes.class_" }); tableViewer.setLabelProvider(new ObservableMapLabelProvider(observeMaps)); // WritableList writableList_2 = new WritableList(getListCarsAvaible(), Car.class); tableViewer.setInput(writableList_2); // return bindingContext; }
From source file:ramo.klevis.openrental.forms.FormAvaibleCar.java
private void fillClassAndLocation() { ObservableListContentProvider listContentProvider = new ObservableListContentProvider(); comboViewer.setContentProvider(listContentProvider); ////from www . ja v a 2 s . c o m IObservableMap observeMap = PojoObservables.observeMap(listContentProvider.getKnownElements(), Class.class, "class_"); comboViewer.setLabelProvider(new ObservableMapLabelProvider(observeMap)); // WritableList writableList = new WritableList(itemClass, Class.class); comboViewer.setInput(writableList); // ObservableListContentProvider listContentProvider_1 = new ObservableListContentProvider(); comboViewer_1.setContentProvider(listContentProvider_1); // IObservableMap observeMap_1 = PojoObservables.observeMap(listContentProvider_1.getKnownElements(), Location.class, "loc"); comboViewer_1.setLabelProvider(new ObservableMapLabelProvider(observeMap_1)); // WritableList writableList_1 = new WritableList(itemLocation, Location.class); comboViewer_1.setInput(writableList_1); }
From source file:uk.ac.gda.example.mvcexample.MvcExampleView.java
License:Open Source License
/** * Creates a table viewer of the model using ObservableListContentProvider and Observable label providers to bind to * the model/* ww w . j a v a 2 s.co m*/ */ private void createTable1(Composite cmpRoot, IObservableList input) { ObservableListContentProvider contentProvider = new ObservableListContentProvider(); viewer = new TableViewer(cmpRoot); Table table = viewer.getTable(); table.setLayoutData(new GridData(SWT.LEFT, SWT.CENTER, true, true, 1, 1)); table.setLinesVisible(true); viewer.getControl().setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true)); TableViewerColumn column0 = new TableViewerColumn(viewer, SWT.NONE); column0.getColumn().setWidth(100); column0.getColumn().setText(MvcExampleItem.NAME_PROPERTY_NAME); IObservableSet knownElements0 = contentProvider.getKnownElements(); final IObservableMap values0 = BeanProperties.value(MvcExampleItem.class, MvcExampleItem.NAME_PROPERTY_NAME) .observeDetail(knownElements0); column0.setLabelProvider(new ObservableMapColumnLabelProvider(values0)); TableViewerColumn column1 = new TableViewerColumn(viewer, SWT.NONE); column1.getColumn().setWidth(100); column1.getColumn().setText(MvcExampleItem.VALUE_PROPERTY_NAME); IObservableSet knownElements = contentProvider.getKnownElements(); final IObservableMap values = BeanProperties.value(MvcExampleItem.class, MvcExampleItem.VALUE_PROPERTY_NAME) .observeDetail(knownElements); column1.setLabelProvider(new ObservableMapColumnLabelProvider(values)); TableViewerColumn column2 = new TableViewerColumn(viewer, SWT.NONE); column2.getColumn().setText("Progress"); column2.getColumn().setWidth(52); ControlFactoryAndUpdater factory = new ObservableMapCellControlProvider.ControlFactoryAndUpdater() { @Override public Control createControl(Composite parent) { ProgressBar progressBar = new ProgressBar(parent, SWT.NONE); progressBar.setMaximum(100); return progressBar; } @Override public void updateControl(Control control, Object value) { ((ProgressBar) control).setSelection(((Double) value).intValue()); } }; column2.setLabelProvider(new ObservableMapCellControlProvider(values, factory, "Column2")); TableViewerColumn column3 = new TableViewerColumn(viewer, SWT.NONE); column3.getColumn().setText("Done"); column3.getColumn().setWidth(20); ControlFactoryAndUpdater factory2 = new ObservableMapCellControlProvider.ControlFactoryAndUpdater() { org.eclipse.swt.graphics.Color green = null; org.eclipse.swt.graphics.Color yellow = null; @Override public Control createControl(Composite parent) { Button button = new Button(parent, SWT.CHECK | SWT.FLAT); button.setVisible(true); button.setSelection(false); button.setAlignment(SWT.CENTER); button.setEnabled(false); return button; } @Override public void updateControl(Control control, Object value) { if (green == null) { green = control.getDisplay().getSystemColor(SWT.COLOR_GREEN); yellow = control.getDisplay().getSystemColor(SWT.COLOR_YELLOW); } boolean complete = ((Double) value).intValue() > 10; Button button = (Button) control; button.setSelection(complete); button.setBackground(complete ? green : yellow); } }; column3.setLabelProvider(new ObservableMapCellControlProvider(values, factory2, "Column3")); TableViewerColumn column4 = new TableViewerColumn(viewer, SWT.NONE); column4.getColumn().setText("Done"); column4.getColumn().setWidth(20); column4.setLabelProvider(new ObservableMapOwnerDrawProvider(values) { org.eclipse.swt.graphics.Color green = null; org.eclipse.swt.graphics.Color yellow = null; org.eclipse.swt.graphics.Color original = null; @Override protected void measure(Event event, Object element) { event.setBounds(new Rectangle(event.x, event.y, 20, 10)); } @Override protected void erase(Event event, Object element) { if (original != null) { event.gc.setBackground(original); event.gc.fillRectangle(event.getBounds()); } super.erase(event, element); } @Override protected void paint(Event event, Object element) { if (green == null) { original = event.gc.getBackground(); green = event.display.getSystemColor(SWT.COLOR_GREEN); yellow = event.display.getSystemColor(SWT.COLOR_YELLOW); } Object value = attributeMaps[0].get(element); boolean complete = ((Double) value).intValue() > 10; event.gc.setBackground(complete ? green : yellow); event.gc.fillRectangle(event.getBounds()); } }); viewer.getTable().setHeaderVisible(true); viewer.setContentProvider(contentProvider); viewer.setInput(input); }