Class EnumComboViewerSWTRenderer
- 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.SimpleControlJFaceViewerSWTRenderer
-
- org.eclipse.emf.ecp.view.internal.core.swt.renderer.EnumComboViewerSWTRenderer
-
- All Implemented Interfaces:
RootDomainModelChangeListener
- Direct Known Subclasses:
EnumLiteralFilteredComboViewerSWTRenderer
public class EnumComboViewerSWTRenderer extends SimpleControlJFaceViewerSWTRenderer
Renderer for Enums.- Author:
- Eugen Neufeld
-
-
Field Summary
-
Fields inherited from class org.eclipse.emfforms.spi.swt.core.AbstractSWTRenderer
CUSTOM_VARIANT
-
-
Constructor Summary
Constructors Constructor Description EnumComboViewerSWTRenderer(VControl vElement, ViewModelContext viewContext, ReportService reportService, EMFFormsDatabinding emfFormsDatabinding, EMFFormsLabelProvider emfFormsLabelProvider, VTViewTemplateProvider vtViewTemplateProvider, EMFFormsEditSupport emfFormsEditSupport)
Default constructor.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected org.eclipse.core.databinding.Binding[]
createBindings(org.eclipse.jface.viewers.Viewer viewer)
Create theBindings
for this controls.protected org.eclipse.jface.viewers.ComboViewer
createComboViewer(org.eclipse.swt.widgets.Composite parent, org.eclipse.emf.ecore.EEnum eEnum)
Create a newComboViewer
instance.protected org.eclipse.jface.viewers.Viewer
createJFaceViewer(org.eclipse.swt.widgets.Composite parent)
Creates theViewer
.protected void
dispose()
Disposes all resources used by the renderer.protected org.eclipse.core.databinding.observable.value.IObservableValue<java.util.Collection<?>>
getAvailableChoicesValue()
Obtains the combo viewer input as an observable value.java.util.List<org.eclipse.emf.ecore.EEnumLiteral>
getELiterals(org.eclipse.emf.ecore.EEnum eEnum)
Returns the list of literals of the enum.protected EMFFormsEditSupport
getEMFFormsEditSupport()
Return theEMFFormsEditSupport
.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.-
Methods inherited from class org.eclipse.emf.ecp.view.spi.core.swt.SimpleControlJFaceViewerSWTRenderer
createControl
-
Methods inherited from class org.eclipse.emf.ecp.view.spi.core.swt.SimpleControlSWTRenderer
applyReadOnly, applyValidation, createControlCell, createDefaultUnsettableStyleProperty, createLabelCell, createValidationCell, 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, scrollToReveal
-
Methods inherited from class org.eclipse.emf.ecp.view.model.common.AbstractRenderer
checkRenderer, getRenderer, getReportService, getVElement, getViewModelContext, register
-
-
-
-
Constructor Detail
-
EnumComboViewerSWTRenderer
@Inject public EnumComboViewerSWTRenderer(VControl vElement, ViewModelContext viewContext, ReportService reportService, EMFFormsDatabinding emfFormsDatabinding, EMFFormsLabelProvider emfFormsLabelProvider, VTViewTemplateProvider vtViewTemplateProvider, EMFFormsEditSupport emfFormsEditSupport)
Default constructor.- Parameters:
vElement
- the view model element to be renderedviewContext
- the view contextreportService
- TheReportService
emfFormsDatabinding
- TheEMFFormsDatabinding
emfFormsLabelProvider
- TheEMFFormsLabelProvider
vtViewTemplateProvider
- TheVTViewTemplateProvider
emfFormsEditSupport
- TheEMFFormsEditSupport
-
-
Method Detail
-
createBindings
protected org.eclipse.core.databinding.Binding[] createBindings(org.eclipse.jface.viewers.Viewer viewer) throws DatabindingFailedException
Description copied from class:SimpleControlJFaceViewerSWTRenderer
Create theBindings
for this controls.- Specified by:
createBindings
in classSimpleControlJFaceViewerSWTRenderer
- Parameters:
viewer
- theViewer
to create the binding for- Returns:
- all the bindings created by this renderer
- Throws:
DatabindingFailedException
- if the creation of the bindings failed
-
createComboViewer
protected org.eclipse.jface.viewers.ComboViewer createComboViewer(org.eclipse.swt.widgets.Composite parent, org.eclipse.emf.ecore.EEnum eEnum)
Create a newComboViewer
instance. Overwrite this method in case you need a custom CCombo instance.- Parameters:
parent
- the parent containereEnum
- the enum being rendered- Returns:
- a
ComboViewer
-
createJFaceViewer
protected org.eclipse.jface.viewers.Viewer createJFaceViewer(org.eclipse.swt.widgets.Composite parent) throws DatabindingFailedException
Description copied from class:SimpleControlJFaceViewerSWTRenderer
Creates theViewer
.- Specified by:
createJFaceViewer
in classSimpleControlJFaceViewerSWTRenderer
- Parameters:
parent
- theComposite
to use as a parent- Returns:
- the created
Viewer
- Throws:
DatabindingFailedException
- if the databinding fails
-
getELiterals
public java.util.List<org.eclipse.emf.ecore.EEnumLiteral> getELiterals(org.eclipse.emf.ecore.EEnum eEnum)
Returns the list of literals of the enum.- Parameters:
eEnum
- the enum to get the literals for- Returns:
- a list of literals
-
getAvailableChoicesValue
protected org.eclipse.core.databinding.observable.value.IObservableValue<java.util.Collection<?>> getAvailableChoicesValue() throws DatabindingFailedException
Obtains the combo viewer input as an observable value. This is an observable value, not an observable collection, because- it is not to be treated as a mutable collection, and
- it is used as a viewer input, which is an opaque object
- Returns:
- the available-choices value
- Throws:
DatabindingFailedException
- on failure to get the model value
-
rootDomainModelChanged
protected void rootDomainModelChanged() throws DatabindingFailedException
Description copied from class:SimpleControlJFaceViewerSWTRenderer
This method is called inAbstractControlSWTRenderer.notifyChange()
when the root domain model of the view model context changes.- Overrides:
rootDomainModelChanged
in classSimpleControlJFaceViewerSWTRenderer
- Throws:
DatabindingFailedException
- If the databinding failed- See Also:
AbstractControlSWTRenderer.rootDomainModelChanged()
-
dispose
protected void dispose()
Description copied from class:SimpleControlSWTRenderer
Disposes all resources used by the renderer. Don't forget to call super.dispose if overwriting this method.- Overrides:
dispose
in classSimpleControlSWTRenderer
- See Also:
AbstractSWTRenderer.dispose()
-
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()
-
getEMFFormsEditSupport
protected EMFFormsEditSupport getEMFFormsEditSupport()
Return theEMFFormsEditSupport
.- Returns:
- the
EMFFormsEditSupport
-
-