Class MLSlider

java.lang.Object
com.iizix.prop.ui.mlist.MLItem
com.iizix.prop.ui.mlist.MLSlider
All Implemented Interfaces:
IContentData<MLItemProp>, ICustomDataProvider, IMLActionButtonListener, IMLArrowActionListener

public class MLSlider extends MLItem implements IMLArrowActionListener, IMLActionButtonListener
Slider is a component that accepts any user input (sliding selection on a numeric value).

The slider can be preceded with a leading text with an optional fixed width, and the text entry will take up the remaining space in the list item.

An action button can be added to the trailing side.

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

Author:
Mikael Andersson, Christopher Mindus
  • Field Details

    • PN_SL_VALUE

      public static final String PN_SL_VALUE
      Property name: Numeric value.
      See Also:
    • PN_SL_MAX_VALUE

      public static final String PN_SL_MAX_VALUE
      Property name: Maximum value.
      See Also:
    • PN_SL_MIN_VALUE

      public static final String PN_SL_MIN_VALUE
      Property name: Minimum value.
      See Also:
    • PN_SL_VALUE_STEP

      public static final String PN_SL_VALUE_STEP
      Property name: Value step.
      See Also:
    • PN_ARROW

      public static final String PN_ARROW
      Property name: display trailing arrow "arrow".
      See Also:
    • TABLE_COLUMN_NAME_OR_ATOMS

      public static Object[] TABLE_COLUMN_NAME_OR_ATOMS
      The table column atoms or property names used.
    • TABLE_COLUMN_VALUE_TYPES

      public static Value.Type[] TABLE_COLUMN_VALUE_TYPES
      Best value types for the columns.
  • Constructor Details

    • MLSlider

      public MLSlider(String text, boolean isArrowDisplayed)
      Constructor for a simple item without trailing text that is to be added into a list.
      Parameters:
      text - The leading text, null for none.
      isArrowDisplayed - Flag for arrow display.
    • MLSlider

      public MLSlider(KString text, boolean isArrowDisplayed)
      Constructor for a simple item that is to be added into a list.
      Parameters:
      text - The leading text, null for none.
      isArrowDisplayed - Flag for arrow display.
  • Method Details

    • getType

      public MLItemType getType()
      Returns the type.
      Specified by:
      getType in class MLItem
      Returns:
      MLItemType.SLIDER.
    • 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 = 2.
    • 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.
    • initialize

      public void initialize(MLItemProp item)
      Initializes the item property from the content data. Each list item must implement this method to provider initialization of its own and call initialize(MLItemProp).
      Specified by:
      initialize in interface IContentData<MLItemProp>
      Parameters:
      item - The item.
    • getValue

      public double getValue()
      Gets the value for the list item.
      Returns:
      The double value, or null if not set.
    • setValue

      public boolean setValue(double d)
      Sets the value for the list item.
      Parameters:
      d - The new value, or null for none.
      Returns:
      true for changed, false for no change.
    • getMaxValue

      public double getMaxValue()
      Gets the maximum value for the list item.
      Returns:
      The double value, or null if not set.
    • setSetMaxValue

      public boolean setSetMaxValue(double d)
      Sets the maximum value for the list item.
      Parameters:
      d - The new value, or null for none.
      Returns:
      true for changed, false for no change.
    • getMinValue

      public double getMinValue()
      Gets the minimum value for the list item.
      Returns:
      The double value, or null if not set.
    • setSetMinValue

      public boolean setSetMinValue(double d)
      Sets the minimum value for the list item.
      Parameters:
      d - The new value, or null for none.
      Returns:
      true for changed, false for no change.
    • getValueStep

      public double getValueStep()
      Gets the value step for the list item.
      Returns:
      The double value, or null if not set.
    • setValueStep

      public boolean setValueStep(double d)
      Sets the value step for the list item.
      Parameters:
      d - The new value, or null for none.
      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(IMLActionButtonListener listener)
      Adds an action button listener. 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:
      NullPointerException - If the listener is null.
    • removeListener

      public boolean removeListener(IMLActionButtonListener listener)
      Removes an action button listener.
      Parameters:
      listener - The listener to remove.
      Returns:
      true if listener is successfully removed, false otherwise.
    • onActionButtonInvoked

      public void onActionButtonInvoked(MLItem item)
      Called when the action button is invoked by the user. By default, this method will invoke all potential action listeners. A subclass might override this method instead of adding a listener. This subclass should then call the super.onActionButtonInvoked(item) method in case listeners are added by others.
      Specified by:
      onActionButtonInvoked in interface IMLActionButtonListener
      Parameters:
      item - "this" item.
    • 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:
      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.