Class CellEditDialogFactory


  • public final class CellEditDialogFactory
    extends Object
    Factory to create ICellEditDialog instances that should be opened for editing cell values.
    • Method Detail

      • createCellEditDialog

        public static ICellEditDialog createCellEditDialog​(org.eclipse.swt.widgets.Shell parentShell,
                                                           Object originalCanonicalValue,
                                                           ILayerCell cell,
                                                           ICellEditor cellEditor,
                                                           IConfigRegistry configRegistry)
        Will determine and return the ICellEditDialog to open for editing a cell value. For this the type of the ICellEditor and the configuration for tick updates are checked. Will return the default CellEditDialog for the given ICellEditor for cell editors that wrap an edit control. If the ICellEditor itself is a ICellEditDialog, it will returned itself without creating a new one.
        Parameters:
        parentShell - the parent shell, or null to create a top-level shell
        originalCanonicalValue - 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 cell editor that should be used for multi cell editing.
        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.
        Returns:
        The ICellEditDialog that should be opened for editing a cell value.