Class MLCheckBox

  • All Implemented Interfaces:
    IContentData<MLItemProp>, IMLArrowActionListener

    public class MLCheckBox
    extends MLItem
    implements IMLArrowActionListener
    The checkbox list item class.

    The checkbox has a text on leading/trailing sides and a description. On the trailing side, a checkbox is shown.

    The trailing text can be left adjusted after the leading text that may have a fixed width in order to have an additional column of text.

    The selection state is independent of other components, support for third state exists.

    An optional description text can be added to the bottom of the list item.

    Author:
    Christopher Mindus
    • Field Detail

      • PN_TRAILING_TEXT

        public static final java.lang.String PN_TRAILING_TEXT
        Property name: trailing text "tt".
        See Also:
        Constant Field Values
      • PN_V_TRAILING_TEXT

        public static final java.lang.String PN_V_TRAILING_TEXT
        Property name: trailing text virtual column reference "V_tt".
        See Also:
        Constant Field Values
      • PN_ALIGN_OPPOSITE

        public static final java.lang.String PN_ALIGN_OPPOSITE
        Property name: trailing align opposite "ao".
        See Also:
        Constant Field Values
      • PN_ARROW

        public static final java.lang.String PN_ARROW
        Property name: display trailing arrow "arrow".
        See Also:
        Constant Field Values
    • Constructor Detail

      • MLCheckBox

        public MLCheckBox​(boolean isChecked)
        Creates a new checkbox list item.
        Parameters:
        isChecked - The check state.
      • MLCheckBox

        public MLCheckBox​(int state)
        Creates a new checkbox list item.
        Parameters:
        state - The check state: 0=unchecked, 1=checked, 2=third state.
        Throws:
        java.lang.IllegalArgumentException - If check state is not 0-2.
    • Method Detail

      • getSelectionPropName

        protected java.lang.String getSelectionPropName()
        Returns the IntProp property name used to set the selection to.
        Overrides:
        getSelectionPropName in class MLItem
        Returns:
        The selection property name "checked".
      • doBooleanSelectionOnly

        protected boolean doBooleanSelectionOnly()
        Returns if the selection property is a boolean value and a BoolProp is used to set the selection state that can be on/off or 1/0 only (2 = third state is not allowed).
        Overrides:
        doBooleanSelectionOnly in class MLItem
        Returns:
        true To use BoolProp for selection and throw error for third state (2) selection value, false for checkboxes that use an IntProp for selection and supports third state.
      • getType

        public MLItemType getType()
        Returns the type.
        Specified by:
        getType in class MLItem
        Returns:
        MLItemType.CHECKBOX.
      • getLeadingTextColumn

        protected int getLeadingTextColumn()
        Returns the column index for the leading text. Types supporting description text must override this method.
        Specified by:
        getLeadingTextColumn in class MLItem
        Returns:
        The column index, or -1 for none.
      • getDescriptionColumn

        protected int getDescriptionColumn()
        Returns the column index for the description. Types supporting description text must override this method.
        Specified by:
        getDescriptionColumn in class MLItem
        Returns:
        The column index = 3.
      • refreshFromVS

        public void refreshFromVS​(int[] columns)
        Refreshes contents from VirtualSpace.
        Specified by:
        refreshFromVS in interface IContentData<MLItemProp>
        Specified by:
        refreshFromVS in class MLItem
        Parameters:
        columns - The connected table columns indicies, -1 for none.
      • getUpdatePropertyNames

        protected java.lang.String[] getUpdatePropertyNames()
        Returns the property names for which the from(PropCnr, MLItemProp) must be called.
        Returns:
        The array of update properties, never null.
      • getCheckState

        public int getCheckState()
        Gets the check state with support for third state.
        Returns:
        The state as: 0=unchecked, 1=checked, 2=third state.
      • setChecked

        public java.lang.String setChecked​(boolean on)
        Sets the check state of an item.
        Parameters:
        on - The new check state.
        Returns:
        null for success.
      • setChecked

        public java.lang.String setChecked​(int state)
        Sets the check state of an item.
        Parameters:
        state - The new check state: 0=unchecked, 1=checked, 2=third state.
        Returns:
        null for success.
        Throws:
        java.lang.IllegalArgumentException - If the state is not 0, 1 or 2.
      • getTrailingText

        public KString getTrailingText()
        Gets the trailing text for the list item.
        Returns:
        The text, or null if none is set.
      • setTrailingText

        public boolean setTrailingText​(KString text)
        Sets the trailing text for the list item.
        Parameters:
        text - The new text, or null for none.
        Returns:
        true for changed, false for no change.
      • isTrailingTextOppositeAligned

        public boolean isTrailingTextOppositeAligned()
        Returns if the trailing text is aligned to the opposite side, i.e. leading instead of trailing.
        Returns:
        true if trailing text is aligned to leading side, false for aligned to the trailing side.
      • isTrailingTextOppositeAligned

        public boolean isTrailingTextOppositeAligned​(boolean opposite)
        Sets if the trailing text is aligned to the opposite side, i.e. leading instead of trailing.
        Parameters:
        opposite - Alignment flag: true if trailing text is aligned to leading side, false for aligned to the trailing side.
        Returns:
        true for changed, false for no change.
      • isArrowDisplayed

        public boolean isArrowDisplayed()
        Returns if the trailing arrow is displayed or not.
        Returns:
        true to display arrow, false not to display arrow.
      • setArrowDisplayed

        public boolean setArrowDisplayed​(boolean on)
        Sets if the trailing arrow should be displayed or not.
        Parameters:
        on - The display flag: true to display arrow, false not to display arrow.
        Returns:
        true for changed, false for no change.
      • addListener

        public boolean addListener​(IMLCheckBoxStateListener listener)
        Adds an checkbox listener for the arrow. Calling this method multiple times with the same listener will have no effect (but to return false).
        Parameters:
        listener - The listener to add.
        Returns:
        true if the listener was added, false otherwise.
        Throws:
        java.lang.NullPointerException - If the listener is null.
      • removeListener

        public boolean removeListener​(IMLCheckBoxStateListener listener)
        Removes a checkbox listener for the arrow.
        Parameters:
        listener - The listener to remove.
        Returns:
        true if listener is successfully removed, false otherwise.
      • addListener

        public boolean addListener​(IMLArrowActionListener listener)
        Adds an action listener for the arrow. Calling this method multiple times with the same listener will have no effect (but to return false).
        Parameters:
        listener - The listener to add.
        Returns:
        true if the listener was added, false otherwise.
        Throws:
        java.lang.NullPointerException - If the listener is null.
      • removeListener

        public boolean removeListener​(IMLArrowActionListener listener)
        Removes an action listener for the arrow.
        Parameters:
        listener - The listener to remove.
        Returns:
        true if listener is successfully removed, false otherwise.
      • onArrowInvoked

        public void onArrowInvoked​(MLItem item)
        Called when the arrow action is invoked. By default, this method will invoke all potential arrow action listeners. A subclass might override this method instead of adding a listener. This subclass should then call the super.onArrowInvoked(item) method in case listeners are added by others.
        Specified by:
        onArrowInvoked in interface IMLArrowActionListener
        Parameters:
        item - "this" item.