Class DomainModelReferenceControlSWTRenderer
- 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.DomainModelReferenceControlSWTRenderer
-
- All Implemented Interfaces:
RootDomainModelChangeListener
- Direct Known Subclasses:
RuleConditionDmrControlSWTRenderer
public class DomainModelReferenceControlSWTRenderer extends SimpleControlSWTControlSWTRenderer
Renderer for DomainModelReferences.- Author:
- Alexandra Buzila
-
-
Field Summary
-
Fields inherited from class org.eclipse.emfforms.spi.swt.core.AbstractSWTRenderer
CUSTOM_VARIANT
-
-
Constructor Summary
Constructors Constructor Description DomainModelReferenceControlSWTRenderer(VControl vElement, ViewModelContext viewContext, ReportService reportService, EMFFormsDatabindingEMF emfFormsDatabindingEMF, EMFFormsLabelProvider emfFormsLabelProvider, VTViewTemplateProvider vtViewTemplateProvider, EMFFormsEditSupport emfFormsEditSupport)
Default constructor.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected void
addNewSegmentDmr(org.eclipse.emf.ecore.EObject container, org.eclipse.emf.ecore.EReference reference)
Create a new segment based domain model reference and set it in thereference
of the givencontainer
object.protected org.eclipse.core.databinding.Binding[]
createBindings(org.eclipse.swt.widgets.Control control)
Create theBindings
for this controls.protected org.eclipse.swt.widgets.Button
createButtonForAction(org.eclipse.jface.action.Action action, org.eclipse.swt.widgets.Composite composite)
A helper method which creates a button for an action on a composite.protected org.eclipse.swt.widgets.Control
createSWTControl(org.eclipse.swt.widgets.Composite parent)
Creates the Control.protected void
editSegmentDmr(org.eclipse.emf.ecore.EObject container, org.eclipse.emf.ecore.EReference reference, VDomainModelReference dmr)
Edits the existing DMR set in thereference
of the givencontainer
object.protected org.eclipse.emf.ecore.EClass
getDmrRootEClass()
Returns the root EClass of the domain model reference.protected java.lang.String
getUnsetText()
Provide the unset text to show on the label when value is unset.protected void
rootDomainModelChanged()
This method is called inAbstractControlSWTRenderer.notifyChange()
when the root domain model of the view model context changes.void
scrollToReveal()
If my control is rendered within a scrolled composite, scroll that composite to reveal me.-
Methods inherited from class org.eclipse.emf.ecp.view.spi.core.swt.SimpleControlSWTControlSWTRenderer
createControl, getFeature, 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, finalizeRendering, getControls, getDefaultFontName, ignoreEnableOnReadOnly, init, isRenderingFinished, preInit, scrollToReveal
-
Methods inherited from class org.eclipse.emf.ecp.view.model.common.AbstractRenderer
checkRenderer, getRenderer, getReportService, getVElement, getViewModelContext, register
-
-
-
-
Constructor Detail
-
DomainModelReferenceControlSWTRenderer
@Inject public DomainModelReferenceControlSWTRenderer(VControl vElement, ViewModelContext viewContext, ReportService reportService, EMFFormsDatabindingEMF emfFormsDatabindingEMF, EMFFormsLabelProvider emfFormsLabelProvider, VTViewTemplateProvider vtViewTemplateProvider, EMFFormsEditSupport emfFormsEditSupport)
Default constructor.- Parameters:
vElement
- the view model element to be renderedviewContext
- the view contextreportService
- TheReportService
emfFormsDatabindingEMF
- TheEMFFormsDatabinding
emfFormsLabelProvider
- TheEMFFormsLabelProvider
vtViewTemplateProvider
- TheVTViewTemplateProvider
emfFormsEditSupport
- TheEMFFormsEditSupport
-
-
Method Detail
-
createBindings
protected org.eclipse.core.databinding.Binding[] createBindings(org.eclipse.swt.widgets.Control control) throws DatabindingFailedException
Description copied from class:SimpleControlSWTControlSWTRenderer
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.
-
createSWTControl
protected org.eclipse.swt.widgets.Control createSWTControl(org.eclipse.swt.widgets.Composite parent) throws DatabindingFailedException
Description copied from class:SimpleControlSWTControlSWTRenderer
Creates the Control.- Specified by:
createSWTControl
in classSimpleControlSWTControlSWTRenderer
- Parameters:
parent
- theComposite
to use as a parent- Returns:
- the created control
- Throws:
DatabindingFailedException
- if the creation of the control fails due to databinding problems
-
createButtonForAction
protected org.eclipse.swt.widgets.Button createButtonForAction(org.eclipse.jface.action.Action action, org.eclipse.swt.widgets.Composite composite)
A helper method which creates a button for an action on a composite.- Parameters:
action
- the action to create a button forcomposite
- the composite to create the button onto- Returns:
- the created button
-
getUnsetText
protected java.lang.String getUnsetText()
Description copied from class:SimpleControlSWTRenderer
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
-
addNewSegmentDmr
protected void addNewSegmentDmr(org.eclipse.emf.ecore.EObject container, org.eclipse.emf.ecore.EReference reference)
Create a new segment based domain model reference and set it in thereference
of the givencontainer
object.- Parameters:
container
- The EObject which will contain the new domain model referencereference
- The EReference which the new domain model reference will be set in
-
editSegmentDmr
protected void editSegmentDmr(org.eclipse.emf.ecore.EObject container, org.eclipse.emf.ecore.EReference reference, VDomainModelReference dmr)
Edits the existing DMR set in thereference
of the givencontainer
object.- Parameters:
container
- The EObject which will contain the new domain model referencereference
- The EReference which contains the current new domain model referencedmr
- The domain model reference to edit
-
getDmrRootEClass
protected org.eclipse.emf.ecore.EClass getDmrRootEClass()
Returns the root EClass of the domain model reference.- Returns:
- the DMR's root EClass.
-
rootDomainModelChanged
protected void rootDomainModelChanged() throws DatabindingFailedException
Description copied from class:SimpleControlSWTControlSWTRenderer
This method is called inAbstractControlSWTRenderer.notifyChange()
when the root domain model of the view model context changes.- Overrides:
rootDomainModelChanged
in classSimpleControlSWTControlSWTRenderer
- Throws:
DatabindingFailedException
- If the databinding failed- See Also:
AbstractControlSWTRenderer.rootDomainModelChanged()
-
scrollToReveal
public void scrollToReveal()
Description copied from class:AbstractSWTRenderer
If my control is rendered within a scrolled composite, scroll that composite to reveal me.- Overrides:
scrollToReveal
in classAbstractSWTRenderer<VControl>
-
-