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.bonitasoft.studio.contract.ui.wizard.SelectBusinessDataWizardPage.java

License:Open Source License

public void createTableViewer(final Composite parent) {
    final DataBindingContext dbc = new DataBindingContext();
    final TableViewer businessDataTableViewer = new TableViewer(parent,
            SWT.BORDER | SWT.SINGLE | SWT.NO_FOCUS | SWT.H_SCROLL | SWT.V_SCROLL);
    businessDataTableViewer.getTable().setLayout(GridLayoutFactory.fillDefaults().create());
    businessDataTableViewer.getTable()/*from  w  ww  .  ja  v a  2s .  com*/
            .setLayoutData(GridDataFactory.fillDefaults().grab(true, true).hint(200, 100).create());
    final ObservableListContentProvider contentProvider = new ObservableListContentProvider();
    businessDataTableViewer.setContentProvider(contentProvider);
    final IObservableSet knownElements = contentProvider.getKnownElements();
    final IObservableMap[] labelMaps = EMFObservables.observeMaps(knownElements,
            new EStructuralFeature[] { ProcessPackage.Literals.ELEMENT__NAME,
                    ProcessPackage.Literals.DATA__MULTIPLE,
                    ProcessPackage.Literals.JAVA_OBJECT_DATA__CLASS_NAME });
    businessDataTableViewer
            .setLabelProvider(new BusinessObjectDataStyledLabelProvider(businessObjectStore, labelMaps));
    businessDataTableViewer
            .setInput(new WritableList(availableBusinessData, ProcessPackage.Literals.BUSINESS_OBJECT_DATA));
    final IViewerObservableValue observeSingleSelection = ViewersObservables
            .observeSingleSelection(businessDataTableViewer);
    dbc.bindValue(observeSingleSelection, selectedDataObservable);

    final MultiValidator multiValidator = new BusinessDataSelectedValidator(availableBusinessData,
            selectedDataObservable, businessObjectStore);
    dbc.addValidationStatusProvider(multiValidator);
    WizardPageSupport.create(this, dbc);
}

From source file:org.bonitasoft.studio.data.ui.property.section.control.DataViewer.java

License:Open Source License

public DataViewer(final Composite parent, final TabbedPropertySheetWidgetFactory widgetFactory,
        final EStructuralFeature dataFeature) {
    super(parent, SWT.NONE);
    this.widgetFactory = widgetFactory;
    this.dataFeature = dataFeature;
    setLayout(GridLayoutFactory.fillDefaults().numColumns(2).extendedMargins(10, 10, 5, 10).create());

    createTitle();// ww  w  . j av  a 2 s.  c o m

    createButtons();

    tableViewer = new TableViewer(this, SWT.BORDER | SWT.MULTI | SWT.NO_FOCUS | SWT.H_SCROLL | SWT.V_SCROLL);
    widgetFactory.adapt(tableViewer.getTable(), false, false);
    tableViewer.getTable().setData(SWTBotConstants.SWTBOT_WIDGET_ID_KEY, getTableId());
    tableViewer.getTable().setLayout(GridLayoutFactory.fillDefaults().create());
    widgetFactory.adapt(tableViewer.getTable(), false, false);
    tableViewer.getTable()
            .setLayoutData(GridDataFactory.fillDefaults().grab(true, true).hint(200, 100).create());
    tableViewer.setSorter(new ViewerSorter());
    tableViewer.addDoubleClickListener(new IDoubleClickListener() {

        @Override
        public void doubleClick(final DoubleClickEvent event) {
            editData();
        }
    });
    addFilters(tableViewer);
    final ObservableListContentProvider contentProvider = new ObservableListContentProvider();
    tableViewer.setContentProvider(contentProvider);

    widgetFactory.adapt(this);
}

From source file:org.bonitasoft.studio.document.ui.DocumentPropertySection.java

License:Open Source License

private ListViewer createList(final Composite mainComposite) {
    final List list = getWidgetFactory().createList(mainComposite,
            SWT.FULL_SELECTION | SWT.BORDER | SWT.V_SCROLL | SWT.H_SCROLL | SWT.MULTI);
    list.setLayoutData(GridDataFactory.fillDefaults().grab(true, true).create());
    final ListViewer documentListViewer = new ListViewer(list);
    documentListViewer.setLabelProvider(new ElementForIdLabelProvider());
    documentListViewer.setContentProvider(new ObservableListContentProvider());
    documentListViewer.addDoubleClickListener(this);
    documentListViewer.addSelectionChangedListener(this);
    return documentListViewer;
}

From source file:org.bonitasoft.studio.properties.sections.document.DocumentPropertySection.java

License:Open Source License

private ListViewer createList(Composite mainComposite) {
    List list = getWidgetFactory().createList(mainComposite,
            SWT.FULL_SELECTION | SWT.BORDER | SWT.V_SCROLL | SWT.H_SCROLL);
    list.setLayoutData(GridDataFactory.fillDefaults().grab(true, true).create());
    ListViewer documentListViewer = new ListViewer(list);
    documentListViewer.setLabelProvider(new ElementForIdLabelProvider());
    documentListViewer.setContentProvider(new ObservableListContentProvider());
    documentListViewer.addSelectionChangedListener(new ISelectionChangedListener() {

        @Override// w w  w . j  av  a2  s .  com
        public void selectionChanged(SelectionChangedEvent event) {
            final ISelection listSelection = event.getSelection();
            if (listSelection.isEmpty()) {
                removeButton.setEnabled(false);
                detailsComposite.setVisible(false);
            } else {
                detailsComposite.setVisible(true);
                removeButton.setEnabled(true);
                final Document document = (Document) ((IStructuredSelection) listSelection).getFirstElement();
                documentUrlViewer.getTextControl().setEnabled(!document.isIsInternal());
                documentUrlViewer.getButtonControl().setEnabled(!document.isIsInternal());
                documentTextId.setEnabled(document.isIsInternal());
                browseButton.setEnabled(document.isIsInternal());
            }
        }
    });
    return documentListViewer;
}

From source file:org.bonitasoft.studio.properties.sections.iteration.control.IteratorNameEditor.java

License:Open Source License

public IteratorNameEditor(final Composite parent, final TabbedPropertySheetWidgetFactory widgetFactory) {
    super(parent, SWT.BORDER | SWT.SINGLE);
    getTable().setData(SWTBotConstants.SWTBOT_WIDGET_ID_KEY, SWTBotConstants.SWTBOT_ID_ITERATOR_TABLE);
    final ObservableListContentProvider provider = new ObservableListContentProvider();
    setContentProvider(provider);//from  w w w .ja  v a2s . c  o  m
    final TableLayout tableLayout = new TableLayout();
    tableLayout.addColumnData(new ColumnWeightData(1));
    getTable().setLayout(tableLayout);
    tableViewerColumn = new TableViewerColumn(this, SWT.FILL);
    tableViewerColumn.setLabelProvider(new IteratorNameCellLabelProvider(
            new AdapterFactoryContentProvider(
                    new ComposedAdapterFactory(ComposedAdapterFactory.Descriptor.Registry.INSTANCE)),
            provider.getKnownElements()));

    widgetFactory.adapt(getTable());

}

From source file:org.bonitasoft.studio.properties.sections.loop.MultiInstantiationPropertyContribution.java

License:Open Source License

protected ComboViewer createChooser(TabbedPropertySheetWidgetFactory widgetFactory,
        Composite inputOutputDataComposite) {
    final ComboViewer comboViewer = new ComboViewer(
            new Combo(inputOutputDataComposite, SWT.BORDER | SWT.READ_ONLY));
    comboViewer.setContentProvider(new ObservableListContentProvider());
    comboViewer.setLabelProvider(new DataLabelProvider());
    comboViewer.getControl()/*from  www. j a  v a  2  s . com*/
            .setLayoutData(GridDataFactory.fillDefaults().grab(true, false).indent(5, 0).create());
    ToolBar toolBar = new ToolBar(inputOutputDataComposite, SWT.FLAT);
    widgetFactory.adapt(toolBar);
    ToolItem toolItem = new ToolItem(toolBar, SWT.FLAT);
    toolItem.setImage(Pics.getImage(PicsConstants.clear));
    toolItem.setToolTipText(Messages.clearSelection);
    toolItem.addSelectionListener(new SelectionAdapter() {
        @Override
        public void widgetSelected(SelectionEvent e) {
            super.widgetSelected(e);
            comboViewer.setSelection(new StructuredSelection());
        }
    });
    return comboViewer;
}

From source file:org.bonitasoft.studio.properties.sections.transitionordering.TransitionOrderingPropertySection.java

License:Open Source License

protected void createList(Composite mainComposite) {
    List list = getWidgetFactory().createList(mainComposite, SWT.BORDER | SWT.V_SCROLL);
    list.setLayoutData(GridDataFactory.fillDefaults().grab(true, true).hint(SWT.DEFAULT, 90).create());
    listViewer = new ListViewer(list);
    listViewer.setContentProvider(new ObservableListContentProvider());
    listViewer.setLabelProvider(new LabelProvider() {
        @Override//from w  ww . ja v  a2 s  . c  om
        public String getText(Object element) {
            if (element != null && element instanceof Connection) {
                final String transitionName = ((Connection) element).getName();
                return transitionName + " -- " + ((Connection) element).getTarget().getName();
            }
            return super.getText(element);
        }
    });
    listViewer.addSelectionChangedListener(new ISelectionChangedListener() {
        public void selectionChanged(SelectionChangedEvent event) {
            updateButtonsEnablement();
        }
    });
}

From source file:org.dozer.eclipse.plugin.editorpage.DozerModelManager.java

License:Apache License

private void bindList(ILazyObserving parent, String mainElementName, String elementName,
        final AbstractTableViewer view) {
    view.setContentProvider(new ObservableListContentProvider() {

        @Override/*from  ww w . j  av  a 2 s .  c o  m*/
        public Object[] getElements(Object inputElement) {
            Object[] returnValue = super.getElements(inputElement);

            //FIXME ugly for collapsing section if no values
            IObservableList observableList = (IObservableList) inputElement;
            Section section = (Section) view.getData("section");
            int count = observableList.size();
            section.setExpanded(count > 0);

            return returnValue;
        }

    });

    IObservableList observableList = createInputObservableList(parent, mainElementName, elementName);
    view.setInput(observableList);
}

From source file:org.dozer.eclipse.plugin.editorpage.utils.DozerUiUtils.java

License:Apache License

public static AbstractListViewer createLabelFieldCombobox(Composite client, String messagePrefix) {
    createLabel(client, messagePrefix);//w  ww .  ja v  a 2 s  .  com

    final CCombo combo = new CCombo(client, SWT.FLAT | SWT.BORDER);
    TableWrapData td = new TableWrapData();
    td.grabHorizontal = true;
    //td.maxWidth = 400;
    combo.setLayoutData(td);

    toolkit.adapt(combo);
    toolkit.paintBordersFor(combo);

    combo.setToolTipText(Messages.getString(messagePrefix + "_hint")); //$NON-NLS-1$
    final ComboViewer comboViewer = new ComboViewer(combo);

    //Add Focus-Lost Listener so that the entered text gets converted to a IField and gets selected.
    //This way the databinding works
    combo.addFocusListener(new FocusListener() {

        private StringToFieldConverter converter = new StringToFieldConverter(null, comboViewer);

        public void focusGained(FocusEvent e) {
        }

        public void focusLost(FocusEvent e) {
            //already selected (due to combobox select)
            if (!comboViewer.getSelection().isEmpty())
                return;

            converter.setExistingFields((List<IField>) comboViewer.getInput());
            Object convertedText = converter.convert(combo.getText());
            comboViewer.setSelection(new StructuredSelection(convertedText));
        }

    });

    comboViewer.setContentProvider(new ObservableListContentProvider());
    comboViewer.setLabelProvider(new LabelProvider() {

        @Override
        public Image getImage(Object element) {
            //FIXME never gets invoced, as a CCombo only shows text
            IMethod method = (IMethod) element;
            Image image = null;
            try {
                image = Activator.getDefault().getJavaElementLabelProvider().getImageLabel(method,
                        method.getFlags() | JavaElementImageProvider.SMALL_ICONS);
            } catch (Exception e) {
                Logger.logException(e);
            }

            return image;
        }

        @Override
        public String getText(Object element) {
            IField field = (IField) element;
            StringBuilder buf = new StringBuilder();

            //Copied from org.springframework.ide.eclipse.beans.ui.editor.contentassist.MethodContentAssistCalculator
            String fieldName = field.getElementName();
            // add method name
            String replaceText = fieldName;
            buf.append(replaceText);

            String displayText = buf.toString();
            return displayText;
        }

    });

    return comboViewer;
}

From source file:org.dozer.eclipse.plugin.editorpage.utils.DozerUiUtils.java

License:Apache License

public static AbstractListViewer createLabelMethodCombobox(Composite client, String messagePrefix) {
    createLabel(client, messagePrefix);/*from ww  w  .j a v  a 2s .  c  o m*/

    final CCombo combo = new CCombo(client, SWT.FLAT | SWT.BORDER);
    TableWrapData td = new TableWrapData();
    td.grabHorizontal = true;
    //td.maxWidth = 400;
    combo.setLayoutData(td);

    toolkit.adapt(combo);
    toolkit.paintBordersFor(combo);

    combo.setToolTipText(Messages.getString(messagePrefix + "_hint")); //$NON-NLS-1$

    final ComboViewer comboViewer = new ComboViewer(combo);

    //Add Focus-Lost Listener so that the entered text gets converted to a IMethod and gets selected.
    //This way the databinding works
    combo.addFocusListener(new FocusListener() {

        private StringToMethodConverter converter = new StringToMethodConverter(null, comboViewer);

        public void focusGained(FocusEvent e) {
        }

        public void focusLost(FocusEvent e) {
            //already selected (due to combobox select)
            if (!comboViewer.getSelection().isEmpty())
                return;

            converter.setExistingMethods((List<IMethod>) comboViewer.getInput());
            Object convertedText = converter.convert(combo.getText());
            comboViewer.setSelection(new StructuredSelection(convertedText));
        }

    });

    comboViewer.setContentProvider(new ObservableListContentProvider());
    comboViewer.setLabelProvider(new LabelProvider() {

        @Override
        public Image getImage(Object element) {
            //FIXME never gets invoced, as a CCombo only shows text
            IMethod method = (IMethod) element;
            Image image = null;
            try {
                image = Activator.getDefault().getJavaElementLabelProvider().getImageLabel(method,
                        method.getFlags() | JavaElementImageProvider.SMALL_ICONS);
            } catch (Exception e) {
                Logger.logException(e);
            }

            return image;
        }

        @Override
        public String getText(Object element) {
            IMethod method = (IMethod) element;
            StringBuilder buf = new StringBuilder();

            //Copied from org.springframework.ide.eclipse.beans.ui.editor.contentassist.MethodContentAssistCalculator
            String methodName = method.getElementName();
            // add method name
            String replaceText = methodName;
            buf.append(replaceText);

            String[] parameterNames = new String[] { "?" };
            String[] parameterTypes = new String[] { "?" };
            String className = "?";
            String returnType = "?";
            try {
                parameterNames = method.getParameterNames();
                parameterTypes = JdtUtils.getParameterTypesString(method);
                returnType = JdtUtils.getReturnTypeString(method, true);
                className = method.getParent().getElementName();
            } catch (JavaModelException e) {
                //do nothing
            }

            // add method parameters
            if (parameterTypes.length > 0 && parameterNames.length > 0) {
                buf.append(" (");
                for (int i = 0; i < parameterTypes.length; i++) {
                    buf.append(parameterTypes[i]);
                    buf.append(' ');
                    buf.append(parameterNames[i]);
                    if (i < (parameterTypes.length - 1)) {
                        buf.append(", ");
                    }
                }
                buf.append(") ");
            } else {
                buf.append("() ");
            }

            // add return type
            if (returnType != null) {
                buf.append(Signature.getSimpleName(returnType));
                buf.append(" - ");
            } else {
                buf.append(" void - ");
            }

            // add class name
            buf.append(className);

            String displayText = buf.toString();
            return displayText;
        }

    });

    return comboViewer;
}