Class EditConfigHelper


  • public final class EditConfigHelper
    extends Object
    Helper class that will retrieve edit configuration values out of the IConfigRegistry.
    • Method Detail

      • openInline

        public static boolean openInline​(IConfigRegistry configRegistry,
                                         List<String> configLabels)
        Determines whether the editor should be opened inline or using a dialog. By default it will check this by configuration attribute EditConfigAttributes.OPEN_IN_DIALOG. If there is no configuration found for this, true will be returned for backwards compatibility.

        If this method returns true, the editor will be opened inline (default).

        There might be editors that are only able to be opened in a dialog. These implementations need to override this method to always return false, so the editor never gets opened inline.

        Parameters:
        configRegistry - The IConfigRegistry to retrieve the configuration for inline/dialog editing out of. Needed here because the instance IConfigRegistry might not be set on calling this method.
        configLabels - The labels out of the LabelStack of the cell whose editor should be activated. Needed here because this method needs to be called prior to activation to determine where to activate it.
        Returns:
        true if the editor should opened inline, false if not.
        See Also:
        EditConfigAttributes.OPEN_IN_DIALOG
      • supportMultiEdit

        public static boolean supportMultiEdit​(IConfigRegistry configRegistry,
                                               List<String> configLabels)
        Determines whether this editor supports multi edit behavior or not. If this method returns true, on selecting and pressing F2 on several cells that are editable, having the same editor type and converter registered, a multi edit dialog will open. By default this method will return true. You can change this behavior by setting the configuration attribute EditConfigAttributes.SUPPORT_MULTI_EDIT.

        You should consider returning false e.g. if the update operation is complex or you use conditional validation, where a value is validated against another value in the data model.

        Parameters:
        configRegistry - The IConfigRegistry to retrieve the configuration for multi edit support out of. Needed here because the instance IConfigRegistry might not be set on calling this method.
        configLabels - The labels out of the LabelStack of the cell whose editor should be activated. Needed here because this method needs to be called prior to activation to determine where to activate it.
        Returns:
        true if this editor will open in a subdialog for multi editing, false if the multi editing of this kind of cell editor is not supported.
        See Also:
        EditConfigAttributes.SUPPORT_MULTI_EDIT
      • openAdjacentEditor

        public static boolean openAdjacentEditor​(IConfigRegistry configRegistry,
                                                 List<String> configLabels)
        Determines behavior after committing the value of this editor in combination with selection movement. If this method return true and the selection is moved after committing, the editor for the newly selected cell will be activated immediately. If this method returns false or the selection is not moved after commit, no action should be executed.

        The behavior previous to this configuration was to not open the adjacent editor. So if there is no configuration registered for this, false will be returned by default.

        Note: It only makes sense to call this method if the editor is already activated. Calling this method on an editor that has not been activated already will lead to exceptions.

        Parameters:
        configRegistry - The IConfigRegistry to retrieve the configuration out of. Needed here because the instance IConfigRegistry might not be set on calling this method.
        configLabels - The labels out of the LabelStack of the cell whose editor should be activated. Needed here because this method needs to be called prior to activation to determine where to activate it.
        Returns:
        true if the adjacent editor should be opened if the selection moves after commit, false if not.
        See Also:
        EditConfigAttributes.OPEN_ADJACENT_EDITOR
      • activateEditorOnTraversal

        public static boolean activateEditorOnTraversal​(IConfigRegistry configRegistry,
                                                        List<String> configLabels)
        Determines whether the editor that is about to be opened via traversal or after commit selection movement should be opened or not. If this method returns true, the editor gets activated, otherwise not. It is necessary to avoid immediate value changes on selection movements to a checkbox or to avoid opening a dialog editor on traversal.
        Parameters:
        configRegistry - The IConfigRegistry to retrieve the configuration out of. Needed here because the instance IConfigRegistry might not be set on calling this method.
        configLabels - The labels out of the LabelStack of the cell whose editor should be activated. Needed here because this method needs to be called prior to activation to determine where to activate it.
        Returns:
        true if the editor should be opened if the selection moves after commit, false if not.
        See Also:
        EditConfigAttributes.ACTIVATE_EDITOR_ON_TRAVERSAL