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.openscada.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);

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

    final TableColumnLayout layout = new TableColumnLayout();
    wrapper.setLayout(layout);// w ww  .j  av  a2s  .c  o m

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

    {
        final TableViewerColumn col = new TableViewerColumn(this.viewer, SWT.NONE);
        col.getColumn().setText("Input");
        layout.setColumnData(col.getColumn(), new ColumnWeightData(100));
        col.setLabelProvider(new ObservableMapCellLabelProvider(
                BeansObservables.observeMap(provider.getRealizedElements(), "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.setColumnData(col.getColumn(), 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.setColumnData(col.getColumn(), 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.setColumnData(col.getColumn(), new ColumnWeightData(100));
        col.setLabelProvider(new ObservableMapCellLabelProvider(BeansObservables
                .observeMap(provider.getRealizedElements(), ChartInput.PROP_SELECTED_TIMESTAMP)) {

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

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

            @Override
            public void update(final ViewerCell cell) {
                cell.setText(((ChartInput) cell.getElement()).getSelectedQuality());
            }
        });
    }

    getSite().setSelectionProvider(this.viewer);

    contribueTo(getViewSite());

    attachSelectionService();
}

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;/* w ww  .  j a v  a2 s. co m*/
            }
        }
        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;
        }/*from   www .  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./*  www .ja  va 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 ww  .j a  v  a 2s.  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) {/*  w  ww  .  j  a va  2s  .co  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:org.teavm.eclipse.ui.TeaVMProfileDialog.java

License:Apache License

private void createPropertiesGroup(Composite parent) {
    Group group = createGroup(parent, "Properties", 2, true);
    propertiesTableViewer = new TableViewer(group, SWT.BORDER | SWT.V_SCROLL);
    propertiesTableViewer.getTable().setLinesVisible(true);
    propertiesTableViewer.getTable().setHeaderVisible(true);
    propertiesTableViewer.getTable().setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true, 1, 3));
    propertiesTableViewer.setContentProvider(new ObservableListContentProvider());
    propertiesTableViewer.setInput(propertyList);

    TableViewerColumn propertyColumn = new TableViewerColumn(propertiesTableViewer, SWT.LEFT);
    propertyColumn.getColumn().setWidth(200);
    propertyColumn.getColumn().setText("Property");
    propertyColumn.setLabelProvider(new ColumnLabelProvider() {
        @Override/*  ww w  .j av a 2 s . c  o  m*/
        public String getText(Object element) {
            KeyValue item = (KeyValue) element;
            return item.key;
        }
    });
    propertyColumn.setEditingSupport(
            new KeyValueEditingSupport(propertyColumn.getViewer(), propertiesTableViewer.getTable()) {
                @Override
                protected Object getValue(Object element) {
                    KeyValue item = (KeyValue) element;
                    return item.key;
                }

                @Override
                protected void setValue(Object element, Object value) {
                    KeyValue item = (KeyValue) element;
                    item.key = (String) value;
                    getViewer().update(element, null);
                }
            });

    TableViewerColumn valueColumn = new TableViewerColumn(propertiesTableViewer, SWT.LEFT);
    valueColumn.getColumn().setWidth(200);
    valueColumn.getColumn().setText("Value");
    valueColumn.setLabelProvider(new ColumnLabelProvider() {
        @Override
        public String getText(Object element) {
            KeyValue item = (KeyValue) element;
            return item.value;
        }
    });
    valueColumn.setEditingSupport(
            new KeyValueEditingSupport(valueColumn.getViewer(), propertiesTableViewer.getTable()) {
                @Override
                protected Object getValue(Object element) {
                    KeyValue item = (KeyValue) element;
                    return item.value;
                }

                @Override
                protected void setValue(Object element, Object value) {
                    KeyValue item = (KeyValue) element;
                    item.value = (String) value;
                    getViewer().update(element, null);
                }
            });

    addPropertyButton = new Button(group, SWT.PUSH);
    addPropertyButton.setText("Add");
    addPropertyButton.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, false, false));
    addPropertyButton.addSelectionListener(new SelectionAdapter() {
        @Override
        public void widgetSelected(SelectionEvent e) {
            addProperty();
        }
    });

    deletePropertyButton = new Button(group, SWT.PUSH);
    deletePropertyButton.setText("Delete");
    deletePropertyButton.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, false, false));
    deletePropertyButton.addSelectionListener(new SelectionAdapter() {
        @Override
        public void widgetSelected(SelectionEvent e) {
            deleteProperty();
        }
    });
}

From source file:org.teavm.eclipse.ui.TeaVMProfileDialog.java

License:Apache License

private void createClassesGroup(Composite parent) {
    Group group = createGroup(parent, "Class aliases", 2, true);
    classAliasesTableViewer = new TableViewer(group, SWT.BORDER | SWT.V_SCROLL);
    classAliasesTableViewer.getTable().setLinesVisible(true);
    classAliasesTableViewer.getTable().setHeaderVisible(true);
    classAliasesTableViewer.getTable().setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true, 1, 3));
    classAliasesTableViewer.setContentProvider(new ObservableListContentProvider());
    classAliasesTableViewer.setInput(classAliases);

    TableViewerColumn classNameColumn = new TableViewerColumn(classAliasesTableViewer, SWT.LEFT);
    classNameColumn.getColumn().setWidth(200);
    classNameColumn.getColumn().setText("Class");
    classNameColumn.setLabelProvider(new ColumnLabelProvider() {
        @Override/*ww w  . ja  v a  2s.com*/
        public String getText(Object element) {
            ClassAliasRow item = (ClassAliasRow) element;
            return item.className;
        }
    });

    TableViewerColumn valueColumn = new TableViewerColumn(classAliasesTableViewer, SWT.LEFT);
    valueColumn.getColumn().setWidth(200);
    valueColumn.getColumn().setText("Alias");
    valueColumn.setLabelProvider(new ColumnLabelProvider() {
        @Override
        public String getText(Object element) {
            ClassAliasRow item = (ClassAliasRow) element;
            return item.alias;
        }
    });
    valueColumn.setEditingSupport(new EditingSupport(valueColumn.getViewer()) {
        private TextCellEditor editor = new TextCellEditor(classAliasesTableViewer.getTable());

        @Override
        protected Object getValue(Object element) {
            ClassAliasRow item = (ClassAliasRow) element;
            return item.alias;
        }

        @Override
        protected void setValue(Object element, Object value) {
            ClassAliasRow item = (ClassAliasRow) element;
            item.alias = (String) value;
            getViewer().update(element, null);
        }

        @Override
        protected boolean canEdit(Object element) {
            return true;
        }

        @Override
        protected CellEditor getCellEditor(Object element) {
            return editor;
        }
    });

    addClassAliasButton = new Button(group, SWT.PUSH);
    addClassAliasButton.setLayoutData(new GridData(SWT.FILL, SWT.TOP, false, false));
    addClassAliasButton.setText("Add...");
    addClassAliasButton.addSelectionListener(new SelectionAdapter() {
        @Override
        public void widgetSelected(SelectionEvent e) {
            addClass();
        }
    });

    removeClassAliasButton = new Button(group, SWT.PUSH);
    removeClassAliasButton.setLayoutData(new GridData(SWT.FILL, SWT.TOP, false, false));
    removeClassAliasButton.setText("Remove");
    removeClassAliasButton.addSelectionListener(new SelectionAdapter() {
        @Override
        public void widgetSelected(SelectionEvent e) {
            removeClass();
        }
    });
}

From source file:org.yafra.rcp.admin.YafraAuditTable.java

License:Apache License

/**
 * @wbp.parser.entryPoint// w ww .j a v  a 2s.  co m
 */
public void createTable(TableViewer viewerAudits, List<MGYafraAudit> audits) {
    // business role table viewer
    this.fillTable(audits, null);
    tableCreateCols(viewerAudits);
    viewerAudits.setContentProvider(new ObservableListContentProvider());
    viewerAudits.setLabelProvider(new YafraAuditLabelProvider());
}

From source file:org.yafra.rcp.admin.YafraBusRoleAddRoleDialog.java

License:Apache License

/**
 * Create contents of the dialog./*  w  ww .j  a  va  2s.com*/
 * @param parent
 */
@Override
protected Control createDialogArea(Composite parent) {
    Composite container = (Composite) super.createDialogArea(parent);

    Label lblAddNewBusRole = new Label(container, SWT.NONE);
    lblAddNewBusRole.setText("Add new business role - select one or more roles below");

    ScrolledComposite scrolledComposite = new ScrolledComposite(container,
            SWT.BORDER | SWT.H_SCROLL | SWT.V_SCROLL);
    GridData gridData = new GridData(SWT.FILL, SWT.FILL, true, true, 1, 1);
    gridData.heightHint = 95;
    scrolledComposite.setLayoutData(gridData);
    scrolledComposite.setExpandHorizontal(true);
    scrolledComposite.setExpandVertical(true);

    fillList();
    inputRoles = new WritableList(roles, MGYafraTechRole.class);
    viewerRoles = new ListViewer(scrolledComposite, SWT.BORDER | SWT.MULTI);
    viewerRoles.setContentProvider(new ObservableListContentProvider());
    viewerRoles.setLabelProvider(new LabelProvider() {
        public String getText(Object element) {
            MGYafraTechRole user = (MGYafraTechRole) element;
            return (user.getName() + " - " + user.getDescription());
        }
    });
    viewerRoles.addSelectionChangedListener(new ISelectionChangedListener() {
        public void selectionChanged(SelectionChangedEvent event) {
            if (event.getSelection().isEmpty()) {
                // if the selection is empty clear list
                selectedroles.clear();
                glob.setDebugmessage(" - selection change is empty");
                return;
            }
            if (event.getSelection() instanceof IStructuredSelection) {
                IStructuredSelection selection = (IStructuredSelection) event.getSelection();
                glob.setDebugmessage(
                        " - selection on dialog business roles no of selections: " + selection.size());
                for (Iterator<MGYafraTechRole> iterator = selection.iterator(); iterator.hasNext();) {
                    selectedroles.add(iterator.next());
                }
            }
        }
    });
    viewerRoles.setInput(inputRoles);

    scrolledComposite.setContent(viewerRoles.getList());
    scrolledComposite.setMinSize(viewerRoles.getList().computeSize(SWT.DEFAULT, SWT.DEFAULT));

    return container;
}