Example usage for org.eclipse.jface.databinding.swt WidgetProperties tooltipText

List of usage examples for org.eclipse.jface.databinding.swt WidgetProperties tooltipText

Introduction

In this page you can find the example usage for org.eclipse.jface.databinding.swt WidgetProperties tooltipText.

Prototype

public static IWidgetValueProperty tooltipText() 

Source Link

Document

Returns a value property for observing the tooltip text of a CTabItem , Control , TabItem , TableColumn , ToolItem , TrayItem or TreeColumn .

Usage

From source file:org.eclipse.emf.ecp.view.internal.editor.controls.EReferenceLabelControlSWTRenderer.java

License:Open Source License

/**
 * {@inheritDoc}//w  w w  . j  a  v  a  2s  .  co m
 *
 * @see org.eclipse.emf.ecp.view.spi.core.swt.SimpleControlSWTControlSWTRenderer#createBindings(org.eclipse.swt.widgets.Control,
 *      org.eclipse.emf.ecore.EStructuralFeature.Setting)
 */
@Override
protected Binding[] createBindings(Control control) throws DatabindingFailedException {

    final Binding[] bindings = new Binding[3];
    final IObservableValue value = WidgetProperties.text().observe(label);

    bindings[0] = getDataBindingContext().bindValue(value, getModelValue(), new UpdateValueStrategy() {

        @Override
        public Object convert(Object value) {
            try {
                return getModelValue().getValue();
            } catch (final DatabindingFailedException ex) {
                Activator.getDefault().getReportService().report(new DatabindingFailedReport(ex));
                return null;
            }
        }
    }, new UpdateValueStrategy() {
        @Override
        public Object convert(Object value) {
            updateChangeListener((EObject) value);
            return getText(value);
        }
    });
    final IObservableValue tooltipValue = WidgetProperties.tooltipText().observe(label);
    bindings[1] = getDataBindingContext().bindValue(tooltipValue, getModelValue(), new UpdateValueStrategy() {

        @Override
        public Object convert(Object value) {
            try {
                return getModelValue().getValue();
            } catch (final DatabindingFailedException ex) {
                Activator.getDefault().getReportService().report(new DatabindingFailedReport(ex));
                return null;
            }
        }
    }, new UpdateValueStrategy() {
        @Override
        public Object convert(Object value) {
            return getText(value);
        }
    });

    final IObservableValue imageValue = WidgetProperties.image().observe(imageLabel);
    bindings[2] = getDataBindingContext().bindValue(imageValue, getModelValue(), new UpdateValueStrategy() {

        @Override
        public Object convert(Object value) {
            try {
                return getModelValue().getValue();
            } catch (final DatabindingFailedException ex) {
                Activator.getDefault().getReportService().report(new DatabindingFailedReport(ex));
                return null;
            }
        }
    }, new UpdateValueStrategy() {
        @Override
        public Object convert(Object value) {
            return getImage(value);
        }
    });

    return bindings;
}

From source file:org.eclipse.emf.ecp.view.internal.editor.controls.TableColumnsDMRTableControl.java

License:Open Source License

/**
 * {@inheritDoc}/*w  w  w  .  ja  v  a 2s . c  om*/
 *
 * @see org.eclipse.emf.ecp.view.spi.core.swt.SimpleControlSWTRenderer#createControl(org.eclipse.swt.widgets.Composite)
 */
@Override
protected Control createControl(final Composite parent) throws DatabindingFailedException {
    final IObservableValue observableValue = Activator.getDefault().getEMFFormsDatabinding().getObservableValue(
            getVElement().getDomainModelReference(), getViewModelContext().getDomainModel());
    structuralFeature = (EStructuralFeature) observableValue.getValueType();
    eObject = (EObject) ((IObserving) observableValue).getObserved();
    observableValue.dispose();

    final Composite composite = new Composite(parent, SWT.NONE);
    composite.setBackgroundMode(SWT.INHERIT_FORCE);
    GridLayoutFactory.fillDefaults().numColumns(1).applyTo(composite);
    final Composite titleComposite = new Composite(composite, SWT.NONE);
    titleComposite.setBackgroundMode(SWT.INHERIT_FORCE);
    GridLayoutFactory.fillDefaults().numColumns(2).equalWidth(false).applyTo(titleComposite);
    GridDataFactory.fillDefaults().align(SWT.FILL, SWT.BEGINNING).grab(true, false).applyTo(titleComposite);

    final Label filler = new Label(titleComposite, SWT.NONE);
    GridDataFactory.fillDefaults().align(SWT.FILL, SWT.FILL).grab(true, false).applyTo(filler);

    final Composite buttonComposite = new Composite(titleComposite, SWT.NONE);
    buttonComposite.setBackgroundMode(SWT.INHERIT_FORCE);
    GridLayoutFactory.fillDefaults().numColumns(3).equalWidth(true).applyTo(buttonComposite);
    GridDataFactory.fillDefaults().align(SWT.END, SWT.BEGINNING).grab(false, false).applyTo(buttonComposite);

    final Button buttonSort = new Button(buttonComposite, SWT.PUSH);
    buttonSort.setText("Sort"); //$NON-NLS-1$
    GridDataFactory.fillDefaults().align(SWT.FILL, SWT.FILL).grab(false, false).applyTo(buttonSort);

    final Button buttonAdd = new Button(buttonComposite, SWT.PUSH);
    buttonAdd.setText("Add"); //$NON-NLS-1$
    GridDataFactory.fillDefaults().align(SWT.FILL, SWT.FILL).grab(false, false).applyTo(buttonAdd);

    final Button buttonRemove = new Button(buttonComposite, SWT.PUSH);
    buttonRemove.setText("Remove"); //$NON-NLS-1$
    GridDataFactory.fillDefaults().align(SWT.FILL, SWT.FILL).grab(false, false).applyTo(buttonRemove);

    final Composite tableComposite = new Composite(composite, SWT.NONE);
    tableComposite.setBackgroundMode(SWT.INHERIT_FORCE);
    GridDataFactory.fillDefaults().align(SWT.FILL, SWT.FILL).grab(true, true).hint(1, 100)
            .applyTo(tableComposite);
    final TableColumnLayout layout = new TableColumnLayout();
    tableComposite.setLayout(layout);

    final TableViewer viewer = new TableViewer(tableComposite);
    GridDataFactory.fillDefaults().align(SWT.FILL, SWT.FILL).grab(true, true).applyTo(viewer.getControl());

    viewer.getTable().setHeaderVisible(true);
    viewer.getTable().setLinesVisible(true);
    final TableViewerColumn column = new TableViewerColumn(viewer, SWT.NONE);
    final TableColumn tableColumn = column.getColumn();
    final EMFFormsLabelProvider emfFormsLabelProvider = Activator.getDefault().getEMFFormsLabelProvider();// TODO
    try {
        final IObservableValue labelText = emfFormsLabelProvider.getDisplayName(
                getVElement().getDomainModelReference(), getViewModelContext().getDomainModel());
        final IObservableValue tooltip = emfFormsLabelProvider.getDescription(
                getVElement().getDomainModelReference(), getViewModelContext().getDomainModel());
        viewModelDBC.bindValue(WidgetProperties.text().observe(tableColumn), labelText);
        viewModelDBC.bindValue(WidgetProperties.tooltipText().observe(tableColumn), tooltip);
    } catch (final NoLabelFoundException e) {
        // FIXME Expectations?
        getReportService().report(new RenderingFailedReport(e));
        tableColumn.setText(e.getMessage());
        tableColumn.setToolTipText(e.toString());
    }

    layout.setColumnData(column.getColumn(), new ColumnWeightData(1, true));

    viewer.setLabelProvider(labelProvider);
    viewer.setContentProvider(new ObservableListContentProvider());
    addDragAndDropSupport(viewer, getEditingDomain(eObject));

    final IObservableList list = Activator.getDefault().getEMFFormsDatabinding()
            .getObservableList(getVElement().getDomainModelReference(), getViewModelContext().getDomainModel());
    viewer.setInput(list);

    tableControl = (VTableControl) getViewModelContext().getDomainModel();
    adapter = new TableControlAdapter(parent, viewer);
    tableControl.eAdapters().add(adapter);

    buttonSort.addSelectionListener(new SortSelectionAdapter());

    buttonAdd.addSelectionListener(new AddSelectionAdapter(tableComposite, viewer));

    buttonRemove.addSelectionListener(new RemoveSelectionAdapter(viewer));

    return composite;
}

From source file:org.eclipse.emf.ecp.view.internal.editor.controls.TableDetailViewControlSWTRenderer.java

License:Open Source License

/**
 * {@inheritDoc}//from  ww w.j a  va 2  s  . c  o m
 *
 * @see org.eclipse.emf.ecp.view.spi.core.swt.SimpleControlSWTControlSWTRenderer#createBindings(org.eclipse.swt.widgets.Control,
 *      org.eclipse.emf.ecore.EStructuralFeature.Setting)
 */
@Override
protected Binding[] createBindings(Control control) throws DatabindingFailedException {
    final Binding[] bindings = new Binding[3];
    final IObservableValue value = WidgetProperties.text().observe(label);

    bindings[0] = getDataBindingContext().bindValue(value, getModelValue(), new UpdateValueStrategy() {

        @Override
        public Object convert(Object value) {
            try {
                return getModelValue().getValue();
            } catch (final DatabindingFailedException ex) {
                Activator.getDefault().getReportService().report(new DatabindingFailedReport(ex));
                return null;
            }
        }
    }, new UpdateValueStrategy() {
        @Override
        public Object convert(Object value) {
            return getText(value);
        }
    });

    final IObservableValue tooltipValue = WidgetProperties.tooltipText().observe(label);
    bindings[1] = getDataBindingContext().bindValue(tooltipValue, getModelValue(), new UpdateValueStrategy() {

        @Override
        public Object convert(Object value) {
            try {
                return getModelValue().getValue();
            } catch (final DatabindingFailedException ex) {
                Activator.getDefault().getReportService().report(new DatabindingFailedReport(ex));
                return null;
            }
        }
    }, new UpdateValueStrategy() {
        @Override
        public Object convert(Object value) {
            return getText(value);
        }
    });

    final IObservableValue imageValue = WidgetProperties.image().observe(imageLabel);
    bindings[2] = getDataBindingContext().bindValue(imageValue, getModelValue(), new UpdateValueStrategy() {

        @Override
        public Object convert(Object value) {
            try {
                return getModelValue().getValue();
            } catch (final DatabindingFailedException ex) {
                Activator.getDefault().getReportService().report(new DatabindingFailedReport(ex));
                return null;
            }
        }
    }, new UpdateValueStrategy() {
        @Override
        public Object convert(Object value) {
            return getImage(value);
        }
    });

    return bindings;
}

From source file:org.eclipse.emf.ecp.view.spi.core.swt.AbstractControlSWTRenderer.java

License:Open Source License

/**
 * Create the {@link Control} displaying the label of the current {@link VControl}.
 *
 * @param parent the {@link Composite} to render onto
 * @return the created {@link Control} or null
 *//*from  ww w.  j  a  v  a2s  .c om*/
protected final Control createLabel(final Composite parent) {
    Label label = null;
    labelRender: if (hasLeftLabelAlignment()) {
        final VDomainModelReference domainModelReference = getVElement().getDomainModelReference();
        final IValueProperty valueProperty;
        try {
            valueProperty = getEMFFormsDatabinding().getValueProperty(domainModelReference,
                    getViewModelContext().getDomainModel());
        } catch (final DatabindingFailedException ex) {
            getReportService().report(new RenderingFailedReport(ex));
            break labelRender;
        } catch (final IllegalArgumentException ex) {
            getReportService().report(new AbstractReport(ex));
            break labelRender;
        }

        final EMFFormsLabelProvider labelProvider = getEMFFormsLabelProvider();
        label = new Label(parent, SWT.NONE);
        label.setData(CUSTOM_VARIANT, "org_eclipse_emf_ecp_control_label"); //$NON-NLS-1$
        label.setBackground(parent.getBackground());

        final EObject rootObject = getViewModelContext().getDomainModel();
        try {
            final IObservableValue textObservable = WidgetProperties.text().observe(label);
            final IObservableValue displayNameObservable = labelProvider.getDisplayName(domainModelReference,
                    rootObject);
            viewModelDBC.bindValue(textObservable, displayNameObservable, null, new UpdateValueStrategy() {

                /**
                 * {@inheritDoc}
                 *
                 * @see org.eclipse.core.databinding.UpdateValueStrategy#convert(java.lang.Object)
                 */
                @Override
                public Object convert(Object value) {
                    String extra = ""; //$NON-NLS-1$
                    final VTMandatoryStyleProperty mandatoryStyle = getMandatoryStyle();
                    final EStructuralFeature structuralFeature = (EStructuralFeature) valueProperty
                            .getValueType();
                    if (mandatoryStyle.isHighliteMandatoryFields() && structuralFeature.getLowerBound() > 0) {
                        extra = mandatoryStyle.getMandatoryMarker();
                    }
                    final String result = (String) super.convert(value);
                    return result + extra;
                }

            });
            final IObservableValue tooltipObservable = WidgetProperties.tooltipText().observe(label);
            final IObservableValue descriptionObservable = labelProvider.getDescription(domainModelReference,
                    rootObject);
            viewModelDBC.bindValue(tooltipObservable, descriptionObservable);
        } catch (final NoLabelFoundException e) {
            // FIXME Expectations?
            getReportService().report(new RenderingFailedReport(e));
        }

    }
    return label;
}

From source file:org.eclipse.emf.ecp.view.spi.core.swt.renderer.TextControlSWTRenderer.java

License:Open Source License

/**
 * Creates a tooltip binding for this control.
 *
 * @param text the {@link Text} to bind//from  w w  w.  java2 s .co  m
 * @param modelValue the {@link IObservableValue} to bind
 * @param dataBindingContext the {@link DataBindingContext} to use
 * @param targetToModel the {@link UpdateValueStrategy} from target to Model
 * @param modelToTarget the {@link UpdateValueStrategy} from model to target
 * @return the created {@link Binding}
 */
protected Binding createTooltipBinding(Control text, IObservableValue modelValue,
        DataBindingContext dataBindingContext, UpdateValueStrategy targetToModel,
        UpdateValueStrategy modelToTarget) {
    final IObservableValue toolTip = WidgetProperties.tooltipText().observe(text);
    return dataBindingContext.bindValue(toolTip, modelValue, targetToModel, modelToTarget);
}

From source file:org.eclipse.emf.ecp.view.spi.custom.swt.ECPAbstractCustomControlSWT.java

License:Open Source License

/**
 * Create the {@link Control} displaying the label of the current {@link VControl}.
 *
 * @param parent the {@link Composite} to render onto
 * @return the created {@link Control} or null
 * @throws NoPropertyDescriptorFoundExeption thrown if the {@link org.eclipse.emf.ecore.EStructuralFeature
 *             EStructuralFeature} of the {@link VControl} doesn't have a registered {@link IItemPropertyDescriptor}
 * @since 1.3//from   w w w . ja  v a  2  s.  co  m
 */
protected final Control createLabel(final Composite parent) throws NoPropertyDescriptorFoundExeption {
    Label label = null;
    labelRender: if (hasLeftLabelAlignment()) {
        IValueProperty valueProperty;
        try {
            valueProperty = Activator.getDefault().getEMFFormsDatabinding().getValueProperty(
                    getCustomControl().getDomainModelReference(), getViewModelContext().getDomainModel());
        } catch (final DatabindingFailedException ex) {
            Activator.getDefault().getReportService().report(new DatabindingFailedReport(ex));
            break labelRender;
        }
        final EStructuralFeature structuralFeature = (EStructuralFeature) valueProperty.getValueType();

        label = new Label(parent, SWT.NONE);
        label.setData(CUSTOM_VARIANT, "org_eclipse_emf_ecp_control_label"); //$NON-NLS-1$
        label.setBackground(parent.getBackground());

        try {
            viewModelDBC.bindValue(WidgetProperties.text().observe(label),
                    Activator.getDefault().getEMFFormsLabelProvider().getDisplayName(
                            getCustomControl().getDomainModelReference(),
                            getViewModelContext().getDomainModel()),
                    null, new UpdateValueStrategy() {

                        /**
                         * {@inheritDoc}
                         *
                         * @see org.eclipse.core.databinding.UpdateValueStrategy#convert(java.lang.Object)
                         */
                        @Override
                        public Object convert(Object value) {
                            final String labelText = (String) super.convert(value);
                            String extra = ""; //$NON-NLS-1$
                            if (structuralFeature.getLowerBound() > 0) {
                                extra = "*"; //$NON-NLS-1$
                            }
                            return labelText + extra;
                        }

                    });
            viewModelDBC.bindValue(WidgetProperties.tooltipText().observe(label),
                    Activator.getDefault().getEMFFormsLabelProvider().getDescription(
                            getCustomControl().getDomainModelReference(),
                            getViewModelContext().getDomainModel()));
        } catch (final NoLabelFoundException e) {
            Activator.getDefault().getReportService().report(new RenderingFailedReport(e));
            label.setText(e.getMessage());
            label.setToolTipText(e.toString());
        }

    }
    return label;
}

From source file:org.eclipse.emf.ecp.view.template.internal.tooling.controls.HexColorSelectionControlSWTRenderer.java

License:Open Source License

/**
 * {@inheritDoc}// w ww. j  a  v  a2  s  .  c  om
 *
 * @see org.eclipse.emf.ecp.view.spi.core.swt.SimpleControlSWTControlSWTRenderer#createBindings(org.eclipse.swt.widgets.Control,
 *      org.eclipse.emf.ecore.EStructuralFeature.Setting)
 */
@Override
protected Binding[] createBindings(Control control) throws DatabindingFailedException {
    final Composite composite = Composite.class.cast(control);
    final Control childControl = composite.getChildren()[0];
    final IObservableValue value = WidgetProperties.background().observe(childControl);
    final Binding binding = getDataBindingContext().bindValue(value, getModelValue(),
            new UpdateValueStrategy() {
                @Override
                public Object convert(Object value) {
                    if (value == null) {
                        return null;
                    }
                    return getString(Color.class.cast(value).getRGB());
                }
            }, new UpdateValueStrategy() {
                @Override
                public Object convert(Object value) {
                    final String hexString = (String) value;
                    if (hexString == null) {
                        return null;
                    }
                    final int red = Integer.parseInt(hexString.substring(0, 2), 16);
                    final int green = Integer.parseInt(hexString.substring(2, 4), 16);
                    final int blue = Integer.parseInt(hexString.substring(4, 6), 16);
                    final Color color = new Color(Display.getCurrent(), red, green, blue);
                    return color;
                }

            });
    final IObservableValue textValue = WidgetProperties.tooltipText().observe(childControl);
    final Binding textBinding = getDataBindingContext().bindValue(textValue, getModelValue());
    return new Binding[] { binding, textBinding };
}

From source file:org.eclipse.emf.ecp.view.template.internal.tooling.controls.URLSelectionControlSWTRenderer.java

License:Open Source License

/**
 * {@inheritDoc}//  w w  w .  j a va  2 s .  c o  m
 *
 * @see org.eclipse.emf.ecp.view.spi.core.swt.SimpleControlSWTControlSWTRenderer#createBindings(org.eclipse.swt.widgets.Control,
 *      org.eclipse.emf.ecore.EStructuralFeature.Setting)
 */
@Override
protected Binding[] createBindings(Control control) throws DatabindingFailedException {
    final Composite composite = Composite.class.cast(control);
    final Control childControl = composite.getChildren()[0];
    final IObservableValue value = WidgetProperties.text().observe(childControl);
    final Binding binding = getDataBindingContext().bindValue(value, getModelValue());

    final IObservableValue toolTip = WidgetProperties.tooltipText().observe(childControl);
    final Binding tooltipBinding = getDataBindingContext().bindValue(toolTip, getModelValue());
    return new Binding[] { binding, tooltipBinding };
}

From source file:org.eclipse.emfforms.spi.swt.table.TableViewerComposite.java

License:Open Source License

private static void addColumns(TableViewerSWTCustomization customization, TableViewer tableViewer,
        EMFDataBindingContext emfDataBindingContext) {
    for (final ColumnDescription columnDescription : customization.getColumns()) {
        /* create column */
        // TODO move TableViewerColumnBuilder?
        @SuppressWarnings("restriction")
        final TableViewerColumn column = org.eclipse.emf.ecp.edit.internal.swt.controls.TableViewerColumnBuilder
                .create().setData(RESIZABLE, columnDescription.isResizeable())
                .setMoveable(columnDescription.isMoveable()).setStyle(columnDescription.getStyleBits())
                .setData(WEIGHT, columnDescription.getWeight())
                .setData(MIN_WIDTH, columnDescription.getMinWidth()).build(tableViewer);

        /* bind text and tooltip */
        final IObservableValue text = columnDescription.getColumnText();
        emfDataBindingContext.bindValue(WidgetProperties.text().observe(column.getColumn()), text);
        final IObservableValue tooltipText = columnDescription.getColumnTooltip();
        emfDataBindingContext.bindValue(WidgetProperties.tooltipText().observe(column.getColumn()),
                tooltipText);/*from ww w  .  j  a v a2s . c o m*/

        /* set label provider */
        column.setLabelProvider(columnDescription.createLabelProvider(tableViewer));

        /* set editing support */
        final Optional<EditingSupport> editingSupport = columnDescription.createEditingSupport(tableViewer);
        if (editingSupport.isPresent()) {
            column.setEditingSupport(editingSupport.get());
        }

        if (columnDescription.getColumnImage().isPresent()) {
            column.getColumn().setImage(columnDescription.getColumnImage().get());
        }

        /* setup drag&drop */
        if (customization.hasDND()) {
            tableViewer.addDragSupport(customization.getDragOperations(), customization.getDragTransferTypes(),
                    customization.getDragListener(tableViewer));
            tableViewer.addDropSupport(customization.getDropOperations(), customization.getDropTransferTypes(),
                    customization.getDropListener(tableViewer));
        }

    }
}

From source file:org.eclipse.emfforms.spi.swt.table.TableViewerComposite.java

License:Open Source License

private static void initTitleLabel(Label label, IObservableValue title, IObservableValue tooltip,
        EMFDataBindingContext emfDatabindingContext) {
    emfDatabindingContext.bindValue(WidgetProperties.text().observe(label), title);
    emfDatabindingContext.bindValue(WidgetProperties.tooltipText().observe(label), tooltip);
}