public class CellEditDialog extends org.eclipse.jface.dialogs.Dialog implements ICellEditDialog
Modifier and Type | Field and Description |
---|---|
protected ILayerCell |
cell
The cell that should be edited.
|
protected DialogEditHandler |
cellEditHandler
The
ICellEditHandler that should be used by the editor. |
protected ICellEditor |
cellEditor
The cell editor that should be integrated and activated in this dialog.
|
protected IConfigRegistry |
configRegistry
The
IConfigRegistry containing the configuration of the current NatTable
instance the command should be executed for. |
protected Map<String,Object> |
editDialogSettings
Map that contains custom configurations for this
CellEditDialog . |
protected Object |
originalCanonicalValue
The value that should be propagated to the editor control.
|
blockedHandler, buttonBar, DIALOG_DEFAULT_BOUNDS, DIALOG_PERSISTLOCATION, DIALOG_PERSISTSIZE, dialogArea, DLG_IMG_ERROR, DLG_IMG_HELP, DLG_IMG_INFO, DLG_IMG_MESSAGE_ERROR, DLG_IMG_MESSAGE_INFO, DLG_IMG_MESSAGE_WARNING, DLG_IMG_QUESTION, DLG_IMG_WARNING, ELLIPSIS
DIALOG_MESSAGE, DIALOG_SHELL_ICON, DIALOG_SHELL_LOCATION, DIALOG_SHELL_RESIZABLE, DIALOG_SHELL_SIZE, DIALOG_SHELL_TITLE
Constructor and Description |
---|
CellEditDialog(org.eclipse.swt.widgets.Shell parentShell,
Object originalCanonicalValue,
ILayerCell cell,
ICellEditor cellEditor,
IConfigRegistry configRegistry) |
Modifier and Type | Method and Description |
---|---|
Object |
calculateValue(Object currentValue,
Object processValue)
In case
ICellEditDialog.getEditType() returns an edit type for processing
values, this method should implemented to do that transformation. |
protected void |
cancelPressed() |
protected void |
configureShell(org.eclipse.swt.widgets.Shell newShell) |
protected org.eclipse.swt.widgets.Control |
createDialogArea(org.eclipse.swt.widgets.Composite parent) |
Object |
getCommittedValue() |
EditTypeEnum |
getEditType() |
protected org.eclipse.swt.events.KeyListener |
getEscKeyListener() |
protected org.eclipse.swt.graphics.Point |
getInitialLocation(org.eclipse.swt.graphics.Point initialSize) |
protected org.eclipse.swt.graphics.Point |
getInitialSize() |
protected boolean |
isResizable() |
protected void |
okPressed() |
void |
setDialogSettings(Map<String,Object> editDialogSettings)
Allows to customize the appearance of the dialog.
|
applyDialogFont, buttonPressed, close, convertHeightInCharsToPixels, convertHeightInCharsToPixels, convertHorizontalDLUsToPixels, convertHorizontalDLUsToPixels, convertVerticalDLUsToPixels, convertVerticalDLUsToPixels, convertWidthInCharsToPixels, convertWidthInCharsToPixels, create, createButton, createButtonBar, createButtonsForButtonBar, createContents, dialogFontIsDefault, getBlockedHandler, getButton, getButtonBar, getCancelButton, getDialogArea, getDialogBoundsSettings, getDialogBoundsStrategy, getImage, getOKButton, initializeBounds, initializeDialogUnits, setBlockedHandler, setButtonLayoutData, setButtonLayoutFormData, shortenText
canHandleShellCloseEvent, constrainShellSize, createShell, getConstrainedShellBounds, getContents, getDefaultImage, getDefaultImages, getDefaultOrientation, getLayout, getParentShell, getReturnCode, getShell, getShellListener, getShellStyle, getWindowManager, handleFontChange, handleShellCloseEvent, open, setBlockOnOpen, setDefaultImage, setDefaultImages, setDefaultModalParent, setDefaultOrientation, setExceptionHandler, setParentShell, setReturnCode, setShellStyle, setWindowManager
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
open
protected final Object originalCanonicalValue
protected final ICellEditor cellEditor
protected DialogEditHandler cellEditHandler
ICellEditHandler
that should be used by the editor.protected final ILayerCell cell
protected final IConfigRegistry configRegistry
IConfigRegistry
containing the configuration of the current NatTable
instance the command should be executed for. This is necessary because the edit
controllers in the current architecture are not aware of the instance they are
running in and therefore it is needed for activation of editors.protected Map<String,Object> editDialogSettings
CellEditDialog
.
We do not use the IDialogSettings
provided by JFace, because they are
used to store and load the settings in XML rather than overriding the behaviour.public CellEditDialog(org.eclipse.swt.widgets.Shell parentShell, Object originalCanonicalValue, ILayerCell cell, ICellEditor cellEditor, IConfigRegistry configRegistry)
parentShell
- the parent shell, or null
to create a top-level
shelloriginalCanonicalValue
- The value that should be propagated to the editor
control. Needed because for multi cell editing or editor activation by
letter/digit key will result in a different value to populate for some
editors than populating the value out of the cell/data model directly.cell
- The cell that should be edited. Needed because editor activation
retrieves the configuration for editing directly out of the cell.cellEditor
- The ICellEditor
that will be used as editor control
within the dialog.configRegistry
- The IConfigRegistry
containing the configuration of
the current NatTable instance the command should be executed for. This is
necessary because the edit controllers in the current architecture are not
aware of the instance they are running in and therefore it is needed for
activation of editors.protected void configureShell(org.eclipse.swt.widgets.Shell newShell)
configureShell
in class org.eclipse.jface.window.Window
protected boolean isResizable()
isResizable
in class org.eclipse.jface.dialogs.Dialog
protected org.eclipse.swt.graphics.Point getInitialLocation(org.eclipse.swt.graphics.Point initialSize)
getInitialLocation
in class org.eclipse.jface.dialogs.Dialog
protected org.eclipse.swt.graphics.Point getInitialSize()
getInitialSize
in class org.eclipse.jface.dialogs.Dialog
protected void okPressed()
okPressed
in class org.eclipse.jface.dialogs.Dialog
protected void cancelPressed()
cancelPressed
in class org.eclipse.jface.dialogs.Dialog
protected org.eclipse.swt.widgets.Control createDialogArea(org.eclipse.swt.widgets.Composite parent)
createDialogArea
in class org.eclipse.jface.dialogs.Dialog
public Object getCommittedValue()
getCommittedValue
in interface ICellEditDialog
public EditTypeEnum getEditType()
getEditType
in interface ICellEditDialog
EditTypeEnum.SET
is returned, which
will simply set the committed value to the data model. Every other
edit type will do some calculation based on the committed value and
the current value in the data model.public Object calculateValue(Object currentValue, Object processValue)
ICellEditDialog.getEditType()
returns an edit type for processing
values, this method should implemented to do that transformation.calculateValue
in interface ICellEditDialog
currentValue
- The current value for the cell before data model updateprocessValue
- The value committed to the editor that should be used for
calculation on the current value.ICellEditDialog
implementation and therefore the value
that was committed to the editor will be updated to the data model.protected org.eclipse.swt.events.KeyListener getEscKeyListener()
public void setDialogSettings(Map<String,Object> editDialogSettings)
CellEditDialogFactory
.
The map containing the settings can be registered to the IConfigRegistry
for
the key EditConfigAttributes.EDIT_DIALOG_SETTINGS
. The keys that are valid
for this map are specified below.
This implementation will check if the given map contains a value for ICellEditDialog.DIALOG_SHELL_RESIZABLE
.
If there is a value found for that configuration, the Shell style will be recalculated based on the specified
value. The style bits are calculated the same way like in the Dialog
constructor.
This is performed in here because setting the Shell style bits after the creation of the Shell would have no
effect.
setDialogSettings
in interface ICellEditDialog
editDialogSettings
- Map containing the settings to customize the edit dialog
appearance.ICellEditDialog.DIALOG_SHELL_TITLE
,
ICellEditDialog.DIALOG_SHELL_ICON
,
ICellEditDialog.DIALOG_SHELL_LOCATION
,
ICellEditDialog.DIALOG_SHELL_SIZE
,
ICellEditDialog.DIALOG_SHELL_RESIZABLE
,
ICellEditDialog.DIALOG_MESSAGE
,
EditConfigAttributes.EDIT_DIALOG_SETTINGS
Copyright © 2013. All Rights Reserved.