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

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

Introduction

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

Prototype

public ObservableListContentProvider() 

Source Link

Document

Constructs an ObservableListContentProvider.

Usage

From source file:org.eclipse.linuxtools.internal.docker.ui.wizards.ImageTagSelectionPage.java

License:Open Source License

@Override
public void createControl(final Composite parent) {
    final int COLUMNS = 1;
    final Composite container = new Composite(parent, SWT.NONE);
    GridDataFactory.fillDefaults().align(SWT.FILL, SWT.FILL).span(1, 1).grab(true, false).applyTo(container);
    GridLayoutFactory.fillDefaults().numColumns(COLUMNS).margins(6, 6).spacing(10, 2).applyTo(container);

    // tags/layers table
    final Table table = new Table(container, SWT.BORDER | SWT.FULL_SELECTION | SWT.V_SCROLL | SWT.H_SCROLL);
    GridDataFactory.fillDefaults().align(SWT.FILL, SWT.FILL).grab(true, true).span(COLUMNS, 1).hint(200, 200)
            .applyTo(table);//  www . ja  v  a 2 s  .  co  m
    final TableViewer tableViewer = new TableViewer(table);
    table.setHeaderVisible(true);
    table.setLinesVisible(true);
    addTableViewerColum(tableViewer, WizardMessages.getString("ImageTagSelectionPage.column.tag"), //$NON-NLS-1$
            SWT.NONE, SWT.LEFT, 200, new RepositoryTagColumnLabelProvider());
    addTableViewerColum(tableViewer, WizardMessages.getString("ImageTagSelectionPage.column.layer"), //$NON-NLS-1$
            SWT.NONE, SWT.LEFT, 200, new RepositoryLayerColumnLabelProvider());
    addTableViewerColum(tableViewer, WizardMessages.getString("ImageTagSelectionPage.column.localcopy"), //$NON-NLS-1$
            SWT.NONE, SWT.LEFT, 75, new ImagePulledColumnLabelProvider());
    tableViewer.setContentProvider(new ObservableListContentProvider());
    // observe the viewer content
    final IObservableList observableSearchResultModel = BeanProperties
            .list(ImageSearchModel.class, ImageSearchModel.IMAGE_TAG_SEARCH_RESULT).observe(model);
    tableViewer.setInput(observableSearchResultModel);
    // observe the viewer selection
    ctx.bindValue(ViewerProperties.singleSelection().observe(tableViewer),
            BeanProperties.value(ImageSearchModel.SELECTED_IMAGE_TAG).observe(model));
    setControl(container);
}

From source file:org.eclipse.nebula.widgets.proposal.ProposalDialog.java

License:Open Source License

@Override
protected Control createDialogArea(Composite parent) {
    Composite comp = (Composite) super.createDialogArea(parent);

    stackParent = new Composite(comp, SWT.NONE);
    StackLayout stackLayout = new StackLayout();
    stackParent.setLayout(stackLayout);//w  ww. j a  v  a 2s  . c  o m
    GridDataFactory.fillDefaults().grab(true, true).applyTo(stackParent);

    loadingControl = createLoadingInfo();
    // only show loading control on the stackparent until table gets its
    // input see setInput method.
    stackLayout.topControl = loadingControl;

    tableViewer = new TableViewer(stackParent, SWT.FULL_SELECTION | SWT.H_SCROLL | SWT.V_SCROLL);
    tableViewer.getTable().setHeaderVisible(false);
    tableViewer.getTable().setLinesVisible(false);
    tableViewer.getTable().addListener(SWT.EraseItem, new Listener() {
        @Override
        public void handleEvent(Event event) {
            Control control = (Control) event.widget;
            event.gc.setBackground(control.getDisplay().getSystemColor(SWT.COLOR_WHITE));
            event.gc.fillRectangle(event.getBounds());
        }
    });

    tableViewer.setContentProvider(new ObservableListContentProvider());

    tableViewer.setInput(elements);

    proposalConfigurator.configureViewer(tableViewer);

    return comp;
}

From source file:org.eclipse.rap.demo.databinding.nestedselection.TestMasterDetailView.java

License:Open Source License

private void bind(final Control parent) {
    Realm realm = SWTObservables.getRealm(parent.getDisplay());
    TableViewer peopleViewer = new TableViewer(personsTable);
    ObservableListContentProvider peopleViewerContent = new ObservableListContentProvider();
    peopleViewer.setContentProvider(peopleViewerContent);

    String[] attrSimplePerson = new String[] { "name", "state" };
    IObservableMap[] attributeMaps = BeansObservables.observeMaps(peopleViewerContent.getKnownElements(),
            SimplePerson.class, attrSimplePerson);
    ObservableMapLabelProvider omlProvider = new ObservableMapLabelProvider(attributeMaps);
    peopleViewer.setLabelProvider(omlProvider);
    peopleViewer.setInput(new WritableList(realm, model.getPersonList(), SimpleModel.class));
    IObservableValue selectedPerson = ViewersObservables.observeSingleSelection(peopleViewer);
    DataBindingContext dbc = new DataBindingContext(realm) {
        protected UpdateValueStrategy createTargetToModelUpdateValueStrategy(IObservableValue fromValue,
                IObservableValue toValue) {
            return new CustomUpdateValueStrategy();
        }//from   w  ww  .j ava2s  .  c  om
    };
    IConverter upperCaseConverter = new IConverter() {
        public Object convert(Object fromObject) {
            return ((String) fromObject).toUpperCase();
        }

        public Object getFromType() {
            return String.class;
        }

        public Object getToType() {
            return String.class;
        }
    };
    IValidator vowelValidator = new IValidator() {
        public IStatus validate(Object value) {
            String s = (String) value;
            if (!s.matches("[aeiouAEIOU]*")) {
                return ValidationStatus.error("only vowels allowed");
            }
            return Status.OK_STATUS;
        }
    };

    IObservableValue modelObservableValue = BeansObservables.observeDetailValue(realm, selectedPerson, "name",
            String.class);
    ISWTObservableValue targetObservableValue = SWTObservables.observeText(name, SWT.Modify);
    CustomUpdateValueStrategy customUpdateValueStrategy = new CustomUpdateValueStrategy();
    customUpdateValueStrategy.setConverter(upperCaseConverter);
    UpdateValueStrategy targetToModel = customUpdateValueStrategy.setAfterGetValidator(vowelValidator);
    Binding binding = dbc.bindValue(targetObservableValue, modelObservableValue, targetToModel, null);

    UpdateValueStrategy updateValueStrategy = new UpdateValueStrategy();
    updateValueStrategy.setConverter(new ObjectToStringConverter());
    dbc.bindValue(SWTObservables.observeText(validationStatus, SWT.NONE), binding.getValidationStatus(), null,
            updateValueStrategy);
    dbc.bindValue(SWTObservables.observeText(address, SWT.Modify),
            BeansObservables.observeDetailValue(realm, selectedPerson, "address", String.class), null, null);
    dbc.bindValue(SWTObservables.observeText(city, SWT.Modify),
            BeansObservables.observeDetailValue(realm, selectedPerson, "city", String.class), null, null);
    dbc.bindValue(SWTObservables.observeText(state, SWT.Modify),
            BeansObservables.observeDetailValue(realm, selectedPerson, "state", String.class), null, null);
    TableViewer ordersViewer = new TableViewer(ordersTable);
    ObservableListContentProvider ordersViewerContent = new ObservableListContentProvider();
    ordersViewer.setContentProvider(ordersViewerContent);
    String[] propertyNames = new String[] { "orderNumber", "date" };
    IObservableMap[] observeMaps = BeansObservables.observeMaps(ordersViewerContent.getKnownElements(),
            SimpleOrder.class, propertyNames);
    ObservableMapLabelProvider observableMapLabelProvider = new ObservableMapLabelProvider(observeMaps);
    ordersViewer.setLabelProvider(observableMapLabelProvider);
    IObservableList orders = BeansObservables.observeDetailList(realm, selectedPerson, "orders",
            SimpleOrder.class);
    ordersViewer.setInput(orders);
}

From source file:org.eclipse.riena.internal.ui.ridgets.swt.AbstractTableRidget.java

License:Open Source License

protected void configureViewer(final AbstractTableViewer viewer) {
    final ObservableListContentProvider viewerCP = new ObservableListContentProvider();
    final TableRidgetLabelProvider labelProvider = createLabelProvider(viewerCP);
    viewer.setLabelProvider(labelProvider);
    viewer.setContentProvider(viewerCP);
    viewer.setInput(viewerObservables);/*from   w  w  w  . jav a 2  s  .c o  m*/
    applyComparator(comparatorMap);
    viewConfigured = true;
}

From source file:org.eclipse.riena.ui.ridgets.swt.AbstractListRidget.java

License:Open Source License

protected void configureViewer(final AbstractListViewer viewer) {
    final ObservableListContentProvider viewerCP = new ObservableListContentProvider();
    final String[] propertyNames = new String[] { renderingMethod };
    IObservableMap[] attributeMap = null;

    // if renderingMethod is null, toString-Method will be used in ListLabelProvider
    if (null != renderingMethod) {
        if (AbstractSWTWidgetRidget.isBean(rowBeanClass)) {
            attributeMap = BeansObservables.observeMaps(viewerCP.getKnownElements(), rowBeanClass,
                    propertyNames);/*from ww w  . j a  v a  2  s  .c om*/
        } else {
            attributeMap = PojoObservables.observeMaps(viewerCP.getKnownElements(), rowBeanClass,
                    propertyNames);
        }
    }

    viewer.setLabelProvider(new ListLabelProvider(attributeMap));
    viewer.setContentProvider(viewerCP);
    viewer.setInput(viewerObservables);
}

From source file:org.eclipse.scada.ca.ui.editor.forms.common.ConfigurationFormToolkit.java

License:Open Source License

public void createListSection(final ScrolledForm form, final ConfigurationEditorInput input,
        final String attribute, final String label, final String delimiter, final String pattern) {
    final IObservableList list = StringSplitListObservable.observeString(
            Observables.observeMapEntry(input.getDataMap(), attribute, String.class), delimiter, pattern);

    // section//from w  w  w. j  a  v  a2s . c  o  m

    final Section section = this.toolkit.createSection(form.getBody(), ExpandableComposite.TITLE_BAR);
    section.setText(label);

    final Composite client = this.toolkit.createComposite(section, SWT.NONE);
    section.setClient(client);
    this.toolkit.paintBordersFor(client);

    client.setLayout(new GridLayout(1, true));
    final GridData gd = new GridData(GridData.FILL_BOTH);
    gd.horizontalSpan = 2;
    section.setLayoutData(gd);

    // fields
    final ListViewer viewer = new ListViewer(client);

    viewer.setContentProvider(new ObservableListContentProvider());
    viewer.setInput(list);

    viewer.getControl().setLayoutData(new GridData(GridData.FILL_BOTH));

    viewer.setSorter(new ViewerSorter());
}

From source file:org.eclipse.scada.core.ui.connection.information.details.PropertiesTab.java

License:Open Source License

@Override
public void createTab(final TabFolder tabFolder) {
    this.item = new TabItem(tabFolder, SWT.FULL_SELECTION | SWT.V_SCROLL | SWT.H_SCROLL);
    this.item.setText("Properties");
    this.item.addDisposeListener(new DisposeListener() {

        @Override/*from  w ww.jav  a2 s  .  co  m*/
        public void widgetDisposed(final DisposeEvent e) {
            handleDispose();
        }
    });

    this.viewer = new TableViewer(tabFolder);
    this.viewer.getTable().setHeaderVisible(true);

    final TableLayout layout = new TableLayout();
    this.viewer.getTable().setLayout(layout);

    this.contentProvider = new ObservableListContentProvider();
    this.viewer.setContentProvider(this.contentProvider);

    this.list = new WritableList(SWTObservables.getRealm(tabFolder.getDisplay()));

    {
        final TableViewerColumn col = new TableViewerColumn(this.viewer, SWT.NONE);
        col.setLabelProvider(new ObservableMapCellLabelProvider(
                PojoObservables.observeMap(this.contentProvider.getKnownElements(), Entry.class, "key"))); //$NON-NLS-1$
        layout.addColumnData(new ColumnWeightData(50));
        col.getColumn().setText("Key");
    }

    {
        final TableViewerColumn col = new TableViewerColumn(this.viewer, SWT.NONE);
        col.setLabelProvider(new ObservableMapCellLabelProvider(
                PojoObservables.observeMap(this.contentProvider.getKnownElements(), Entry.class, "value"))); //$NON-NLS-1$
        layout.addColumnData(new ColumnWeightData(50));
        col.getColumn().setText("Value");
    }

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

    this.viewer.setInput(this.list);

    triggerTimer();
}

From source file:org.eclipse.scada.ide.hd.hdsspy.editors.HDSEditor.java

License:Open Source License

@Override
public void createPartControl(final Composite parent) {
    this.entries = new WritableList(DisplayRealm.getRealm(parent.getDisplay()));

    this.viewer = new TableViewer(parent, SWT.FULL_SELECTION | SWT.MULTI);
    this.viewer.getTable().setHeaderVisible(true);

    this.contentProvider = new ObservableListContentProvider();
    this.viewer.setContentProvider(this.contentProvider);

    {/*  www . j ava  2s.  co m*/
        final TableViewerColumn col = new TableViewerColumn(this.viewer, SWT.NONE);
        col.getColumn().setText("Timestamp");
    }
    {
        final TableViewerColumn col = new TableViewerColumn(this.viewer, SWT.NONE);
        col.getColumn().setText("Value");
    }
    {
        final TableViewerColumn col = new TableViewerColumn(this.viewer, SWT.NONE);
        col.getColumn().setText("Error");
    }
    {
        final TableViewerColumn col = new TableViewerColumn(this.viewer, SWT.NONE);
        col.getColumn().setText("Manual");
    }
    {
        final TableViewerColumn col = new TableViewerColumn(this.viewer, SWT.NONE);
        col.getColumn().setText("Deleted");
    }
    {
        final TableViewerColumn col = new TableViewerColumn(this.viewer, SWT.NONE);
        col.getColumn().setText("Heartbeat");
    }

    this.viewer.setLabelProvider(this.labelProvider = new EntryLabelProvider());

    this.viewer.setInput(this.entries);

    final TableLayout tableLayout = new TableLayout();
    tableLayout.addColumnData(new ColumnWeightData(200));
    tableLayout.addColumnData(new ColumnWeightData(100));
    tableLayout.addColumnData(new ColumnWeightData(25));
    tableLayout.addColumnData(new ColumnWeightData(25));
    tableLayout.addColumnData(new ColumnWeightData(25));
    tableLayout.addColumnData(new ColumnWeightData(25));
    this.viewer.getTable().setLayout(tableLayout);

    this.entries.setStale(true);
    try {
        this.loader.performLoad(this.entries);
    } catch (final CoreException e) {
        StatusManager.getManager().handle(e.getStatus(), StatusManager.BLOCK);
    } finally {
        this.entries.setStale(false);
    }
}

From source file:org.eclipse.scada.ui.chart.selector.ChartInputSelector.java

License:Open Source License

public ChartInputSelector(final Composite parent, final ChartViewer chart, final boolean showHeader) {
    this.viewer = CheckboxTableViewer.newCheckList(parent, SWT.FULL_SELECTION);
    this.viewer.getControl().addDisposeListener(new DisposeListener() {

        @Override//from   ww w  .  ja  v  a 2s . c o  m
        public void widgetDisposed(final DisposeEvent e) {
            handleDispose();
        }
    });

    this.inputs = chart.getItems();

    if (showHeader) {
        final TableLayout layout = new TableLayout();

        final TableViewerColumn col = new TableViewerColumn(this.viewer, SWT.NONE);
        col.getColumn().setText(Messages.ChartInputSelector_Channels_Label);
        this.viewer.getTable().setHeaderVisible(true);

        layout.addColumnData(new ColumnWeightData(100));

        this.viewer.getTable().setLayout(layout);
    }

    this.contentProvider = new ObservableListContentProvider();
    this.viewer.setContentProvider(this.contentProvider);
    this.viewer.setLabelProvider(new ObservableMapLabelProviderExtension(
            Properties.observeEach(this.contentProvider.getKnownElements(),
                    new IValueProperty[] { BeanProperties.value(ChartInput.PROP_LABEL),
                            BeanProperties.value(ChartInput.PROP_PREVIEW) })));
    this.viewer.setInput(this.inputs);

    this.visibleElements = BeanProperties.value(ChartInput.class, ChartInput.PROP_VISIBLE)
            .observeDetail(this.contentProvider.getKnownElements());
    this.checked = ViewersObservables.observeCheckedElements(this.viewer, null);

    for (final Object key : this.visibleElements.keySet()) {
        checkEntry(key);
    }
    this.visibleElements.addMapChangeListener(new IMapChangeListener() {

        @Override
        public void handleMapChange(final MapChangeEvent event) {
            for (final Object key : event.diff.getAddedKeys()) {
                checkEntry(key);
            }
            for (final Object key : event.diff.getChangedKeys()) {
                checkEntry(key);
            }
        }

    });

    this.checked.addSetChangeListener(new ISetChangeListener() {

        @Override
        public void handleSetChange(final SetChangeEvent event) {
            for (final Object o : event.diff.getRemovals()) {
                ((ChartInput) o).setVisible(false);
            }
            for (final Object o : event.diff.getAdditions()) {
                ((ChartInput) o).setVisible(true);
            }
        }
    });
}

From source file:org.eclipse.scada.ui.chart.view.ChartControllerView.java

License:Open Source License

@Override
public void createPartControl(final Composite parent) {
    this.dbc = new DataBindingContext();

    parent.setLayout(new FillLayout());

    final Composite wrapper = new Composite(parent, SWT.NONE);
    wrapper.setLayout(new FillLayout());

    this.viewer = new TableViewer(wrapper, SWT.FULL_SELECTION);
    this.viewer.getTable().setHeaderVisible(true);

    final TableLayout layout = new TableLayout();
    this.viewer.getTable().setLayout(layout);

    final ObservableListContentProvider provider = new ObservableListContentProvider();
    this.viewer.setContentProvider(provider);

    {/*from w w w .  j  a  v a2  s  . co  m*/
        final TableViewerColumn col = new TableViewerColumn(this.viewer, SWT.NONE);
        col.getColumn().setText("Input");
        layout.addColumnData(new ColumnWeightData(100));
        col.setLabelProvider(new ObservableMapCellLabelProvider(
                BeansObservables.observeMap(provider.getRealizedElements(), SeriesInformation.PROP_LABEL)) {

            @Override
            public void update(final ViewerCell cell) {
                cell.setText(((ChartInput) cell.getElement()).getLabel());
            }
        });
    }
    {
        final TableViewerColumn col = new TableViewerColumn(this.viewer, SWT.NONE);
        col.getColumn().setText("Preview");
        col.getColumn().setAlignment(SWT.CENTER);
        layout.addColumnData(new ColumnPixelData(50));
        col.setLabelProvider(new ObservableMapCellLabelProvider(
                BeansObservables.observeMap(provider.getRealizedElements(), ChartInput.PROP_PREVIEW)) {

            @Override
            public void update(final ViewerCell cell) {
                final Rectangle rect = cell.getImageBounds();

                if (rect != null && rect.width > 0 && rect.height > 0) {
                    cell.setImage(((ChartInput) cell.getElement()).getPreview(rect.width, rect.height));
                } else {
                    cell.setImage(((ChartInput) cell.getElement()).getPreview(50, 20));
                }
            }
        });
    }
    {
        final TableViewerColumn col = new TableViewerColumn(this.viewer, SWT.NONE);
        col.getColumn().setText("State");
        layout.addColumnData(new ColumnWeightData(100));
        col.setLabelProvider(new ObservableMapCellLabelProvider(
                BeansObservables.observeMap(provider.getRealizedElements(), ChartInput.PROP_STATE)) {

            @Override
            public void update(final ViewerCell cell) {
                cell.setText(((ChartInput) cell.getElement()).getState());
            }
        });
    }
    {
        final TableViewerColumn col = new TableViewerColumn(this.viewer, SWT.NONE);
        col.getColumn().setText("Selected Timestamp");
        layout.addColumnData(new ColumnWeightData(100));
        col.setLabelProvider(new ObservableMapCellLabelProvider(BeansObservables
                .observeMap(provider.getRealizedElements(), SeriesInformation.PROP_SELECTED_TIMESTAMP)) {

            @Override
            public void update(final ViewerCell cell) {
                final Calendar timestamp = ((ChartInput) cell.getElement()).getSelectedTimestamp();
                cell.setText(timestamp == null ? null
                        : DateFormat.getDateTimeInstance().format(timestamp.getTime()));
            }
        });
    }
    {
        final TableViewerColumn col = new TableViewerColumn(this.viewer, SWT.NONE);
        col.getColumn().setText("Selected Value");
        layout.addColumnData(new ColumnWeightData(100));
        col.setLabelProvider(new ObservableMapCellLabelProvider(BeansObservables
                .observeMap(provider.getRealizedElements(), SeriesInformation.PROP_SELECTED_VALUE)) {

            @Override
            public void update(final ViewerCell cell) {
                final Double value = ((ChartInput) cell.getElement()).getSelectedValue();
                if (value == null) {
                    cell.setText("<none>");
                } else {
                    cell.setText(NumberFormat.getNumberInstance().format(value));
                }
            }
        });
    }
    {
        final TableViewerColumn col = new TableViewerColumn(this.viewer, SWT.NONE);
        col.getColumn().setText("Selected Quality");
        layout.addColumnData(new ColumnWeightData(100));
        col.setLabelProvider(new ObservableMapCellLabelProvider(BeansObservables
                .observeMap(provider.getRealizedElements(), SeriesInformation.PROP_SELECTED_QUALITY)) {

            @Override
            public void update(final ViewerCell cell) {
                final Double quality = ((ChartInput) cell.getElement()).getSelectedQuality();
                if (quality == null) {
                    cell.setText(null);
                } else {
                    cell.setText(NumberFormat.getPercentInstance().format(quality));
                }
            }
        });
    }

    getSite().setSelectionProvider(this.viewer);

    contribueTo(getViewSite());

    attachSelectionService();
}