Class GridControlDetailPanelRenderer
- 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<VTableControl>
-
- org.eclipse.emf.ecp.view.spi.table.swt.TableControlSWTRenderer
-
- org.eclipse.emf.ecp.view.spi.table.nebula.grid.GridControlSWTRenderer
-
- org.eclipse.emf.ecp.view.spi.table.nebula.grid.GridControlDetailPanelRenderer
-
- All Implemented Interfaces:
RootDomainModelChangeListener
public class GridControlDetailPanelRenderer extends GridControlSWTRenderer
Render for aVTableControl
with a detail editing panel.- Author:
- jfaltermeier
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class org.eclipse.emf.ecp.view.spi.table.nebula.grid.GridControlSWTRenderer
GridControlSWTRenderer.CustomGridTableViewer, GridControlSWTRenderer.GridTableControlSWTRendererTableViewerCreator
-
Nested classes/interfaces inherited from class org.eclipse.emf.ecp.view.spi.table.swt.TableControlSWTRenderer
TableControlSWTRenderer.AutoSortModelChangeListener, TableControlSWTRenderer.CompactVerticallyTableControlSWTRendererCompositeBuilder, TableControlSWTRenderer.ECPCellLabelProvider, TableControlSWTRenderer.ECPTableViewerComparator, TableControlSWTRenderer.TableControlComparator, TableControlSWTRenderer.TableControlEditingSupportAndLabelProvider, TableControlSWTRenderer.TableControlSWTRendererCompositeBuilder, TableControlSWTRenderer.TableControlSWTRendererTableViewerCreator
-
-
Field Summary
-
Fields inherited from class org.eclipse.emf.ecp.view.spi.table.swt.TableControlSWTRenderer
FIXED_COLUMNS, TABLE_CUSTOM_VARIANT, VALIDATION_PREFERRED_SIZE
-
Fields inherited from class org.eclipse.emfforms.spi.swt.core.AbstractSWTRenderer
CUSTOM_VARIANT
-
-
Constructor Summary
Constructors Constructor Description GridControlDetailPanelRenderer(VTableControl vElement, ViewModelContext viewContext, ReportService reportService, EMFFormsDatabindingEMF emfFormsDatabinding, EMFFormsLabelProvider emfFormsLabelProvider, VTViewTemplateProvider vtViewTemplateProvider, ImageRegistryService imageRegistryService, EMFFormsEditSupport emfFormsEditSupport, EStructuralFeatureValueConverterService converterService, EMFFormsLocalizationService localizationService)
Default constructor.
-
Method Summary
All Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description protected void
applyEnable()
Allows implementers to set a control to enabled.protected void
applyReadOnly()
Marks a controls as readonly.protected org.eclipse.swt.widgets.Composite
createBorderComposite(org.eclipse.swt.widgets.Composite parent)
Creates a composite with a border to surround the grid and detail panel.protected org.eclipse.swt.widgets.Composite
createControlComposite(org.eclipse.swt.widgets.Composite composite)
Creates and returns the composite which will be the parent for the table viewer.protected org.eclipse.swt.widgets.Composite
createDetailPanel(org.eclipse.swt.custom.ScrolledComposite composite)
Creates the detail panel.protected org.eclipse.swt.custom.SashForm
createSash(org.eclipse.swt.widgets.Composite parent)
Creates the SashForm for the grid and the detail panel.protected org.eclipse.swt.custom.ScrolledComposite
createScrolledDetail(org.eclipse.swt.widgets.Composite parent)
Creates a scrolled Composite that contains the detail panel.protected org.eclipse.swt.widgets.Composite
createTableComposite(org.eclipse.swt.widgets.Composite parent)
Creates the Composite that will contain the grid.protected void
deleteRows(java.util.List<org.eclipse.emf.ecore.EObject> deletionList, org.eclipse.emf.ecore.EObject eObject, org.eclipse.emf.ecore.EStructuralFeature structuralFeature)
Deprecated.protected void
dispose()
Disposes all resources used by the renderer.protected int
getDetailPanelHeightHint()
Returns the preferred height for the detail panel.protected VView
getView(org.eclipse.emf.ecore.EObject selectedEObject)
Returns a fresh copy of theVView
used for detail editing based on the provided EObject.protected void
handleEmptySelection()
Handle empty selection.protected void
handleMultiSelection(org.eclipse.jface.viewers.IStructuredSelection selection)
Handle multi selection.protected void
handleSingleSelection(org.eclipse.jface.viewers.IStructuredSelection selection)
Handle a single selection.protected void
renderSelectedObject(org.eclipse.swt.widgets.Composite composite, org.eclipse.emf.ecore.EObject eObject)
Called in order to render the selectedObject onto the created detail pane.protected void
viewerSelectionChanged(org.eclipse.jface.viewers.SelectionChangedEvent event)
This method gets called when the selection on theTableViewer
(seeTableControlSWTRenderer.getTableViewer()
) has changed.-
Methods inherited from class org.eclipse.emf.ecp.view.spi.table.nebula.grid.GridControlSWTRenderer
computeRequiredHeight, createTableViewerSWTBuilder, getColumns, getConverterService, getHorizontalBar, getLocalizationService, getSelectionIndex, getTableViewerCreator, getVerticalBar
-
Methods inherited from class org.eclipse.emf.ecp.view.spi.table.swt.TableControlSWTRenderer
addAdditionalColumns, addButtonsToButtonBar, addRow, applyUnchangeableFeature, applyValidation, applyValidation, canEditObject, compare, configureActions, createActionBar, createCellEditor, createCellLabelProvider, createDefaultBackgroundStyleProperty, createDefaultFontPropertiesStyleProperty, createDefaultTableStyleProperty, createDefaultTableValidationStyleProperty, createLabel, createTableViewerComparator, createTableViewerCompositeBuilder, createTableViewerSWTBuilder, createViewerActionContext, deleteRowUserConfirmDialog, formatTooltipText, getAddButton, getBackgroundStyleProperty, getColumnDomainModelReferences, getColumnFeature, getControlForAction, getDMRToMultiReference, getEMFFormsDatabinding, getEnumeratorComparator, getFontPropertiesStyleProperty, getGridDescription, getImage, getImage, getKeyBindingsForAction, getReferenceDisplayName, getRemoveButton, getSettingFromObservable, getSortColumnFeature, getSWTColor, getTableHeightHint, getTableStyleProperty, getTableValidationStyleProperty, getTableViewer, getTableViewerComposite, postRefresh, postRefresh, renderControl, renderTableControl, reveal, rootDomainModelChanged, setSortColumnFeature, setTableViewer, shouldCreateCellEditor, updateActionBar
-
Methods inherited from class org.eclipse.emf.ecp.view.spi.core.swt.AbstractControlSWTRenderer
canHandleControlProcessor, createValidationIcon, defaultHandleControlProcessor, defaultHandleControlProcessorForCell, getDataBindingContext, getEditingDomain, 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
applyVisible, canReveal, finalizeRendering, getControls, getDefaultFontName, ignoreEnableOnReadOnly, init, isRenderingFinished, preInit, scrollToReveal, scrollToReveal, setControlEnabled
-
Methods inherited from class org.eclipse.emf.ecp.view.model.common.AbstractRenderer
checkRenderer, getRenderer, getReportService, getVElement, getViewModelContext, register
-
-
-
-
Constructor Detail
-
GridControlDetailPanelRenderer
@Inject public GridControlDetailPanelRenderer(VTableControl vElement, ViewModelContext viewContext, ReportService reportService, EMFFormsDatabindingEMF emfFormsDatabinding, EMFFormsLabelProvider emfFormsLabelProvider, VTViewTemplateProvider vtViewTemplateProvider, ImageRegistryService imageRegistryService, EMFFormsEditSupport emfFormsEditSupport, EStructuralFeatureValueConverterService converterService, EMFFormsLocalizationService localizationService)
Default constructor.- Parameters:
vElement
- the view model element to be renderedviewContext
- the view contextemfFormsDatabinding
- TheEMFFormsDatabindingEMF
emfFormsLabelProvider
- TheEMFFormsLabelProvider
reportService
- TheReportService
vtViewTemplateProvider
- TheVTViewTemplateProvider
imageRegistryService
- TheImageRegistryService
emfFormsEditSupport
- TheEMFFormsEditSupport
converterService
- theEStructuralFeatureValueConverterService
localizationService
- theEMFFormsLocalizationService
- Since:
- 1.11
-
-
Method Detail
-
dispose
protected void dispose()
Description copied from class:AbstractSWTRenderer
Disposes all resources used by the renderer. Don't forget to call super.dispose if overwriting this method.- Overrides:
dispose
in classTableControlSWTRenderer
-
createControlComposite
protected org.eclipse.swt.widgets.Composite createControlComposite(org.eclipse.swt.widgets.Composite composite)
Description copied from class:TableControlSWTRenderer
Creates and returns the composite which will be the parent for the table viewer.- Overrides:
createControlComposite
in classTableControlSWTRenderer
- Parameters:
composite
- the parent composite including the title/button bar- Returns:
- the parent for the table viewer
-
createBorderComposite
protected org.eclipse.swt.widgets.Composite createBorderComposite(org.eclipse.swt.widgets.Composite parent)
Creates a composite with a border to surround the grid and detail panel.- Parameters:
parent
- The parent Composite- Returns:
- The border Composite
-
createSash
protected org.eclipse.swt.custom.SashForm createSash(org.eclipse.swt.widgets.Composite parent)
Creates the SashForm for the grid and the detail panel.- Parameters:
parent
- the parent- Returns:
- the SashForm
-
createTableComposite
protected org.eclipse.swt.widgets.Composite createTableComposite(org.eclipse.swt.widgets.Composite parent)
Creates the Composite that will contain the grid.- Parameters:
parent
- The parent Composite to create the grid composite on- Returns:
- The grid Composite
-
createScrolledDetail
protected org.eclipse.swt.custom.ScrolledComposite createScrolledDetail(org.eclipse.swt.widgets.Composite parent)
Creates a scrolled Composite that contains the detail panel.- Parameters:
parent
- The parent Composite to create the scrolled composite on- Returns:
- The ScrolledComposite containing the detail panel
-
getDetailPanelHeightHint
protected int getDetailPanelHeightHint()
Returns the preferred height for the detail panel. This will be passed to the layout data.- Returns:
- the height in px
-
createDetailPanel
protected org.eclipse.swt.widgets.Composite createDetailPanel(org.eclipse.swt.custom.ScrolledComposite composite)
Creates the detail panel.- Parameters:
composite
- the parent- Returns:
- the detail panel
-
getView
protected VView getView(org.eclipse.emf.ecore.EObject selectedEObject)
Returns a fresh copy of theVView
used for detail editing based on the provided EObject.- Parameters:
selectedEObject
- The selected EObject for which to provide the View- Returns:
- the view
-
applyEnable
protected void applyEnable()
Description copied from class:AbstractControlSWTRenderer
Allows implementers to set a control to enabled.- Overrides:
applyEnable
in classTableControlSWTRenderer
- See Also:
AbstractSWTRenderer.applyEnable()
-
applyReadOnly
protected void applyReadOnly()
Description copied from class:AbstractControlSWTRenderer
Marks a controls as readonly.- Overrides:
applyReadOnly
in classTableControlSWTRenderer
- See Also:
AbstractSWTRenderer.applyReadOnly()
-
viewerSelectionChanged
protected void viewerSelectionChanged(org.eclipse.jface.viewers.SelectionChangedEvent event)
This method gets called when the selection on theTableViewer
(seeTableControlSWTRenderer.getTableViewer()
) has changed.If you override this method make sure to call super.
- Overrides:
viewerSelectionChanged
in classTableControlSWTRenderer
- Parameters:
event
- theSelectionChangedEvent
- See Also:
TableControlSWTRenderer.viewerSelectionChanged(org.eclipse.jface.viewers.SelectionChangedEvent)
-
handleSingleSelection
protected void handleSingleSelection(org.eclipse.jface.viewers.IStructuredSelection selection)
Handle a single selection.- Parameters:
selection
- the selection
-
renderSelectedObject
protected void renderSelectedObject(org.eclipse.swt.widgets.Composite composite, org.eclipse.emf.ecore.EObject eObject)
Called in order to render the selectedObject onto the created detail pane.- Parameters:
composite
- TheComposite
to render oneObject
- The selectedEObject
to render- Since:
- 1.9
-
handleMultiSelection
protected void handleMultiSelection(org.eclipse.jface.viewers.IStructuredSelection selection)
Handle multi selection.- Parameters:
selection
- the selection
-
handleEmptySelection
protected void handleEmptySelection()
Handle empty selection.
-
deleteRows
@Deprecated protected void deleteRows(java.util.List<org.eclipse.emf.ecore.EObject> deletionList, org.eclipse.emf.ecore.EObject eObject, org.eclipse.emf.ecore.EStructuralFeature structuralFeature)
Deprecated.Description copied from class:TableControlSWTRenderer
This is called by#deleteRowUserConfirmDialog(List)
after the user confirmed to delete the selected elements.- Overrides:
deleteRows
in classTableControlSWTRenderer
- Parameters:
deletionList
- the list ofEObjects
to deleteeObject
- The containment referenceEObject
structuralFeature
- The containment referenceEStructuralFeature
-
-