List of usage examples for org.eclipse.jface.databinding.viewers ObservableSetContentProvider getKnownElements
public IObservableSet<E> getKnownElements()
From source file:de.uniluebeck.itm.spyglass.gui.databinding.StringFormatter.java
License:Open Source License
public void setDataBinding(final DataBindingContext dbc, final PluginXMLConfig config) { // default string fmt final IObservableValue modelDefStrFmt = BeansObservables.observeValue(dbc.getValidationRealm(), config, PluginWithStringFormatterXMLConfig.PROPERTYNAME_DEFAULT_STRING_FORMATTER); final UpdateValueStrategy strategy = new UpdateValueStrategy(UpdateValueStrategy.POLICY_CONVERT); strategy.setAfterGetValidator(new StringFormatterValidator()); dbc.bindValue(SWTObservables.observeText(this.defaultStringFmt, SWT.Modify), modelDefStrFmt, strategy, null);/*from ww w.j a v a 2s. co m*/ // dbc.bindValue(SWTObservables.observeText(this.defaultStringFmt, SWT.Modify), // modelDefStrFmt, new UpdateValueStrategy( // UpdateValueStrategy.POLICY_CONVERT), null); // table columnFormatString.setEditingSupport(new StringFormatterEditingSupport(table, dbc)); final ObservableSetContentProvider contentProvider = new ObservableSetContentProvider(); table.setContentProvider(contentProvider); final IObservableMap typeMap = BeansObservables.observeMap(contentProvider.getKnownElements(), ObservableEntry.class, "key"); final IObservableMap fmtStringMap = BeansObservables.observeMap(contentProvider.getKnownElements(), ObservableEntry.class, "value"); final IObservableMap[] columnMaps = new IObservableMap[] { typeMap, fmtStringMap }; table.setLabelProvider(new ObservableMapLabelProvider(columnMaps)); }
From source file:de.uniluebeck.itm.spyglass.plugin.nodesensorrange.NodeSensorRangePerNodeConfigurationComposite.java
License:Open Source License
/** * Activates data binding/*from w ww. j a va 2 s . c om*/ * * @param dbc * the {@link DataBindingContext} * @param config * the configuration which represents the model */ public void setDataBinding(final DataBindingContext dbc, final NodeSensorRangePreferencePage page) { this.page = page; columnLineWidth.setEditingSupport(new DatabindingTextEditingSupport(table, dbc, NodeSensorRangeXMLConfig.PROPERTYNAME_LINE_WIDTH, null, new IntegerRangeValidator(0, 2000), null)); columnLineColor.setEditingSupport( new ColorEditingSupport(table, dbc, NodeSensorRangeXMLConfig.PROPERTYNAME_COLOR_R_G_B)); columnBackgroundColor.setEditingSupport( new ColorEditingSupport(table, dbc, NodeSensorRangeXMLConfig.PROPERTYNAME_BACKGROUND_R_G_B)); columnBackgroundAlpha.setEditingSupport(new DatabindingTextEditingSupport(table, dbc, NodeSensorRangeXMLConfig.PROPERTYNAME_BACKGROUND_ALPHA, null, new IntegerRangeValidator(0, 255), null)); columnType.setEditingSupport(new ComboBoxRangeTypeEditingSupport(table, dbc, NodeSensorRangeXMLConfig.PROPERTYNAME_RANGE_TYPE, new String[] { "Circle", "Cone", "Rectangle" })); final ObservableSetContentProvider contentProvider = new ObservableSetContentProvider(); table.setContentProvider(contentProvider); final IObservableMap backgroundColorMap = BeansObservables.observeMap(contentProvider.getKnownElements(), NodeSensorRangeXMLConfig.Config.class, NodeSensorRangeXMLConfig.PROPERTYNAME_BACKGROUND_R_G_B); final IObservableMap backgroundAlphaMap = BeansObservables.observeMap(contentProvider.getKnownElements(), NodeSensorRangeXMLConfig.Config.class, NodeSensorRangeXMLConfig.PROPERTYNAME_BACKGROUND_ALPHA); final IObservableMap lineColorMap = BeansObservables.observeMap(contentProvider.getKnownElements(), NodeSensorRangeXMLConfig.Config.class, NodeSensorRangeXMLConfig.PROPERTYNAME_COLOR_R_G_B); final IObservableMap lineWidthMap = BeansObservables.observeMap(contentProvider.getKnownElements(), NodeSensorRangeXMLConfig.Config.class, NodeSensorRangeXMLConfig.PROPERTYNAME_LINE_WIDTH); final IObservableMap typeMap = BeansObservables.observeMap(contentProvider.getKnownElements(), NodeSensorRangeXMLConfig.Config.class, NodeSensorRangeXMLConfig.PROPERTYNAME_RANGE_TYPE); final IObservableMap nodeIdMap = BeansObservables.observeMap(contentProvider.getKnownElements(), NodeSensorRangeXMLConfig.Config.class, NodeSensorRangeXMLConfig.PROPERTYNAME_NODE_ID); // we need to map something. it doesn't matter what final IObservableMap buttonMap = BeansObservables.observeMap(contentProvider.getKnownElements(), NodeSensorRangeXMLConfig.Config.class, NodeSensorRangeXMLConfig.PROPERTYNAME_NODE_ID); final IObservableMap[] columnMaps = new IObservableMap[] { nodeIdMap, lineWidthMap, lineColorMap, backgroundColorMap, backgroundAlphaMap, typeMap, buttonMap }; table.setLabelProvider(new ObservableMapLabelProvider(columnMaps)); // after we have defined a generic label provider for the entire table, we can now set // individual label providers // for specific columns. columnBackgroundColor.setLabelProvider( new NodeSensorRangeColorLabelProvider(NodeSensorRangeXMLConfig.PROPERTYNAME_BACKGROUND_R_G_B)); columnLineColor.setLabelProvider( new NodeSensorRangeColorLabelProvider(NodeSensorRangeXMLConfig.PROPERTYNAME_COLOR_R_G_B)); columnButton.setLabelProvider(new ButtonCellLabelProvider()); }
From source file:de.uniluebeck.itm.spyglass.plugin.simpleglobalinformation.SGIStringFormatter.java
License:Open Source License
/** * Activates data binding/* w w w . j a va2s. c om*/ * * @param dbc * the {@link DataBindingContext} */ public void setDataBinding(final DataBindingContext dbc) { // table columnExpressionString.setEditingSupport(new StringFormatterEditingSupport(table, dbc, "expression")); columnDescription.setEditingSupport(new StringFormatterEditingSupport(table, dbc, "description")); columnStatisticType.setEditingSupport(new ComboBoxEditingSupport(table, dbc, "operation", new String[] { "SUM", "MIN", "MAX", "AVG", "MEDIAN" })); final ObservableSetContentProvider contentProvider = new ObservableSetContentProvider(); table.setContentProvider(contentProvider); final IObservableMap typeMap = BeansObservables.observeMap(contentProvider.getKnownElements(), StatisticalInformationEvaluator.class, "semanticType"); final IObservableMap fmtStringMap = BeansObservables.observeMap(contentProvider.getKnownElements(), StatisticalInformationEvaluator.class, "expression"); final IObservableMap descriptionMap = BeansObservables.observeMap(contentProvider.getKnownElements(), StatisticalInformationEvaluator.class, "description"); final IObservableMap operationMap = BeansObservables.observeMap(contentProvider.getKnownElements(), StatisticalInformationEvaluator.class, "operation"); final IObservableMap[] columnMaps = new IObservableMap[] { typeMap, descriptionMap, fmtStringMap, operationMap }; table.setLabelProvider(new ObservableMapLabelProvider(columnMaps)); }
From source file:org.eclipse.e4.xwt.javabean.metadata.properties.InputBeanProperty.java
License:Open Source License
@Override public void setValue(Object target, Object value) throws IllegalArgumentException, IllegalAccessException, InvocationTargetException, SecurityException, NoSuchFieldException { if (value == null) { return;/*www. jav a2s . c o m*/ } if (value instanceof Class<?>) { Class<?> type = (Class<?>) value; if (type.isEnum()) { value = new WritableList(XWT.getRealm(), Arrays.asList(type.getEnumConstants()), type); } } Class<?> elementType = getElementType(); if (value.getClass().isArray()) { elementType = value.getClass().getComponentType(); } if (value instanceof IObservableList) { IObservableList list = (IObservableList) value; Object listElementType = list.getElementType(); if (listElementType instanceof Class<?>) { elementType = (Class<?>) listElementType; } } else if (elementType == Object.class && value instanceof Collection<?>) { Collection<?> collection = (Collection<?>) value; for (Iterator<?> iterator = collection.iterator(); iterator.hasNext();) { Object object = (Object) iterator.next(); if (object != null) { elementType = object.getClass(); break; } } } if (target instanceof ContentViewer) { ContentViewer viewer = (ContentViewer) target; String[] propertyNames = JFacesHelper.getViewerProperties(viewer); if (target instanceof AbstractTreeViewer) { IContentProvider contentProvider = (IContentProvider) viewer.getContentProvider(); if (contentProvider instanceof ObservableTreeContentProvider) { ObservableTreeContentProvider xwtContentProvider = (ObservableTreeContentProvider) contentProvider; xwtContentProvider.updateContext(viewer, value); } if (contentProvider instanceof ObservableTreeContentProvider) { ObservableTreeContentProvider listContentProvider = (ObservableTreeContentProvider) contentProvider; viewer.setLabelProvider(new ObservableMapLabelProvider(viewer, listContentProvider.getKnownElements(), propertyNames)); } } else { IContentProvider contentProvider = viewer.getContentProvider(); if (value instanceof List<?> || value.getClass().isArray()) { if (contentProvider == null) { contentProvider = new ObservableListContentProvider(); viewer.setContentProvider(contentProvider); } if (propertyNames != null && propertyNames.length > 0 && hasDefaultLabelProvider(viewer) && contentProvider instanceof ObservableListContentProvider) { ObservableListContentProvider listContentProvider = (ObservableListContentProvider) contentProvider; viewer.setLabelProvider(new ObservableMapLabelProvider(viewer, listContentProvider.getKnownElements(), propertyNames)); } } else if (value instanceof Set<?>) { if (contentProvider == null) { contentProvider = new ObservableSetContentProvider(); viewer.setContentProvider(contentProvider); } if (propertyNames != null && propertyNames.length > 0 && hasDefaultLabelProvider(viewer) && contentProvider instanceof ObservableSetContentProvider) { ObservableSetContentProvider setContentProvider = (ObservableSetContentProvider) contentProvider; viewer.setLabelProvider(new ObservableMapLabelProvider(viewer, setContentProvider.getKnownElements(), propertyNames)); } } } } if (value instanceof CollectionViewSource) { value = ((CollectionViewSource) value).getView(); } else if ((value instanceof Collection<?>) && !(value instanceof IObservableCollection)) { value = ObjectUtil.resolveValue(value, IObservableCollection.class, value); } super.setValue(target, value); }
From source file:org.eclipse.scada.ae.ui.views.views.MonitorsViewTable.java
License:Open Source License
public MonitorsViewTable(final Composite parent, final IViewSite viewSite, final int style, final WritableSet monitors, final List<ColumnProperties> columnSettings) { super(parent, style); this.monitors = monitors; final FillLayout layout = new FillLayout(); setLayout(layout);/*from ww w . ja v a 2s .c o m*/ this.tableViewer = new TableViewer(this, SWT.H_SCROLL | SWT.V_SCROLL | SWT.FULL_SELECTION | SWT.MULTI); this.tableRef.set(this.tableViewer); createColumns(this.tableViewer); applyColumSettings(columnSettings); this.tableViewer.getTable().setHeaderVisible(true); this.tableViewer.getTable().setLinesVisible(true); this.tableViewer.setUseHashlookup(true); this.tableViewer.setSorter(new Sorter(Columns.LAST_FAIL_TIMESTAMP, SWT.DOWN)); this.tableViewer.getTable().setSortDirection(SWT.DOWN); hookContextMenu(this.tableViewer.getControl(), this.tableViewer, viewSite); viewSite.setSelectionProvider(this.tableViewer); final ObservableSetContentProvider contentProvider = new ObservableSetContentProvider(); this.tableViewer.setContentProvider(contentProvider); this.tableViewer.setLabelProvider( new MonitorTableLabelProvider(Properties.observeEach(contentProvider.getKnownElements(), BeanProperties.values(new String[] { "id", "monitor" })), Settings.getTimeZone())); //$NON-NLS-1$ //$NON-NLS-2$ this.tableViewer.setInput(this.monitors); contentProvider.getRealizedElements().addSetChangeListener(new ISetChangeListener() { @Override public void handleSetChange(final SetChangeEvent event) { if (!MonitorsViewTable.this.scrollLock) { MonitorsViewTable.this.tableViewer.getTable().setTopIndex(0); } } }); }
From source file:org.openscada.prototype.da.spreadsheet.ControllerEditorPart.java
License:Open Source License
private void createItemTable(final Composite wrapper) { this.viewer = new TableViewer(wrapper, SWT.FULL_SELECTION); final TableLayout tableLayout = new TableLayout(); this.viewer.getTable().setLayout(tableLayout); this.viewer.getTable().setHeaderVisible(true); final ObservableSetContentProvider contentProvider = new ObservableSetContentProvider(); this.viewer.setContentProvider(contentProvider); {//from w ww .j a v a2 s.c o m final TableViewerColumn col = new TableViewerColumn(this.viewer, SWT.NONE); col.getColumn().setText("Item Id"); tableLayout.addColumnData(new ColumnWeightData(100)); col.setLabelProvider(new CellLabelProvider() { @Override public void update(final ViewerCell cell) { cell.setText(((PrototypeItem) cell.getElement()).getItemId()); } }); } { final TableViewerColumn col = new TableViewerColumn(this.viewer, SWT.NONE); col.getColumn().setText("Simulation Value"); tableLayout.addColumnData(new ColumnWeightData(50)); col.setLabelProvider(new ObservableMapCellLabelProvider( Properties.observeEach(contentProvider.getKnownElements(), BeanProperties.values( PrototypeItem.class, new String[] { PrototypeItem.PROP_SIMULATION_VALUE }))[0])); final TextCellEditor cellEditor = new TextCellEditor(this.viewer.getTable()); final IValueProperty cellEditorProperty = CellEditorProperties.control() .value(WidgetProperties.text(SWT.Modify)); final IValueProperty elementProperty = BeanProperties.value(PrototypeItem.PROP_SIMULATION_VALUE); col.setEditingSupport(new DefaultEditingSupport(this.viewer, this.dbc, cellEditorProperty, cellEditor, elementProperty) { @Override protected UpdateValueStrategy createTargetToModelStrategy() { final UpdateValueStrategy result = new UpdateValueStrategy(); result.setConverter(new Converter(String.class, Variant.class) { @Override public Object convert(final Object fromObject) { return VariantEditor.toVariant((String) fromObject); } }); return result; } }); } { createFlagColumn(tableLayout, contentProvider, "Subscribed", PrototypeItem.PROP_SUBSCRIBED, false); createFlagColumn(tableLayout, contentProvider, "Error", PrototypeItem.PROP_SIMULATION_ERROR_FLAG, true); createFlagColumn(tableLayout, contentProvider, "Alarm", PrototypeItem.PROP_SIMULATION_ALARM_FLAG, true); createFlagColumn(tableLayout, contentProvider, "Manual", PrototypeItem.PROP_SIMULATION_MANUAL_FLAG, true); createFlagColumn(tableLayout, contentProvider, "Block", PrototypeItem.PROP_SIMULATION_BLOCK_FLAG, true); createFlagColumn(tableLayout, contentProvider, "Ack", PrototypeItem.PROP_SIMULATION_ACK_FLAG, true); } this.viewer.setInput(this.serverController.getItems()); this.viewer.setComparator(new ViewerComparator() { @Override public int compare(final Viewer viewer, final Object e1, final Object e2) { return ((PrototypeItem) e1).getItemId().compareTo(((PrototypeItem) e2).getItemId()); } }); }
From source file:org.openscada.prototype.da.spreadsheet.ControllerEditorPart.java
License:Open Source License
private void createFlagColumn(final TableLayout tableLayout, final ObservableSetContentProvider contentProvider, final String label, final String propertyName, final boolean editable) { final TableViewerColumn col = new TableViewerColumn(this.viewer, SWT.NONE); col.getColumn().setText(label);/*from w w w. j a v a 2 s .c o m*/ tableLayout.addColumnData(new ColumnWeightData(10)); col.setLabelProvider( new ObservableMapCellLabelProvider(Properties.observeEach(contentProvider.getKnownElements(), BeanProperties.values(PrototypeItem.class, new String[] { propertyName }))[0])); if (editable) { createCheckCellEditor(col, BeanProperties.value(propertyName)); } }