Class UICheckBox

All Implemented Interfaces:
EventListener, IFocusComp, IMessageBox, IComponent, ICustomDataProvider, IGProp<GProp<?>[]>, IPropCnr, IUICheckComponent, IUIComp, IUICompRelativeTarget, IUIContextMenuOwner, IUIFocusComp, IUILabelForTarget, IUISelectionComp, IUITriStateSelectionComp, IVSComponentListener, IVSComponentState, IVSFieldListener, Cloneable
Direct Known Subclasses:
EUICheckBox

public class UICheckBox extends UIComp implements IUICheckComponent, IUIFocusComp, IUILabelForTarget, IUIContextMenuOwner
Checkbox UI component.
Author:
Christopher Mindus
  • Constructor Details

    • UICheckBox

      public UICheckBox()
      Creates the component without a name. The name must be set in all cases using the setPropertyAtom call.
    • UICheckBox

      public UICheckBox(Atom propertyAtom)
      Creates the component with the specified name. All system-reserved names for components begins with "$".
      Parameters:
      propertyAtom - the name of the component, unique within it's parent.
    • UICheckBox

      public UICheckBox(Atom propertyAtom, GProp<?>[] newValue) throws PropException
      Creates the component with the specified name, initialized to contain the GProp items. All system-reserved names for components begins with "$".
      Parameters:
      propertyAtom - The name of the component, unique within it's parent.
      newValue - The array of all properties the component should have.
      Throws:
      PropException - when at least one of the properties to initialize the component with is invalid.
  • Method Details

    • clone

      public UICheckBox clone()
      Creates a clone out of this property. The cloning is overridden by the subclasses in order to handle cloning of its class variables appropriately.

      Cloning is used for "virtualization" of a property tree in the server. Client property classes will therefore throw CloneNotSupportedException.

      Once a tree has been cloned, the change-flag is reset, and the create-flag is set. All listeners are also removed! The new cloned property is an orphan, i.e. has no parent set. All children properties are also (deep) cloned.

      Note that the cloning process is done WITHOUT thread synchronization for performance reasons, thus no modifications should be done to the tree!

      Overrides:
      clone in class UIComp
    • getSelectionPropAtom

      public Atom getSelectionPropAtom()
      Returns the selection property atom for verification of selection changes.
      Specified by:
      getSelectionPropAtom in interface IUISelectionComp
      Returns:
      The atom of the selection property.
    • getSelectionListenerHandler

      public GenericListener<IUISelectionListener> getSelectionListenerHandler(boolean doCreate)
      Returns the generic selection listener.
      Specified by:
      getSelectionListenerHandler in interface IUISelectionComp
      Parameters:
      doCreate - Create the listener handler if it doesn't exist, false not to.
      Returns:
      The selection listener handler, or null if not created.
    • getDeviceType

      public final int getDeviceType()
      Gets the device type: -1=mobile, 0=both, 1=desktop.
      Specified by:
      getDeviceType in interface IUIComp
    • isMobileContextMenuSupported

      public boolean isMobileContextMenuSupported()
      Returns if the component can show the context menu in mobile mode.
      Specified by:
      isMobileContextMenuSupported in interface IUIContextMenuOwner
      Returns:
      Checkbox supports context menus for mobile.
    • canFillX

      public boolean canFillX()
      Returns if the component can fill in X or not.
      Overrides:
      canFillX in class UIComp
      Returns:
      Always false, a checkbox cannot be filled.
    • canFillY

      public boolean canFillY()
      Returns if the component can fill in Y or not.
      Overrides:
      canFillY in class UIComp
      Returns:
      Always false, a checkbox cannot be filled.
    • onValueChanged

      public void onValueChanged(VSField field, Value value, GProp<?> trigger, IPostEventProcessing postProcessing)
      Called when the field value is set.

      The check component overrides this method to set the check state in the component accordingly.

      Specified by:
      onValueChanged in interface IVSFieldListener
      Overrides:
      onValueChanged in class UIComp
      Parameters:
      field - The VS field.
      value - The value, never null, but value.isNull() could be true.
      trigger - The trigger property that may be null.
      postProcessing - Post-processing instance.
    • onSelectionChanged

      protected void onSelectionChanged(GEvent event)
      Method called when the selection of the component changed due to a property change (value changed, property added or removed).
      Overrides:
      onSelectionChanged in class UIComp
      Parameters:
      event - The event that causes the selection change.
    • setComponentCheckStateToVSField

      public static int setComponentCheckStateToVSField(UIComp comp, VSField field)
      Sets the checkbox component from its check state values to its VirtualSpace Field, if any.
      Parameters:
      comp - The component containing the PN_CHECKED_VALUE, PN_UNCHECKED_VALUE, PN_CHECK_NO_MATCH and PN_CHECKED properties.
      field - The VS field that will be updated.
      Returns:
      1 for update completed, 0 for nothing done and -1 for error occurred.
    • onValueChanged

      public static int onValueChanged(UIComp comp, VSField field)
      Called when the field value is set.

      The check component overrides this method to set the check state in the component accordingly.

      Parameters:
      comp - The component containing the PN_CHECKED_VALUE, PN_UNCHECKED_VALUE and PN_CHECK_NO_MATCH properties that will have its PN_CHECKED IntProp set.
      field - The VS field.
      Returns:
      The new check state (0=unchecked, 1=checked, 2=third state), -1 if not changed.
    • onPrepare

      protected void onPrepare(ClassReference cr, List<Throwable> errors)
      Called to resolve methods for the component from main "onPrepare" once the ClassReference has been found.

      Components should override this method to load it's required methods.

      Overrides:
      onPrepare in class UIComp
      Parameters:
      cr - The class reference with a valid reference.
      errors - The list of errors that is returned to the caller in case resolving fails.
    • getOnUISelectionMethod

      public Method getOnUISelectionMethod()
      Returns the method to use for onUISelection notifications that is attached to this selection component. The method name is not important, but must have the annotation and signature:

      @OnUISelection(name = "some/property")
      public void onUISelection(UISelectionEvent event)

      Specified by:
      getOnUISelectionMethod in interface IUISelectionComp
      Returns:
      The method, or null if none is registered.
    • getApproximateSize

      public Size getApproximateSize()
      Returns the size of the component in pixels. The size is a calculation and does not exactly reflect the real size that may be different due to additional styles not taken into account by this method. The size is calculated from the font of the component and default or defined values (such as character length or number of lines for text area).
      Specified by:
      getApproximateSize in class UIComp
      Returns:
      The size of the component: 16x16.