public class TableControlSWTRenderer extends AbstractControlSWTRenderer<VTableControl>
Type | Property and Description |
---|---|
protected VTBackgroundStyleProperty |
createDefaultBackgroundStyle
Creates the default
VTBackgroundStyleProperty . |
protected VTFontPropertiesStyleProperty |
createDefaultFontPropertiesStyle
Creates the default
VTFontPropertiesStyleProperty . |
protected VTTableStyleProperty |
createDefaultTableStyle
Creates the default
VTTableStyleProperty . |
protected VTTableValidationStyleProperty |
createDefaultTableValidationStyle
Creates the default
VTTableValidationStyleProperty . |
Modifier and Type | Class and Description |
---|---|
protected class |
TableControlSWTRenderer.CompactVerticallyTableControlSWTRendererCompositeBuilder
TableViewerCompositeBuilder which calls
the existing template method to create the validation label. |
class |
TableControlSWTRenderer.ECPCellLabelProvider
ECP specific cell label provider that does also implement
IColorProvider in
order to correctly. |
protected class |
TableControlSWTRenderer.ECPTableViewerComparator
The
ViewerComparator for this table which allows 3 states for sort order:
none, up and down. |
protected class |
TableControlSWTRenderer.TableControlEditingSupportAndLabelProvider
Implements
EditingSupportCreator and CellLabelProviderFactory for the table control swt renderer. |
protected class |
TableControlSWTRenderer.TableControlSWTRendererButtonBarBuilder
ButtonBarBuilder for the table control swt renderer. |
protected class |
TableControlSWTRenderer.TableControlSWTRendererCompositeBuilder
TableViewerCompositeBuilder which calls
the existing template method to create the validation label. |
protected class |
TableControlSWTRenderer.TableControlSWTRendererTableViewerCreator
TableViewerCreator for the table control swt renderer. |
Modifier and Type | Field and Description |
---|---|
protected static String |
FIXED_COLUMNS |
protected static String |
TABLE_CUSTOM_VARIANT |
protected static org.eclipse.swt.graphics.Point |
VALIDATION_PREFERRED_SIZE |
CUSTOM_VARIANT
Constructor and Description |
---|
TableControlSWTRenderer(VTableControl vElement,
ViewModelContext viewContext,
ReportService reportService,
EMFFormsDatabindingEMF emfFormsDatabinding,
EMFFormsLabelProvider emfFormsLabelProvider,
VTViewTemplateProvider vtViewTemplateProvider,
ImageRegistryService imageRegistryService,
EMFFormsEditSupport emfFormsEditSupport)
Default constructor.
|
Modifier and Type | Method and Description |
---|---|
protected int |
addAdditionalColumns(TableViewerSWTBuilder tableViewerSWTBuilder)
Override this method to add additional static columns at the beginning of the table.
|
protected int |
addButtonsToButtonBar(org.eclipse.swt.widgets.Composite buttonComposite)
Allows to add additional buttons to the button bar of the table control.
|
protected void |
addRow(org.eclipse.emf.ecore.EClass clazz,
org.eclipse.emf.ecore.EObject eObject,
org.eclipse.emf.ecore.EStructuralFeature structuralFeature)
This method is called to add a new entry in the domain model and thus to create a new row in the table.
|
protected void |
applyEnable()
Allows implementers to set a control to enabled.
|
protected void |
applyReadOnly()
Marks a controls as readonly.
|
protected void |
applyValidation()
Allows implementers to display the validation state of the control.
|
protected boolean |
canEditObject(Object element)
Checks whether an element is editable or not.
|
protected int |
compare(org.eclipse.jface.viewers.Viewer viewer,
Object left,
Object right,
int direction,
int propertyIndex)
Get called by the
TableControlSWTRenderer.ECPTableViewerComparator in order to compare the given objects. |
protected int |
computeRequiredHeight(Integer visibleLines)
Returns the height in pixels required to display the given number of table items.
|
protected org.eclipse.jface.viewers.CellEditor |
createCellEditor(org.eclipse.emf.ecore.EObject tempInstance,
org.eclipse.emf.ecore.EStructuralFeature feature,
org.eclipse.swt.widgets.Composite table)
This is called in order to setup the editing support for a table column.
|
protected org.eclipse.jface.viewers.CellLabelProvider |
createCellLabelProvider(org.eclipse.emf.ecore.EStructuralFeature feature,
org.eclipse.jface.viewers.CellEditor cellEditor,
org.eclipse.core.databinding.observable.map.IObservableMap attributeMap,
VTableControl vTableControl,
VDomainModelReference dmr,
org.eclipse.swt.widgets.Control table)
|
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 VTBackgroundStyleProperty |
createDefaultBackgroundStyleProperty()
Creates the default
VTBackgroundStyleProperty . |
protected VTFontPropertiesStyleProperty |
createDefaultFontPropertiesStyleProperty()
Creates the default
VTFontPropertiesStyleProperty . |
protected VTTableStyleProperty |
createDefaultTableStyleProperty()
Creates the default
VTTableStyleProperty . |
protected VTTableValidationStyleProperty |
createDefaultTableValidationStyleProperty()
Creates the default
VTTableValidationStyleProperty . |
protected org.eclipse.swt.widgets.Control |
createLabel(org.eclipse.swt.widgets.Composite parent)
Create the
Control displaying the label of the current VControl . |
protected TableViewerCompositeBuilder |
createTableViewerCompositeBuilder()
Creates the
TableViewerCompositeBuilder used to get Composite hierarchy for this table renderer. |
protected TableViewerSWTBuilder |
createTableViewerSWTBuilder(org.eclipse.swt.widgets.Composite parent,
org.eclipse.core.databinding.observable.list.IObservableList list,
org.eclipse.core.databinding.observable.value.IObservableValue labelText,
org.eclipse.core.databinding.observable.value.IObservableValue labelTooltipText,
TableViewerCompositeBuilder compositeBuilder,
org.eclipse.jface.databinding.viewers.ObservableListContentProvider cp,
TableControlSWTRenderer.ECPTableViewerComparator comparator,
TableControlSWTRenderer.TableControlSWTRendererButtonBarBuilder tableControlSWTRendererButtonBarBuilder2)
Creates a new
TableViewerSWTBuilder . |
protected void |
deleteRows(List<org.eclipse.emf.ecore.EObject> deletionList,
org.eclipse.emf.ecore.EObject eObject,
org.eclipse.emf.ecore.EStructuralFeature structuralFeature)
This is called by
#deleteRowUserConfirmDialog(List) after the user confirmed to delete the selected
elements. |
protected void |
deleteRowUserConfirmDialog(List<org.eclipse.emf.ecore.EObject> deletionList,
org.eclipse.emf.ecore.EObject eObject,
org.eclipse.emf.ecore.EStructuralFeature structuralFeature,
org.eclipse.swt.widgets.Button addButton,
org.eclipse.swt.widgets.Button removeButton)
This method shows a user confirmation dialog when the user attempts to delete a row in the table.
|
protected void |
dispose()
Disposes all resources used by the renderer.
|
protected org.eclipse.swt.widgets.Button |
getAddButton()
Returns the add button created by the framework.
|
protected VTBackgroundStyleProperty |
getBackgroundStyleProperty()
Returns the
VTBackgroundStyleProperty . |
protected org.eclipse.swt.widgets.Item[] |
getColumns()
Returns an array of
items which are the columns in the table. |
protected VDomainModelReference |
getDMRToMultiReference() |
protected EMFFormsDatabindingEMF |
getEMFFormsDatabinding()
The
EMFFormsDatabinding to use. |
protected VTFontPropertiesStyleProperty |
getFontPropertiesStyleProperty()
Returns the
VTFontPropertiesStyleProperty . |
SWTGridDescription |
getGridDescription(SWTGridDescription gridDescription)
Returns the GridDescription for this Renderer.
|
protected org.eclipse.swt.widgets.ScrollBar |
getHorizontalBar()
Returns the receiver's horizontal scroll bar if it has one, and null if it does not.
|
protected org.eclipse.swt.graphics.Image |
getImage(String path)
Retrieve images from the
ImageRegistryService using a bundle relative path. |
protected org.eclipse.swt.graphics.Image |
getImage(URL url)
Retrieve images from the
ImageRegistryService using an URL . |
protected org.eclipse.swt.widgets.Button |
getRemoveButton()
Returns the remove button created by the framework.
|
protected int |
getSelectionIndex()
Returns the zero-relative index of the item which is currently selected in the receiver, or -1 if no item is
selected.
|
protected Optional<org.eclipse.emf.ecore.EStructuralFeature.Setting> |
getSettingFromObservable(VDomainModelReference dmr,
org.eclipse.emf.ecore.EObject eObject)
Helper method which uses an EMFForms observable value to get the setting for the given
VDomainModelReference . |
protected org.eclipse.swt.graphics.Color |
getSWTColor(String colorHex)
Returns the
Color specified by the provided String. |
protected int |
getTableHeightHint()
Returns the preferred height for the table.
|
protected VTTableStyleProperty |
getTableStyleProperty()
Returns the
VTTableStyleProperty . |
protected VTTableValidationStyleProperty |
getTableValidationStyleProperty()
Returns the
VTTableValidationStyleProperty . |
protected org.eclipse.jface.viewers.AbstractTableViewer |
getTableViewer()
Returns the table viewer.
|
protected AbstractTableViewerComposite |
getTableViewerComposite()
Returns the
AbstractTableViewerComposite . |
protected TableViewerCreator<? extends org.eclipse.jface.viewers.AbstractTableViewer> |
getTableViewerCreator()
Creates a new instance of the
TableViewerCreator to be used. |
protected org.eclipse.swt.widgets.ScrollBar |
getVerticalBar()
Returns the receiver's vertical scroll bar if it has one, and null if it does not.
|
protected org.eclipse.swt.widgets.Control |
renderControl(SWTGridCell gridCell,
org.eclipse.swt.widgets.Composite parent)
Renders the passed
VElement . |
protected org.eclipse.swt.widgets.Control |
renderTableControl(SWTGridCell gridCell,
org.eclipse.swt.widgets.Composite parent)
Renders the Table Control.
|
protected void |
rootDomainModelChanged()
This method is called in
AbstractControlSWTRenderer.notifyChange() when the root domain model of the view model context changes. |
protected void |
setTableViewer(org.eclipse.jface.viewers.AbstractTableViewer tableViewer)
Sets the table viewer.
|
protected boolean |
shouldCreateCellEditor(Object element)
Defined whether a cell editor should be created or not.
|
protected void |
viewerSelectionChanged(org.eclipse.jface.viewers.SelectionChangedEvent event)
This method gets called when the selection on the
TableViewer (see getTableViewer() ) has
changed. |
canHandleControlProcessor, createValidationIcon, defaultHandleControlProcessor, defaultHandleControlProcessorForCell, getDataBindingContext, getEditingDomain, getEMFFormsLabelProvider, getLabelStyleBits, getModelValue, getValidationBackgroundColor, getValidationForegroundColor, getValidationIcon, getVTViewTemplateProvider, hasLeftLabelAlignment, notifyChange, postInit, render
applyValidation, applyVisible, finalizeRendering, getControls, getDefaultFontName, init, preInit, setControlEnabled
checkRenderer, getReportService, getVElement, getViewModelContext
protected VTTableValidationStyleProperty createDefaultTableValidationStyleProperty
VTTableValidationStyleProperty
.protected VTBackgroundStyleProperty createDefaultBackgroundStyleProperty
VTBackgroundStyleProperty
.protected VTTableStyleProperty createDefaultTableStyleProperty
VTTableStyleProperty
.protected VTFontPropertiesStyleProperty createDefaultFontPropertiesStyleProperty
VTFontPropertiesStyleProperty
.protected static final String FIXED_COLUMNS
protected static final String TABLE_CUSTOM_VARIANT
protected static final org.eclipse.swt.graphics.Point VALIDATION_PREFERRED_SIZE
@Inject public TableControlSWTRenderer(VTableControl vElement, ViewModelContext viewContext, ReportService reportService, EMFFormsDatabindingEMF emfFormsDatabinding, EMFFormsLabelProvider emfFormsLabelProvider, VTViewTemplateProvider vtViewTemplateProvider, ImageRegistryService imageRegistryService, EMFFormsEditSupport emfFormsEditSupport)
vElement
- the view model element to be renderedviewContext
- the view contextemfFormsDatabinding
- The EMFFormsDatabinding
emfFormsLabelProvider
- The EMFFormsLabelProvider
reportService
- The ReportService
vtViewTemplateProvider
- The VTViewTemplateProvider
imageRegistryService
- The ImageRegistryService
emfFormsEditSupport
- The EMFFormsEditSupport
public SWTGridDescription getGridDescription(SWTGridDescription gridDescription)
AbstractSWTRenderer
getGridDescription
in class AbstractSWTRenderer<VTableControl>
gridDescription
- the current SWTGridDescription
protected EMFFormsDatabindingEMF getEMFFormsDatabinding()
AbstractControlSWTRenderer
EMFFormsDatabinding
to use.getEMFFormsDatabinding
in class AbstractControlSWTRenderer<VTableControl>
protected org.eclipse.swt.widgets.Control renderControl(SWTGridCell gridCell, org.eclipse.swt.widgets.Composite parent) throws NoRendererFoundException, NoPropertyDescriptorFoundExeption
AbstractSWTRenderer
VElement
.renderControl
in class AbstractSWTRenderer<VTableControl>
gridCell
- the GridCell
of the control to renderparent
- the Composite
to render onControl
NoRendererFoundException
- this is thrown when a renderer cannot be foundNoPropertyDescriptorFoundExeption
- this is thrown when no property descriptor can be foundprotected org.eclipse.swt.widgets.Control createLabel(org.eclipse.swt.widgets.Composite parent)
AbstractControlSWTRenderer
Control
displaying the label of the current VControl
.createLabel
in class AbstractControlSWTRenderer<VTableControl>
parent
- the Composite
to render ontoControl
or nullprotected org.eclipse.swt.widgets.Control renderTableControl(SWTGridCell gridCell, org.eclipse.swt.widgets.Composite parent) throws NoRendererFoundException, NoPropertyDescriptorFoundExeption
RenderMode
is set to
RenderMode.DEFAULT
. Only renders the
Table Control without title and validation when renderMode is set to RenderMode.COMPACT_VERTICALLY
.gridCell
- the SWTGridCell
.parent
- the Composite
.Control
.NoRendererFoundException
- the NoRendererFoundException
.NoPropertyDescriptorFoundExeption
- the NoPropertyDescriptorFoundExeption
.protected TableViewerCompositeBuilder createTableViewerCompositeBuilder()
TableViewerCompositeBuilder
used to get Composite hierarchy for this table renderer. This
method can be overwritten by sub classes to customize the layout.TableViewerCompositeBuilder
protected TableViewerSWTBuilder createTableViewerSWTBuilder(org.eclipse.swt.widgets.Composite parent, org.eclipse.core.databinding.observable.list.IObservableList list, org.eclipse.core.databinding.observable.value.IObservableValue labelText, org.eclipse.core.databinding.observable.value.IObservableValue labelTooltipText, TableViewerCompositeBuilder compositeBuilder, org.eclipse.jface.databinding.viewers.ObservableListContentProvider cp, TableControlSWTRenderer.ECPTableViewerComparator comparator, TableControlSWTRenderer.TableControlSWTRendererButtonBarBuilder tableControlSWTRendererButtonBarBuilder2)
TableViewerSWTBuilder
.parent
- the parent Composite
list
- the input objectlabelText
- the titlelabelTooltipText
- the tooltipcompositeBuilder
- the TableViewerCompositeBuilder
cp
- the content providercomparator
- the ViewerComparator
; has no effect if move up/down
functionality is enabledtableControlSWTRendererButtonBarBuilder2
- the ButtonBarBuilder
TableViewerSWTBuilder
protected TableViewerCreator<? extends org.eclipse.jface.viewers.AbstractTableViewer> getTableViewerCreator()
TableViewerCreator
to be used.TableViewerCreator
protected int addAdditionalColumns(TableViewerSWTBuilder tableViewerSWTBuilder)
tableViewerSWTBuilder
- the builderprotected int getSelectionIndex()
protected org.eclipse.swt.widgets.Item[] getColumns()
items
which are the columns in the table.protected org.eclipse.swt.widgets.ScrollBar getHorizontalBar()
protected org.eclipse.swt.widgets.ScrollBar getVerticalBar()
protected VDomainModelReference getDMRToMultiReference()
VDomainModelReference
which ends at the table settingprotected int addButtonsToButtonBar(org.eclipse.swt.widgets.Composite buttonComposite)
The default implementation does not add additional buttons.
buttonComposite
- the composite where the buttons are addedprotected org.eclipse.swt.widgets.Composite createControlComposite(org.eclipse.swt.widgets.Composite composite)
composite
- the parent composite including the title/button barprotected int getTableHeightHint()
protected int computeRequiredHeight(Integer visibleLines)
visibleLines
- the number of visible table itemsprotected org.eclipse.jface.viewers.AbstractTableViewer getTableViewer()
protected AbstractTableViewerComposite getTableViewerComposite()
AbstractTableViewerComposite
.protected void setTableViewer(org.eclipse.jface.viewers.AbstractTableViewer tableViewer)
tableViewer
- the viewerprotected void viewerSelectionChanged(org.eclipse.jface.viewers.SelectionChangedEvent event)
TableViewer
(see getTableViewer()
) has
changed.
If you override this method make sure to call super.
event
- the SelectionChangedEvent
protected org.eclipse.swt.graphics.Image getImage(URL url)
ImageRegistryService
using an URL
.url
- The URL
pointing to the imageprotected org.eclipse.swt.graphics.Image getImage(String path)
ImageRegistryService
using a bundle relative path.path
- The bundle relative path pointing to the imageprotected VTTableValidationStyleProperty getTableValidationStyleProperty()
VTTableValidationStyleProperty
.VTTableValidationStyleProperty
protected VTTableValidationStyleProperty createDefaultTableValidationStyleProperty()
VTTableValidationStyleProperty
.protected VTBackgroundStyleProperty getBackgroundStyleProperty()
VTBackgroundStyleProperty
.VTBackgroundStyleProperty
protected VTBackgroundStyleProperty createDefaultBackgroundStyleProperty()
VTBackgroundStyleProperty
.protected VTTableStyleProperty getTableStyleProperty()
VTTableStyleProperty
.VTTableStyleProperty
protected VTTableStyleProperty createDefaultTableStyleProperty()
VTTableStyleProperty
.protected VTFontPropertiesStyleProperty getFontPropertiesStyleProperty()
VTFontPropertiesStyleProperty
.VTFontPropertiesStyleProperty
protected VTFontPropertiesStyleProperty createDefaultFontPropertiesStyleProperty()
VTFontPropertiesStyleProperty
.protected org.eclipse.swt.graphics.Color getSWTColor(String colorHex)
Color
specified by the provided String.colorHex
- the Hex String describing the colorColor
protected org.eclipse.jface.viewers.CellEditor createCellEditor(org.eclipse.emf.ecore.EObject tempInstance, org.eclipse.emf.ecore.EStructuralFeature feature, org.eclipse.swt.widgets.Composite table)
tempInstance
- the temporary input instance of the tablefeature
- the feature of the columntable
- the table/parentprotected void deleteRowUserConfirmDialog(List<org.eclipse.emf.ecore.EObject> deletionList, org.eclipse.emf.ecore.EObject eObject, org.eclipse.emf.ecore.EStructuralFeature structuralFeature, org.eclipse.swt.widgets.Button addButton, org.eclipse.swt.widgets.Button removeButton)
deletionList
- the list of selected EObjects to deleteeObject
- The containment reference EObject
structuralFeature
- The containment reference EStructuralFeature
addButton
- the add buttonremoveButton
- the remove buttonprotected void deleteRows(List<org.eclipse.emf.ecore.EObject> deletionList, org.eclipse.emf.ecore.EObject eObject, org.eclipse.emf.ecore.EStructuralFeature structuralFeature)
#deleteRowUserConfirmDialog(List)
after the user confirmed to delete the selected
elements.deletionList
- the list of EObjects
to deleteeObject
- The containment reference EObject
structuralFeature
- The containment reference EStructuralFeature
protected void addRow(org.eclipse.emf.ecore.EClass clazz, org.eclipse.emf.ecore.EObject eObject, org.eclipse.emf.ecore.EStructuralFeature structuralFeature)
clazz
- the EClass
defining the EObject to createeObject
- The containment reference EObject
structuralFeature
- The containment reference EStructuralFeature
protected void applyValidation()
AbstractSWTRenderer
applyValidation
in class AbstractSWTRenderer<VTableControl>
protected org.eclipse.swt.widgets.Button getAddButton()
protected org.eclipse.swt.widgets.Button getRemoveButton()
protected Optional<org.eclipse.emf.ecore.EStructuralFeature.Setting> getSettingFromObservable(VDomainModelReference dmr, org.eclipse.emf.ecore.EObject eObject)
VDomainModelReference
.dmr
- the VDomainModelReference
eObject
- the EObject
to get the setting forprotected void applyEnable()
applyEnable
in class AbstractControlSWTRenderer<VTableControl>
AbstractSWTRenderer.applyEnable()
protected void applyReadOnly()
applyReadOnly
in class AbstractControlSWTRenderer<VTableControl>
AbstractSWTRenderer.applyReadOnly()
protected void dispose()
dispose
in class AbstractControlSWTRenderer<VTableControl>
AbstractSWTRenderer.dispose()
protected int compare(org.eclipse.jface.viewers.Viewer viewer, Object left, Object right, int direction, int propertyIndex)
TableControlSWTRenderer.ECPTableViewerComparator
in order to compare the given objects.viewer
- the tavle viewerleft
- the first object of the comparisonright
- the second object of the comparisonpropertyIndex
- index of the selection column. the index is aligned with the index of the associated column
domain model referencedirection
- SWT.NONE
, SWT.UP
or SWT.DOWN
according to the indication displayed at
the table column.0
if the first element is
equal to the second element; and a positive number if the first
element is greater than the second elementprotected void rootDomainModelChanged() throws DatabindingFailedException
AbstractControlSWTRenderer
AbstractControlSWTRenderer.notifyChange()
when the root domain model of the view model context changes.rootDomainModelChanged
in class AbstractControlSWTRenderer<VTableControl>
DatabindingFailedException
- If the databinding failedprotected boolean canEditObject(Object element)
element
- The list entry to be checkedprotected boolean shouldCreateCellEditor(Object element)
element
- The table entry to be checkedprotected org.eclipse.jface.viewers.CellLabelProvider createCellLabelProvider(org.eclipse.emf.ecore.EStructuralFeature feature, org.eclipse.jface.viewers.CellEditor cellEditor, org.eclipse.core.databinding.observable.map.IObservableMap attributeMap, VTableControl vTableControl, VDomainModelReference dmr, org.eclipse.swt.widgets.Control table)
feature
- the feature of the columncellEditor
- the cell editor for the columnattributeMap
- the attribute map displayed in the tablevTableControl
- the table view model elementdmr
- the domain model reference of the columntable
- the table controlCellLabelProvider
of the columnCopyright © 2018. All rights reserved.