Example usage for org.eclipse.jface.databinding.viewers ObservableSetContentProvider getKnownElements

List of usage examples for org.eclipse.jface.databinding.viewers ObservableSetContentProvider getKnownElements

Introduction

In this page you can find the example usage for org.eclipse.jface.databinding.viewers ObservableSetContentProvider getKnownElements.

Prototype

public IObservableSet<E> getKnownElements() 

Source Link

Document

Returns the set of elements known to this content provider.

Usage

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));
    }
}