List of usage examples for org.eclipse.jface.databinding.swt WidgetProperties tooltipText
public static IWidgetValueProperty tooltipText()
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); }