Interface IUIAction
- All Superinterfaces:
IComponent
,ICustomDataProvider
,IGProp<GProp<?>[]>
,ILockUI
,IMessageBox
,IPropCnr
,IUIComp
,IUIPanelAnimation
,IVSComponentListener
,IVSComponentState
,IVSFieldListener
- All Known Implementing Classes:
AbstractUIAction
,EMLItemProp
,EUIButton
,EUIImage
,EUIMenuItem
,MLItemProp
,UIButton
,UIImage
,UIMenuItem
public interface IUIAction extends IUIComp, IUIPanelAnimation, ILockUI
Interface implemented by action items.- Author:
- Christopher Mindus
Nested Class Summary
Nested classes/interfaces inherited from interface com.iizix.gyro.IMessageBox
IMessageBox.Icon
Nested classes/interfaces inherited from interface com.iizix.gyro.IUIPanelAnimation
IUIPanelAnimation.Direction, IUIPanelAnimation.Speed, IUIPanelAnimation.Type
Nested classes/interfaces inherited from interface com.iizix.prop.vs.IVSComponentState
IVSComponentState.State
Field Summary
Fields inherited from interface com.iizix.prop.IGProp
EQC_ERROR_IGNORE_ALL, EQC_ERROR_IGNORE_REFERENCES, EQC_IGNORE_ARRAY, EQC_IGNORE_VOLATILE_OR_EDITOR, EQC_PRIVATE, EQC_SAVE_FILE, EXT_CONTAINER_EXTENDS, EXT_CONTAINER_EXTENDS_VALID, EXT_EXTENDED, EXT_FINAL, EXT_OVERRIDES, EXT_OVERRIDES_FINAL_ERR, EXT_PRIVATE
Fields inherited from interface com.iizix.gyro.IMessageBox
ICON_ERROR, ICON_INFORMATION, ICON_MAP, ICON_NONE, ICON_QUESTION, ICON_WARNING
Fields inherited from interface com.iizix.prop.ui.IUIComp
ERROR, INFORMATION, NONE, REMOTE_FOCUS_EVENT, WARNING
Fields inherited from interface com.iizix.gyro.IUIPanelAnimation
ANIMATION_DEFAULT, ANIMATION_FADE_FAST, ANIMATION_FADE_NORMAL, ANIMATION_FADE_SLOW, ANIMATION_FADE_SLOWER, ANIMATION_FADE_SLOWEST, ANIMATION_NO_CSS3_FLAG, ANIMATION_NO_SCROLL_FLAG, ANIMATION_NONE, ANIMATION_PROP_NAME, ANIMATION_SPEED_FAST, ANIMATION_SPEED_NORMAL, ANIMATION_SPEED_SLOW, ANIMATION_SPEED_SLOWER, ANIMATION_SPEED_SLOWEST, ANIMATION_TYPE_COVER, ANIMATION_TYPE_FADE, ANIMATION_TYPE_NONE, ANIMATION_TYPE_REVEAL, ANIMATION_TYPE_SLIDE
Method Summary
All Methods Instance Methods Abstract Methods Default Methods Modifier and Type Method Description boolean
enterVSProcessing(VSComponent component)
Call this method when the VSField or the text will update each other, in order to avoid recursion in event processing.void
exitVSProcessing()
Call this routine to exit VSField processing routine that was entered usingenterVSProcessing(VSComponent)
.java.lang.reflect.Method
getOnUIActionMethod()
Gets the method for the OnUIAction event at runtime.VSAction
getVSAction()
Gets the connected or disconnected VirtualSpace Action.VSComponent
getVSFocusComponent()
Gets the VS component to focus when action is triggered.default boolean
invoke()
Invokes the action.default boolean
invoke(boolean isRemote, boolean doRequestFocus, UIComp focusComponent)
Invokes the action.default boolean
invoke(boolean isRemote, boolean doRequestFocus, UIComp focusComponent, boolean fromContextMenu, UIComp contextComponent)
Invokes the action.default void
invokeOnUIActionMethod(GProp<?> trigger, UIComp contextComponent)
Invoke the action event method.default boolean
isSelected()
Returns the selected state of the action.default void
onVSStateChanged(VSAction action, IVSComponentState.State state, boolean on)
Called when the action changes state.default boolean
setSelected(boolean on)
Sets the selected state of the action.default boolean
setVSActionMessageToComponent(VSAction action, boolean clear)
Sets the VirtualSpace Action's message to this component.default void
setVSActionToComponent(VSAction action)
Method called when a VirtualSpace action is resolved or when reconnection is done.default void
setVSFocus(IAppSessionGyro appGyro)
Called to focus the VS component if defined.Methods inherited from interface com.iizix.IComponent
clearErrorMessage, getBadge, getKStringText, getLayoutMgr, getMessage, getMessageText, getStyles, getText, getTooltip, getTooltipText, getUIPanel, getUIParent, isEnabled, isReadOnly, isVisible, messageBox, requestFocus, requestFocus, requestFocusEx, requestFocusEx, setBadge, setBadge, setEnabled, setErrorMessage, setErrorMessage, setHTMLText, setLayoutMgr, setMessage, setMessage, setReadOnly, setText, setText, setTooltip, setTooltip, setVisible
Methods inherited from interface com.iizix.prop.ICustomDataProvider
forbiddenGetCustomDataMap, getCustomData, putCustomData, putCustomDataIfAbsent
Methods inherited from interface com.iizix.prop.IGProp
addPropError, addPropListener, dispose, equals, fine, fine, finer, finer, finest, finest, fromElementString, getAppSessionGyro, getAtomPath, getClientSessionGyro, getConstraints, getEnvironment, getErroredPropItems, getErroredProps, getErrorsProp, getExtendsRootContainer, getFullPropName, getFullPropNameDebug, getModuleFolder, getModuleFolder, getParent, getParent, getPropAtom, getPropBaseReference, getPropError, getPropError, getPropErrorSeverity, getPropExtendsFlags, getPropFromPath, getPropFromReference, getPropIndex, getPropName, getPropPath, getPropPath, getPropRootPropMgr, getPropTreeErrorSeverity, getPropValue, getPropValue, getReferencePropName, getReferences, getRelativePropName, getRootParent, getTreeLock, getValueClasses, getVSReference, hasChanged, hasPrivateChangeEventProp, hasPropError, hasPropTreeError, info, info, initializeGElement, initializeGProp, isDisposed, isPropChildOf, isPropClientCreated, isPropCommunicating, isPropCreateRequired, isPropExtended, isPropExtendsFinal, isPropExtendsPrivate, isPropExtendsPrivateInRoot, isPropExtendsPrivateInRoot, isPropFile, isPropFolder, isPropNullable, isPropPrivate, isPropReadOnly, isPropReferenceTreeValid, isPropRoot, isPropVirtualized, list, list, list, list, list, mapAliasToReference, mapReferenceToAlias, mapReferenceToProjectRelative, moveProp, moveProp, moveProp, onEvent, onEventSelf, onPropTreeInitialized, onRemoteEvent, removePropError, removePropListener, renameProp, resolveRuntimeReferences, setChanged, setConstraints, setConstraints, setParent, setPrivateChangeEventProp, setPropError, setPropExtendsFinal, setPropExtendsPrivate, setPropNullable, setPropPrivate, setPropReadOnly, setPropValue, setPropValue, severe, severe, severe, toElementString, toNativeValue, triggerRemoteEvent, triggerRemoteEvent, validateProp, validatePropType, validatePropValue, verify, verifyHasPropertyItem, warning, warning, warning
Methods inherited from interface com.iizix.gyro.ILockUI
getProgressIndicatorDelay, getProgressIndicatorDelay, getWaitMessage, getWaitMessage, isLockUIEnabled, isLockUIEnabled, setLockUIEnabled, setProgressIndicatorDelay, setWaitMessage
Methods inherited from interface com.iizix.gyro.IMessageBox
messageBox, messageBox
Methods inherited from interface com.iizix.prop.IPropCnr
addProp, addProp, addProp2, addProp2, canRequestFocus, canRequestFocus, canRequestFocus, containsProp, containsProp, couldRequestFocusIfVirtualized, couldRequestFocusIfVirtualized, couldRequestFocusIfVirtualized, createCopyOfAtom, createUniqueAtom, createUniqueAtom, enablePropCommunication, enablePropHashMap, getAllProps, getAllProps, getAllProps, getAllProps, getAllProps, getAllProps, getAllProps, getAllProps, getBool, getBool, getBool, getBool, getChildPropError, getChildPropError, getChildPropErrorSeverity, getChildPropErrorSeverity, getErrorsProp, getExtendsError, getExtendsName, getExtendsPossibleClasses, getFirstProp, getFirstProp, getFocusEngine, getInt, getInt, getInt, getInt, getLong, getLong, getLong, getLong, getNumber, getNumber, getNumber, getNumber, getPossibleChildren, getProp, getProp, getProp, getProp, getProp, getProp, getProp, getProp, getProp, getProp, getProp, getPropCnr, getPropCount, getPropIndex, getPropIndex, getPropIndexes, getProps, getProps, getPropValue, getPropValue, getPropValue, getPropValue, getPropValue, getPropValue, getPropValue, getString, getString, getString, getString, hasFocus, initializeExtendsFramework, insertProp, insertProp2, isChild, isExtendsOverriden, isExtendsRoot, isPropAddRemoveAllowed, isPropExtended, isSibling, removeAllProps, removeAllProps2, removeProp, removeProp, removeProp, removeProp, removeProp, removeProp, removeProp, removeProp2, removeProp2, removeProp2, removeProp2, removeProp2, removeProp2, removeProp2, reorderProps, requestFocus, requestFocusEx, setBool, setBool, setBool, setBool, setExtendsName, setExtendsOverride, setInt, setInt, setInt, setLong, setLong, setLong, setLong, setNumber, setNumber, setNumber, setNumber, setProp, setProp, setProp, setProp2, setProp2, setPropValue, setPropValue, setPropValue, setPropValue, setPropValue, setPropValue, setString, setString, setString, setString, usePropHashMap, usesPropIndex, validateClassInstances
Methods inherited from interface com.iizix.prop.ui.IUIComp
canAcceptUIContainerFocus, disconnectVSField, getComponentID, getComponentMappings, getContainerFirstUIComponent, getContainerFirstUIComponentNull, getDeviceType, getErrorMessage, getErrorMessage, getFirstUIComponent, getFirstUIComponentNull, getFixHeight, getFixWidth, getLayout, getLayoutMgr, getPanelUIComponent, getPanelUIComponentNull, getUIRef, getValue, getValue, getVirtualSpace, getVSField, isMobile, isRTL, isVSFieldDisconnected, reconnectVSField, setComponentToVSField, setErrorMessage, setErrorMessage, setUIContainerFocus, setVSFieldMessageToComponent, setVSFieldToComponent
Methods inherited from interface com.iizix.gyro.IUIPanelAnimation
getAnimation, getAnimation, getAnimationDescription, getAnimationDirection, getAnimationSpeed, getAnimationType, isAnimationPropPrivate, setAnimation, setAnimation
Methods inherited from interface com.iizix.prop.vs.IVSComponentListener
onParentStateChanged
Methods inherited from interface com.iizix.prop.vs.IVSFieldListener
getBestVSFieldValueType, onBroken, onResolved, onStateChanged, onValueChanged
Method Detail
getOnUIActionMethod
java.lang.reflect.Method getOnUIActionMethod()
Gets the method for the OnUIAction event at runtime. The method can be stored in another instance, e.g. a group holding multiple action items.- Returns:
- The method for OnUIAction event, null for none.
setSelected
default boolean setSelected(boolean on)
Sets the selected state of the action. This state is used e.g. for an action to change the image depending on the state. This state is a programmatic state that is also connected to the VirtualSpace action, i.e. the initial state of the component is set according to the VSAction, and if the select state of the VSAction changes, the UI action will follow the same state.Note 1: this state is a programmatic state and does not affect the component apart of e.g. displaying a different image depending on the state (and this is supported in the image definition).
Note 2: Changing the select state in the UI action does NOT affect the VSAction.
- Parameters:
on
- The select state.- Returns:
- true for state changed, false for no change.
isSelected
default boolean isSelected()
Returns the selected state of the action. This state is used e.g. for a plain button to change the image depending on the state.Note: this state is a programmatic state and does not affect the component apart of e.g. displaying a different image depending on the state (and this is supported in the image definition).
- Returns:
- true if action is selected, false otherwise.
getVSAction
VSAction getVSAction()
Gets the connected or disconnected VirtualSpace Action.- Returns:
- The action, or null if no action resolved (connected or disconnected) is present.
getVSFocusComponent
VSComponent getVSFocusComponent()
Gets the VS component to focus when action is triggered.- Returns:
- The VS component, or null for none.
onVSStateChanged
default void onVSStateChanged(VSAction action, IVSComponentState.State state, boolean on)
Called when the action changes state.- Parameters:
action
- The VS action.state
- The state change.on
- New state.
setVSActionToComponent
default void setVSActionToComponent(VSAction action)
Method called when a VirtualSpace action is resolved or when reconnection is done. Override to provide additional processing.By default the following is done:
- all states (enabled, read-only and visible),
- progress delay, and
- and message
- Parameters:
action
- The VS action.
setVSActionMessageToComponent
default boolean setVSActionMessageToComponent(VSAction action, boolean clear)
Sets the VirtualSpace Action's message to this component.- Parameters:
action
- The VS action.clear
- Flag to clear the component message if the action hasn't got a message.- Returns:
- true if changed, false for no change.
enterVSProcessing
boolean enterVSProcessing(VSComponent component)
Call this method when the VSField or the text will update each other, in order to avoid recursion in event processing.Programming note: it is IMPERATIVE that the
exitVSProcessing()
is called after any kind of call to this routine: surround e.g. with "try-finally" block. If this method returnsfalse
theexitVSProcessing()
should not be called.- Parameters:
component
- The VS component.- Returns:
- true if OK to process, false otherwise.
exitVSProcessing
void exitVSProcessing()
Call this routine to exit VSField processing routine that was entered usingenterVSProcessing(VSComponent)
.- Throws:
java.lang.InternalError
- If theenterVSProcessing(VSComponent)
wasn't called.
invokeOnUIActionMethod
default void invokeOnUIActionMethod(GProp<?> trigger, UIComp contextComponent)
Invoke the action event method.- Parameters:
trigger
- The trigger property.contextComponent
- The context component, null for none.
invoke
default boolean invoke()
Invokes the action. If enabled and not read-only, the action performs the following steps:- Locks the UI (if remote it has already been locked on the client),
- Clears its message (if any),
- Invokes a potential onVSAction class,
- Invokes the connected VSAction if any,
- Unlocks the UI if not in a processing lock state.
A warning message is logged if the action is disabled or read-only.
- Returns:
- true for success, false otherwise.
invoke
default boolean invoke(boolean isRemote, boolean doRequestFocus, UIComp focusComponent)
Invokes the action. If enabled and not read-only, the action performs the following steps:- Locks the UI (if remote it has already been locked on the client),
- Clears its message (if any),
- Invokes the connected VSAction,
- Unlocks the UI if not in a processing lock state.
A warning message is logged if the action is disabled or read-only.
- Parameters:
isRemote
- Flag indicating the action is invoked remotely from the Client.doRequestFocus
- Flag to request focus.focusComponent
- Component to focus, when action is a menu item in a context menu, null otherwise.- Returns:
- true for success, false otherwise.
invoke
default boolean invoke(boolean isRemote, boolean doRequestFocus, UIComp focusComponent, boolean fromContextMenu, UIComp contextComponent)
Invokes the action. If enabled and not read-only, the action performs the following steps:- Locks the UI (if remote it has already been locked on the client),
- Clears its message (if any),
- Invokes the connected VSAction,
- Unlocks the UI if not in a processing lock state.
A warning message is logged if the action is disabled or read-only.
- Parameters:
isRemote
- Flag indicating the action is invoked remotely from the Client.doRequestFocus
- Flag to request focus.focusComponent
- Component to focus, when action is a menu item in a context menu, null otherwise.fromContextMenu
- Flag indicating this action is invoked from the context menu and the trigger of the action should be the "focusComponent" if non-null.contextComponent
- The context component causing the event, used for context menus.- Returns:
- true for success, false otherwise.
setVSFocus
default void setVSFocus(IAppSessionGyro appGyro)
Called to focus the VS component if defined.