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

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

Introduction

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

Prototype

public ObservableSetContentProvider() 

Source Link

Document

Constructs an ObservableSetContentProvider.

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);/* w  w w  .j a va 2s  .c  o 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/* w w w. j a  v  a2 s  .c o m*/
 * 
 * @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/*from   w  ww  .j  a va2 s  .c o  m*/
 * 
 * @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:gov.redhawk.ide.codegen.frontend.ui.FrontEndDeviceUIUtils.java

License:Open Source License

private void addColumns(TableViewer theTableViewer) {
    ColumnViewerToolTipSupport.enableFor(theTableViewer);

    final FrontEndPropLabelProvider lp = new FrontEndPropLabelProvider();

    TableViewerColumn nameIDColumn = new TableViewerColumn(theTableViewer, SWT.NONE);
    nameIDColumn.setLabelProvider(new TreeColumnViewerLabelProvider(lp) {
        @Override/*from ww w  .jav a 2s  . c  o  m*/
        public String getText(Object element) {
            return lp.getColumnText(element, 0);
        }
    });
    nameIDColumn.getColumn().setText("Name/ID");

    TableViewerColumn typeColumn = new TableViewerColumn(theTableViewer, SWT.NONE);
    typeColumn.setLabelProvider(new TreeColumnViewerLabelProvider(lp) {
        @Override
        public String getText(Object element) {
            return lp.getColumnText(element, 1);
        }
    });
    typeColumn.getColumn().setText("Type");

    TableViewerColumn required = new TableViewerColumn(theTableViewer, SWT.NONE);
    required.setLabelProvider(new TreeColumnViewerLabelProvider(lp) {
        @Override
        public String getText(Object element) {
            return lp.getColumnText(element, 2);
        }
    });
    required.getColumn().setText("Required");

    TableViewerColumn descColumn = new TableViewerColumn(theTableViewer, SWT.NONE);
    descColumn.getColumn().setText("Description");
    descColumn.setLabelProvider(new TreeColumnViewerLabelProvider(lp) {

        @Override
        public String getText(Object element) {
            return lp.getColumnText(element, 3);
        }

        @Override
        public int getToolTipDisplayDelayTime(Object object) {
            return 50;
        }

        @Override
        public String getToolTipText(Object element) {
            return getText(element);
        }

        @Override
        public int getToolTipTimeDisplayed(Object object) {
            return 5000;
        }

        @Override
        public boolean useNativeToolTip(Object object) {
            return true;
        }
    });

    theTableViewer.setContentProvider(new ObservableSetContentProvider());
}

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;/*w ww. j a  v a  2 s . 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.testing.views.EventViewHelper.java

License:Open Source License

public static TableViewer createTableViewer(final Composite wrapper, final IViewSite viewSite,
        final IObservableSet events) {
    final TableViewer viewer = new TableViewer(wrapper);

    TableColumnLayout tableLayout;/*from  w  ww . j  av a2 s . c  o  m*/
    wrapper.setLayout(tableLayout = new TableColumnLayout());

    TableColumn col;

    col = new TableColumn(viewer.getTable(), SWT.NONE);
    col.setText("Source Timestamp");
    tableLayout.setColumnData(col, new ColumnWeightData(100));

    col = new TableColumn(viewer.getTable(), SWT.NONE);
    col.setText("Entry Timestamp");
    tableLayout.setColumnData(col, new ColumnWeightData(100));

    col = new TableColumn(viewer.getTable(), SWT.NONE);
    col.setText("Source");
    tableLayout.setColumnData(col, new ColumnWeightData(25));

    col = new TableColumn(viewer.getTable(), SWT.NONE);
    col.setText("Monitor Type");
    tableLayout.setColumnData(col, new ColumnWeightData(25));

    col = new TableColumn(viewer.getTable(), SWT.NONE);
    col.setText("Event Type");
    tableLayout.setColumnData(col, new ColumnWeightData(25));

    col = new TableColumn(viewer.getTable(), SWT.NONE);
    col.setText("User");
    tableLayout.setColumnData(col, new ColumnWeightData(25));

    col = new TableColumn(viewer.getTable(), SWT.NONE);
    col.setText("Value");
    tableLayout.setColumnData(col, new ColumnWeightData(50));

    col = new TableColumn(viewer.getTable(), SWT.NONE);
    col.setText("Message");
    tableLayout.setColumnData(col, new ColumnWeightData(200));

    viewer.getTable().setLayout(new GridLayout(1, false));
    viewer.getTable().setHeaderVisible(true);

    viewer.setUseHashlookup(true);
    viewer.setContentProvider(new ObservableSetContentProvider());
    viewer.setLabelProvider(new EventsLabelProvider());
    viewer.setComparator(new EntryTimestampViewerComparator());
    viewer.setInput(events);

    viewSite.setSelectionProvider(viewer);

    return viewer;
}

From source file:org.eclipse.scada.ae.ui.testing.views.MonitorsView.java

License:Open Source License

@Override
public void createPartControl(final Composite parent) {
    final GridLayout layout = new GridLayout(1, false);
    layout.horizontalSpacing = layout.verticalSpacing = 0;
    layout.marginHeight = layout.marginWidth = 0;

    parent.setLayout(layout);/*from   w w  w.jav a2 s  . c o m*/

    this.stateLabel = new Label(parent, SWT.NONE);
    this.stateLabel.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, false));

    final Composite wrapper = new Composite(parent, SWT.NONE);
    wrapper.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));

    this.viewer = new TableViewer(wrapper, SWT.FULL_SELECTION | SWT.MULTI);

    TableColumnLayout tableLayout;
    wrapper.setLayout(tableLayout = new TableColumnLayout());

    TableColumn col;

    col = new TableColumn(this.viewer.getTable(), SWT.NONE);
    col.setText("ID");
    tableLayout.setColumnData(col, new ColumnWeightData(50));

    col = new TableColumn(this.viewer.getTable(), SWT.NONE);
    col.setText("State");
    tableLayout.setColumnData(col, new ColumnWeightData(50));

    col = new TableColumn(this.viewer.getTable(), SWT.NONE);
    col.setText("Change Timestamp");
    tableLayout.setColumnData(col, new ColumnWeightData(100));

    col = new TableColumn(this.viewer.getTable(), SWT.NONE);
    col.setText("Priority");
    tableLayout.setColumnData(col, new ColumnWeightData(50));

    col = new TableColumn(this.viewer.getTable(), SWT.NONE);
    col.setText("Value");
    tableLayout.setColumnData(col, new ColumnWeightData(50));

    col = new TableColumn(this.viewer.getTable(), SWT.NONE);
    col.setText("Ack User");
    tableLayout.setColumnData(col, new ColumnWeightData(50));

    col = new TableColumn(this.viewer.getTable(), SWT.NONE);
    col.setText("Ack Timestamp");
    tableLayout.setColumnData(col, new ColumnWeightData(100));

    this.viewer.getTable().setLayout(layout);
    this.viewer.getTable().setHeaderVisible(true);

    this.viewer.setComparator(new ViewerComparator() {
        @Override
        public int compare(final Viewer viewer, final Object e1, final Object e2) {
            if (e1 instanceof MonitorStatusBean && e2 instanceof MonitorStatusBean) {
                final MonitorStatusBean b1 = (MonitorStatusBean) e1;
                final MonitorStatusBean b2 = (MonitorStatusBean) e2;
                return b1.getId().compareTo(b2.getId());
            }
            return 0;
        }
    });
    this.viewer.setContentProvider(new ObservableSetContentProvider());
    this.viewer.setLabelProvider(
            new MonitorsLabelProvider(BeansObservables.observeMaps(this.monitors, MonitorStatusBean.class,
                    new String[] { "id", MonitorStatusBean.PROP_STATUS, MonitorStatusBean.PROP_STATUS_TIMESTAMP,
                            MonitorStatusBean.PROP_VALUE, MonitorStatusBean.PROP_LAST_AKN_USER,
                            MonitorStatusBean.PROP_LAST_AKN_TIMESTAMP,
                            MonitorStatusBean.PROP_LAST_FAIL_TIMESTAMP, MonitorStatusBean.PROP_ATTRIBUTES })));
    this.viewer.setInput(this.monitors);

    getViewSite().setSelectionProvider(this.viewer);

    hookContextMenu();
    addSelectionListener();
}

From source file:org.eclipse.scada.ae.ui.views.views.EventViewTable.java

License:Open Source License

public EventViewTable(final Composite parent, final IViewSite viewSite, final int style,
        final WritableSet events, final List<ColumnProperties> columnSettings,
        final List<ColumnLabelProviderInformation> columnInformations) {
    super(parent, style);
    this.events = events;

    this.columnInformations = makeColumnInformations(columnInformations);

    this.labelProviderSupport = new LabelProviderSupport(Settings.getTimeZone());

    final FillLayout layout = new FillLayout();
    setLayout(layout);/*from  ww  w  . jav  a 2s .c o m*/

    this.tableViewer = new TableViewer(this, SWT.H_SCROLL | SWT.V_SCROLL | SWT.FULL_SELECTION | SWT.MULTI);
    createColumns(this.tableViewer);
    applyColumSettings(columnSettings);
    this.tableViewer.getTable().setHeaderVisible(true);
    this.tableViewer.getTable().setLinesVisible(true);
    this.tableViewer.setUseHashlookup(true);
    this.tableViewer.setSorter(new EventTableSorter(EventTableColumn.reservedColumnSourceTimestamp, SWT.DOWN));
    this.tableViewer.getTable().setSortDirection(SWT.DOWN);

    hookContextMenu(this.tableViewer.getControl(), this.tableViewer, viewSite);
    this.tableViewer.addDoubleClickListener(new IDoubleClickListener() {

        @Override
        public void doubleClick(final DoubleClickEvent event) {
            handleDoubleClick(event.getSelection());
        }
    });

    viewSite.setSelectionProvider(this.tableViewer);

    final ObservableSetContentProvider contentProvider = new ObservableSetContentProvider();
    this.tableViewer.setContentProvider(contentProvider);
    this.tableViewer.setInput(this.events);

    contentProvider.getRealizedElements().addSetChangeListener(new ISetChangeListener() {
        @Override
        public void handleSetChange(final SetChangeEvent event) {
            if (!EventViewTable.this.scrollLock) {
                EventViewTable.this.tableViewer.getTable().setTopIndex(0);
            }
        }
    });
}

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 w  ww.java2  s  .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.eclipse.scada.core.ui.connection.information.details.PrivilegeTab.java

License:Open Source License

@Override
public void createTab(final TabFolder tabFolder) {
    this.display = tabFolder.getDisplay();
    this.item = new TabItem(tabFolder, SWT.NONE);
    this.item.setText("Privileges");

    this.viewer = new ListViewer(tabFolder);

    this.viewer.setContentProvider(new ObservableSetContentProvider());

    this.item.setControl(this.viewer.getControl());
}