Class ExpectedValueControlRenderer
- java.lang.Object
-
- org.eclipse.emf.ecp.view.model.common.AbstractRenderer<VELEMENT>
-
- org.eclipse.emfforms.spi.swt.core.AbstractSWTRenderer<VCONTROL>
-
- org.eclipse.emf.ecp.view.spi.core.swt.AbstractControlSWTRenderer<VControl>
-
- org.eclipse.emf.ecp.view.spi.core.swt.SimpleControlSWTRenderer
-
- org.eclipse.emf.ecp.view.spi.core.swt.SimpleControlSWTControlSWTRenderer
-
- org.eclipse.emf.ecp.view.internal.editor.controls.ExpectedValueControlRenderer
-
- All Implemented Interfaces:
RootDomainModelChangeListener
- Direct Known Subclasses:
ExpectedValueControlRenderer_Test.TestExpectedValueControlRenderer
,KeyValueControlRenderer
,LeafConditionControlRenderer
,LeafConditionSegmentControlRenderer
,StackItemControlRenderer
public abstract class ExpectedValueControlRenderer extends SimpleControlSWTControlSWTRenderer
A control for defining an value in a leaf condition.- Author:
- Eugen Neufeld
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description protected class
ExpectedValueControlRenderer.ModelToTargetUpdateStrategy
The strategy to convert from model to target.protected class
ExpectedValueControlRenderer.TargetToModelUpdateStrategy
The strategy to convert from target to model.
-
Field Summary
-
Fields inherited from class org.eclipse.emfforms.spi.swt.core.AbstractSWTRenderer
CUSTOM_VARIANT
-
-
Constructor Summary
Constructors Constructor Description ExpectedValueControlRenderer(VControl vElement, ViewModelContext viewContext, ReportService reportService, EMFFormsDatabinding databindingService, EMFFormsLabelProvider labelProvider, VTViewTemplateProvider viewTemplateProvider)
Default constructor.
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description protected org.eclipse.core.databinding.Binding[]
createBindings(org.eclipse.swt.widgets.Control control)
Create theBindings
for this controls.protected org.eclipse.swt.widgets.Control
createSWTControl(org.eclipse.swt.widgets.Composite parent)
Creates the Control.protected org.eclipse.core.databinding.Binding
createTooltipBinding(org.eclipse.swt.widgets.Control text, org.eclipse.core.databinding.observable.value.IObservableValue modelValue, org.eclipse.core.databinding.DataBindingContext dataBindingContext, org.eclipse.core.databinding.UpdateValueStrategy targetToModel, org.eclipse.core.databinding.UpdateValueStrategy modelToTarget)
Creates a tooltip binding for this control.void
finalizeRendering(org.eclipse.swt.widgets.Composite parent)
Called by the framework to initialize listener.protected org.eclipse.emf.ecore.EObject
getObservedEObject()
Returns the model object representing the value for this renderer's domain model reference.protected java.lang.Object
getSelectedObject(org.eclipse.emf.ecore.EAttribute attribute)
Lets the user select an object and returns the selection.protected java.lang.String
getUnsetText()
Provide the unset text to show on the label when value is unset.protected abstract void
onSelectButton(org.eclipse.swt.widgets.Label text)
Called when the select value button is pressed.protected void
showError(org.eclipse.swt.widgets.Shell shell, java.lang.String title, java.lang.String description)
Shows an error message to the user.-
Methods inherited from class org.eclipse.emf.ecp.view.spi.core.swt.SimpleControlSWTControlSWTRenderer
createControl, getFeature, rootDomainModelChanged, withPreSetValidation
-
Methods inherited from class org.eclipse.emf.ecp.view.spi.core.swt.SimpleControlSWTRenderer
applyReadOnly, applyValidation, createControlCell, createDefaultUnsettableStyleProperty, createLabelCell, createValidationCell, dispose, getGridDescription, getLabelWidth, getUnsettableStyleProperty, isUnsettable, renderControl, setControlEnabled, setControlIdData, setValidationColor, setValidationForegroundColor
-
Methods inherited from class org.eclipse.emf.ecp.view.spi.core.swt.AbstractControlSWTRenderer
applyEnable, applyUnchangeableFeature, canHandleControlProcessor, createLabel, createValidationIcon, defaultHandleControlProcessor, defaultHandleControlProcessorForCell, getDataBindingContext, getEditingDomain, getEMFFormsDatabinding, getEMFFormsLabelProvider, getLabelStyleBits, getModelValue, getValidationBackgroundColor, getValidationBackgroundColor, getValidationForegroundColor, getValidationForegroundColor, getValidationIcon, getValidationIcon, getVTViewTemplateProvider, hasLeftLabelAlignment, isUnchangeableFeature, notifyChange, postInit, render
-
Methods inherited from class org.eclipse.emfforms.spi.swt.core.AbstractSWTRenderer
applyValidation, applyVisible, canReveal, getControls, getDefaultFontName, ignoreEnableOnReadOnly, init, isRenderingFinished, preInit, scrollToReveal, scrollToReveal
-
Methods inherited from class org.eclipse.emf.ecp.view.model.common.AbstractRenderer
checkRenderer, getRenderer, getReportService, getVElement, getViewModelContext, register
-
-
-
-
Constructor Detail
-
ExpectedValueControlRenderer
public ExpectedValueControlRenderer(VControl vElement, ViewModelContext viewContext, ReportService reportService, EMFFormsDatabinding databindingService, EMFFormsLabelProvider labelProvider, VTViewTemplateProvider viewTemplateProvider)
Default constructor.- Parameters:
vElement
- the view model element to be renderedviewContext
- the view contextreportService
- TheReportService
databindingService
- TheEMFFormsDatabinding
labelProvider
- TheEMFFormsLabelProvider
viewTemplateProvider
- TheVTViewTemplateProvider
-
-
Method Detail
-
finalizeRendering
public void finalizeRendering(org.eclipse.swt.widgets.Composite parent)
Description copied from class:AbstractSWTRenderer
Called by the framework to initialize listener.- Overrides:
finalizeRendering
in classAbstractSWTRenderer<VControl>
- Parameters:
parent
- the parent used during render
-
createSWTControl
protected org.eclipse.swt.widgets.Control createSWTControl(org.eclipse.swt.widgets.Composite parent)
Creates the Control.- Specified by:
createSWTControl
in classSimpleControlSWTControlSWTRenderer
- Parameters:
parent
- theComposite
to use as a parent- Returns:
- the created control
- See Also:
SimpleControlSWTControlSWTRenderer.createSWTControl(org.eclipse.swt.widgets.Composite)
-
createBindings
protected org.eclipse.core.databinding.Binding[] createBindings(org.eclipse.swt.widgets.Control control) throws DatabindingFailedException
Create theBindings
for this controls.- Specified by:
createBindings
in classSimpleControlSWTControlSWTRenderer
- Parameters:
control
- theControl
to create the binding for- Returns:
- all the bindings created by this renderer
- Throws:
DatabindingFailedException
- if the creation of the bindings fails.- See Also:
org.eclipse.emf.ecp.view.spi.core.swt.SimpleControlSWTControlSWTRenderer#createBindings(org.eclipse.swt.widgets.Control, org.eclipse.emf.ecore.EStructuralFeature.Setting)
-
createTooltipBinding
protected org.eclipse.core.databinding.Binding createTooltipBinding(org.eclipse.swt.widgets.Control text, org.eclipse.core.databinding.observable.value.IObservableValue modelValue, org.eclipse.core.databinding.DataBindingContext dataBindingContext, org.eclipse.core.databinding.UpdateValueStrategy targetToModel, org.eclipse.core.databinding.UpdateValueStrategy modelToTarget)
Creates a tooltip binding for this control.- Parameters:
text
- theText
to bindmodelValue
- theIObservableValue
to binddataBindingContext
- theDataBindingContext
to usetargetToModel
- theUpdateValueStrategy
from target to ModelmodelToTarget
- theUpdateValueStrategy
from model to target- Returns:
- the created
Binding
-
getSelectedObject
protected java.lang.Object getSelectedObject(org.eclipse.emf.ecore.EAttribute attribute)
Lets the user select an object and returns the selection.- Parameters:
attribute
- the attribute for which an object is needed- Returns:
- the object
-
showError
protected void showError(org.eclipse.swt.widgets.Shell shell, java.lang.String title, java.lang.String description)
Shows an error message to the user.- Parameters:
shell
- The Shell to show the error ontitle
- The title of the error messagedescription
- The error description
-
onSelectButton
protected abstract void onSelectButton(org.eclipse.swt.widgets.Label text)
Called when the select value button is pressed.- Parameters:
text
- the label which should be used to set the value
-
getObservedEObject
protected org.eclipse.emf.ecore.EObject getObservedEObject() throws DatabindingFailedException
Returns the model object representing the value for this renderer's domain model reference.- Returns:
- the EObject
- Throws:
DatabindingFailedException
- if the databinding fails
-
getUnsetText
protected java.lang.String getUnsetText()
Provide the unset text to show on the label when value is unset.- Specified by:
getUnsetText
in classSimpleControlSWTRenderer
- Returns:
- the text to show on the unset label
- See Also:
SimpleControlSWTRenderer.getUnsetText()
-
-