Package com.iizix.prop.ui
Class AbstractUIAction
- java.lang.Object
- com.iizix.prop.GProp<GProp<?>[]>
- com.iizix.prop.PropCnr
- com.iizix.prop.ui.UIComp
- com.iizix.prop.ui.AbstractUIAction
- All Implemented Interfaces:
IBackReferenceProvider
,EventListener
,ILockUI
,IMessageBox
,IUIPanelAnimation
,IComponent
,ICustomDataProvider
,IGProp<GProp<?>[]>
,IPropCnr
,IUIAction
,IUIActionHolder
,IUIComp
,IVSActionListener
,IVSComponentListener
,IVSComponentState
,IVSFieldListener
,java.lang.Cloneable
- Direct Known Subclasses:
MLItemProp
,UIButton
,UIImage
,UIMenuItem
public abstract class AbstractUIAction extends UIComp implements IUIAction, IVSActionListener, IUIActionHolder
Abstract UI Action component such as buttons or menu item that are connected to a VS Action.
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 Modifier and Type Field Description static Atom
VS_FOCUS_ATOM
Property atom for VS component to focus when action processing completes: "vsFocus".protected VSAction
vsAction
The connected action, null for none.protected VSAction
vsDisconnectedAction
The disconnected action, null for none.Fields inherited from class com.iizix.prop.ui.UIComp
EMPTY, REMOTE_FOCUS_EVENT, styles, vsField
Fields inherited from class com.iizix.prop.PropCnr
EMPTY_CLASSES, EMPTY_CNRS, EXTENDS_FRAMEWORK_ERROR_ID
Fields inherited from class com.iizix.prop.GProp
GPDEBUG, PROP_ATTR_STRING_EDITOR_PROP, PROP_ATTR_STRING_ERRORED_NAME, PROP_ATTR_STRING_EXTENDS, PROP_ATTR_STRING_EXTENDS_FINAL, PROP_ATTR_STRING_EXTENDS_PRIVATE, PROP_ATTR_STRING_NULLABLE, PROP_ATTR_STRING_PRIVATE, PROP_ATTR_STRING_PRIVATE_CHANGE_EVENT, PROP_ATTR_STRING_READ_ONLY, PROP_USER_1, PROP_USER_2
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
Constructor Summary
Constructors Constructor Description AbstractUIAction()
Creates the component without a name.AbstractUIAction(Atom propertyAtom)
Creates the component with the specified name.AbstractUIAction(Atom propertyAtom, GProp<?>[] newValue)
Creates the component with the specified name, initialized to contain theGProp
items.
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description AbstractUIAction
clone()
Overrides clone to clear VSAction reference.boolean
disconnectVSAction()
Disconnects from the VirtualSpace Action connection.VSComponent
getMappedVSComponent()
Gets the main component that is used to map the UI component to the VirtualSpace.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.boolean
isAnimationPropPrivate()
Returns if the animation property is private or not.java.lang.String
isBackReferenceValid(AnnotationType annotationType, java.lang.String name, boolean isRefOnly)
Validates if the back-reference specified is referenced in the first place, i.e.boolean
isVSActionDisconnected()
Checks if the connection state to the VirtualSpace Action is disconnected.void
onActionCompleted(VSAction action, VSActionTXProcess process, java.lang.Throwable exception)
Called after the action completes the TXP processing i.e.void
onActionInvoked(VSAction action, VSActionTXProcess process)
Called before the action invokes the Action Actors.void
onBroken(VSRelativeReference<?> reference, VSAction action)
Called when the property reference has been broken, i.e.protected void
onPrepare(ClassReference cr, java.util.List<java.lang.Throwable> errors)
Called to resolve methods for the component from main "onPrepare" once the ClassReference has been found.void
onRemoteEvent(RemoteEvent event)
Called when a remote property event should be processed by this property.void
onResolved(VSRelativeReference<?> reference, VSAction action)
Called when the property reference has been resolved.void
onStateChanged(VSAction action, IVSComponentState.State state, boolean on)
Called when the action changes state.protected void
processVSComponentSelection(VSComponent mappedComponent)
Override to process the VS components selection state when Atom.SELECTED BoolProp changes.boolean
reconnectVSAction(boolean update)
Reconnects to a previously disconnected VirtualSpace Action connection.boolean
setVSAction(VSAction action)
Sets the VSAction to invoke when action is clicked.boolean
setVSAction(java.lang.String vsActionReference)
Sets the VSAction reference to invoke when action is clicked.boolean
setVSFocusComponent(VSComponent component)
Sets the VS focus reference when action is clicked.boolean
setVSFocusComponent(java.lang.String vsFocusReference)
Sets the VS focus reference when action is clicked.Methods inherited from class com.iizix.prop.ui.UIComp
add, addMappings, assignFontInfoResolver, canAcceptUIContainerFocus, canAlignX, canAlignY, canFillX, canFillY, canRequestFocus, canRequestFocus, clearErrorMessage, couldRequestFocusIfVirtualized, createStyles, createTitleProp, disconnectVSField, enterVSProcessing, exitVSProcessing, fireSelection, fireSelection, forbiddenGetCustomDataMap, getApproximateSize, getBadge, getBestVSFieldValueType, getComponentID, getComponentMappings, getErrorMessage, getErrorMessage, getErrorMessageEx, getErrorMessageString, getErrorMessageString, getErrorMessageStringEx, getFirstContainerVSStateFocus, getFixHeight, getFixWidth, getFontInfo, getForcedAlignX, getForcedAlignY, getKStringText, getLayout, getLayoutMgr, getLayoutMgr, getMessage, getMessageText, getPixelHeight, getPixelWidth, getPredefinedProps, getSize, getStyles, getStyles, getText, getTitle, getTitleKS, getTitlePKS, getTooltip, getTooltipText, getTrigger, getUIPanel, getUIParent, getValue, getValue, getVirtualSpace, getVSField, getVSStateFocus, hasExplicitHeight, hasExplicitWidth, hasFocus, hasImplicitAlignFillX, hasImplicitAlignFillY, hasImplicitHeight, hasImplicitWidth, hasSelectionChanged, isEnabled, isMobile, isReadOnly, isRTL, isVisible, isVSFieldDisconnected, mustHaveExplicitHeight, mustHaveExplicitWidth, mustHaveHeight, mustHaveWidth, onBroken, onComponentSelectedInParent, onEventSelf, onFocusGained, onNotifySelectionChanged, onParentStateChanged, onPrepare, onPropDispose, onResolved, onSelectionChanged, onStateChanged, onValueChanged, onVirtualizationCompleted, reconnectVSField, requestFocus, requestFocus, requestFocus, requestFocus, requestFocusEx, requestFocusEx, requestFocusEx, requestFocusEx, resetComponentID, setBadge, setBadge, setComponentToVSField, setEnabled, setEnabled, setErrorMessage, setErrorMessage, setErrorMessage, setErrorMessage, setHTMLText, setLayoutMgr, setMessage, setMessage, setReadOnly, setReadOnly, setText, setText, setTitle, setTitle, setTitle, setTooltip, setTooltip, setUIContainerFocus, setVisible, setVisible, setVSFieldMessageToComponent, setVSFieldToComponent, verify, verifyComponentScope
Methods inherited from class com.iizix.prop.PropCnr
__transferChildProps, addPredefinedProps, addProp, addProp, addProp2, addProp2, appendPropValue, completeVirtualize, containsProp, containsProp, convertLoadedProp, createCopyOfAtom, createUniqueAtom, createUniqueAtom, createUniqueAtom, createVSReference, doPropEqualsArrayValues, doVirtualizePropCnr, enablePropCommunication, enablePropHashMap, equalsTree, equalsTree, getAllProps, getAllProps, getAllProps, getAllProps, getAllProps, getAllProps, getAllProps, getAllProps, getBool, getBool, getBool, getBool, getChildPropError, getChildPropError, getChildPropErrorSeverity, getChildPropErrorSeverity, getErrorsProp, getExtendsContainer, getExtendsError, getExtendsName, getExtendsOverride, 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, getPropBaseReference, getPropCnr, getPropCount, getPropCount, getPropIndex, getPropIndex, getPropIndexes, getProps, getProps, getPropValue, getPropValue, getPropValue, getPropValue, getPropValue, getPropValue, getPropValue, getPropValue0, getReferences, getRetargetedVerifyContainer, getString, getString, getString, getString, getValueClasses, getVSReference, hasSendData, initializeElement, initializeExtendsFramework, initializeProp, initializeValue, initPropCnr, insertProp, insertProp2, isChild, isExtendsOverriden, isExtendsPropertyValid, isExtendsRoot, isPropAddRemoveAllowed, isPropCommunicating, isPropExtended, isSibling, list, list, logPropNotFound, maybeAddProp, onInsertProp, onPropRemoved, onPropTreeInitialized, onReferenceEvent, paramString, prepare, removeAllProps, removeAllProps2, removeProp, removeProp, removeProp, removeProp, removeProp, removeProp, removeProp, removeProp2, removeProp2, removeProp2, removeProp2, removeProp2, removeProp2, removeProp2, reorderProps, replaceProps, requestFocus, requestFocusEx, resolveReferences, resolveRuntimeReferences, setBool, setBool, setBool, setBool, setCreateRequiredProp, 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, shouldCreateProps, shouldSerializeToXML, toElementString, toNativeValue0, usePropHashMap, usesPropIndex, validateChildPropInValue, validateClassInstances, validatePropType, validatePropValue, verifyInternalUseOnly, verifyTree, virtualize
Methods inherited from class com.iizix.prop.GProp
addPropError, addPropListener, convertPropError, dispose, equals, equals, equalsErrors, equalsObj, equalsPropValue, equalValues, extendsClone, finalize, fine, fine, finer, finer, finest, finest, fromElementString, getAliasName, getAppSessionGyro, getAppWorker, getAtomPath, getAttribute, getChildReferencePropName, getClientSessionGyro, getClientWorker, getConstraints, getEnvironment, getErroredPropItems, getErroredProps, getErrorsProp, getExtendsRootContainer, getFullPropName, getFullPropName, getFullPropNameDebug, getFullPropNameDebug, getListeners, getModuleFolder, getModuleFolder, getParent, getParent, getProjectName, getPropAtom, getPropError, getPropError, getPropErroredName, getPropErrorSeverity, getPropExtendsFlags, getPropFromPath, getPropFromPath, getPropFromReference, getPropFromReference, getPropIndex, getPropName, getPropPath, getPropPath, getPropReferenceTarget, getPropRootPropMgr, getPropTreeErrorSeverity, getPropValue, getPropValue, getPropValueObject, getReferencePropName, getRelativePropName, getRootFromName, getRootName, getRootParent, getRootParent, getTreeLock, hasChanged, hasPrivateChangeEventProp, hasPropError, hasPropTreeError, info, info, initializeGElement, initializeGProp, isDisposed, isPropChildOf, isPropClientCreated, isPropCreateRequired, isPropExtended, isPropExtendsFinal, isPropExtendsPrivate, isPropExtendsPrivateInRoot, isPropExtendsPrivateInRoot, isPropFile, isPropFolder, isPropForEditor, isPropNullable, isPropPrivate, isPropPrivateAtCreation, isPropReadOnly, isPropReferenceTreeValid, isPropRoot, isPropUSER, isPropValueTreeLockNeeded, isPropVirtualized, isPropVirtualizing, isPropVolatile, isPropVolatileOrEditorOnly, isProxied, list, list, list, mapAliasToReference, mapAliasToReference, mapReferenceToAlias, mapReferenceToAlias, mapReferenceToProjectRelative, modifyPropValue, moveProp, moveProp, moveProp, onEvent, onPropInvalidateCache, onPropParentChanged, onPropValueSet, onVirtualized, paramValue, post, post, removePropError, removePropListener, removePropUSER, renameProp, renameProp2, resetChangedTree, setChanged, setConstraints, setConstraints, setParent, setPrivateChangeEventProp, setPrivateCreateRequiredProp, setPropError, setPropErroredName, setPropExtended, setPropExtendsFinal, setPropExtendsPrivate, setPropForEditor, setPropNullable, setPropPrivate, setPropReadOnly, setPropUSER, setPropValue, setPropValue, setPropValue, setPropValueIncognito, setPropVolatile, severe, severe, severe, shouldSerializeToXML, throwIfReadOnly, toNativeValue, toString, toString, triggerRemoteEvent, triggerRemoteEvent, validateProp, verifyHasPropertyItem, warning, warning, warning
Methods inherited from class java.lang.Object
getClass, hashCode, notify, notifyAll, wait, wait, wait
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, 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.IUIAction
enterVSProcessing, exitVSProcessing, invoke, invoke, invoke, invokeOnUIActionMethod, isSelected, onVSStateChanged, setSelected, setVSActionMessageToComponent, setVSActionToComponent, setVSFocus
Methods inherited from interface com.iizix.prop.ui.IUIActionHolder
getBaseJavaReference
Methods inherited from interface com.iizix.prop.ui.IUIComp
canAcceptUIContainerFocus, disconnectVSField, getComponentID, getComponentMappings, 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, 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
Field Detail
VS_FOCUS_ATOM
public static final Atom VS_FOCUS_ATOM
Property atom for VS component to focus when action processing completes: "vsFocus".
vsAction
protected VSAction vsAction
The connected action, null for none.Note: use thread-safe code when working with this variable as it can become unresolved, thus
null
.
vsDisconnectedAction
protected VSAction vsDisconnectedAction
The disconnected action, null for none.
Constructor Detail
AbstractUIAction
public AbstractUIAction()
Creates the component without a name. The name must be set in all cases using thesetPropertyAtom
call.
AbstractUIAction
public AbstractUIAction(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.
AbstractUIAction
public AbstractUIAction(Atom propertyAtom, GProp<?>[] newValue) throws PropException
Creates the component with the specified name, initialized to contain theGProp
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 label component with is invalid.
Method Detail
clone
public AbstractUIAction clone()
Overrides clone to clear VSAction reference.
isAnimationPropPrivate
public final boolean isAnimationPropPrivate()
Returns if the animation property is private or not.- Specified by:
isAnimationPropPrivate
in interfaceIUIPanelAnimation
- Returns:
- true for actions.
getVSAction
public VSAction getVSAction()
Gets the connected or disconnected VirtualSpace Action.- Specified by:
getVSAction
in interfaceIUIAction
- Returns:
- The action, or null if no action resolved (connected or disconnected) is present.
isVSActionDisconnected
public boolean isVSActionDisconnected()
Checks if the connection state to the VirtualSpace Action is disconnected.- Returns:
- true if currently disconnected.
disconnectVSAction
public boolean disconnectVSAction()
Disconnects from the VirtualSpace Action connection.- Returns:
- true for success, false if already done or none is connected.
reconnectVSAction
public boolean reconnectVSAction(boolean update)
Reconnects to a previously disconnected VirtualSpace Action connection.The method
IUIAction.setVSActionToComponent(VSAction)
is called if there was a disconnected action set.- Parameters:
update
- Update flag, i.e. if all states and message should be updated to match the action.- Returns:
- true for success, false if not disconnected.
onResolved
public void onResolved(VSRelativeReference<?> reference, VSAction action)
Called when the property reference has been resolved. UI components use this method to set its state according to the action, this is handled in by theUIComp
class.Components must override to provide the implementation for e.g. value contents, styles, etc.
- Specified by:
onResolved
in interfaceIVSActionListener
- Parameters:
reference
- The VSRelativeReference instance holding the reference.action
- The target reference.
onStateChanged
public void onStateChanged(VSAction action, IVSComponentState.State state, boolean on)
Called when the action changes state.- Specified by:
onStateChanged
in interfaceIVSActionListener
- Parameters:
action
- The VS action.state
- The state change.on
- New state.
onBroken
public void onBroken(VSRelativeReference<?> reference, VSAction action)
Called when the property reference has been broken, i.e. unresolved.- Specified by:
onBroken
in interfaceIVSActionListener
- Parameters:
reference
- The VSRelativeReference instance holding the reference.action
- The target reference.
onActionInvoked
public void onActionInvoked(VSAction action, VSActionTXProcess process)
Called before the action invokes the Action Actors.- Specified by:
onActionInvoked
in interfaceIVSActionListener
- Parameters:
action
- The VS action.process
- The initialized process.
onActionCompleted
public void onActionCompleted(VSAction action, VSActionTXProcess process, java.lang.Throwable exception)
Called after the action completes the TXP processing i.e. all its Action Actor calls. This method is called regardless of success or failures. It can be used to check the state of the process.- Specified by:
onActionCompleted
in interfaceIVSActionListener
- Parameters:
action
- The VS action.process
- The completed process.exception
- Potential exception in TX process, null for none.
onRemoteEvent
public void onRemoteEvent(RemoteEvent event)
Called when a remote property event should be processed by this property.- Specified by:
onRemoteEvent
in interfaceIGProp<GProp<?>[]>
- Overrides:
onRemoteEvent
in classUIComp
- Parameters:
event
- The remote event.
getMappedVSComponent
public VSComponent getMappedVSComponent()
Gets the main component that is used to map the UI component to the VirtualSpace.- Overrides:
getMappedVSComponent
in classUIComp
- Returns:
- The VS component, or null for none. Default is to return the VSField of UIComp. Override e.g. for actions.
processVSComponentSelection
protected void processVSComponentSelection(VSComponent mappedComponent)
Override to process the VS components selection state when Atom.SELECTED BoolProp changes. Nothing is done by default and must be overridden to process selections by each component.Typically, call
mappedComponent.setSelected(isSelected(),this);
- Overrides:
processVSComponentSelection
in classUIComp
- Parameters:
mappedComponent
- The matching mapped component.
getVSFocusComponent
public VSComponent getVSFocusComponent()
Gets the VS component to focus when action is triggered.- Specified by:
getVSFocusComponent
in interfaceIUIAction
- Returns:
- The VS component, or null for none.
isBackReferenceValid
public java.lang.String isBackReferenceValid(AnnotationType annotationType, java.lang.String name, boolean isRefOnly)
Validates if the back-reference specified is referenced in the first place, i.e. is valid or not.- Specified by:
isBackReferenceValid
in interfaceIBackReferenceProvider
- Parameters:
annotationType
- The annotation type.name
- The class or method name.isRefOnly
- Flag indicating the back reference is not required, but must be valid otherwise.- Returns:
- null for valid, otherwise an error message.
onPrepare
protected void onPrepare(ClassReference cr, java.util.List<java.lang.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.
getOnUIActionMethod
public 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.- Specified by:
getOnUIActionMethod
in interfaceIUIAction
- Specified by:
getOnUIActionMethod
in interfaceIUIActionHolder
- Returns:
- The method for OnUIAction event, null for none.
setVSFocusComponent
public boolean setVSFocusComponent(VSComponent component)
Sets the VS focus reference when action is clicked.- Parameters:
component
- The component to focus reference.- Returns:
- true for changed, false for no change.
setVSFocusComponent
public boolean setVSFocusComponent(java.lang.String vsFocusReference)
Sets the VS focus reference when action is clicked.- Parameters:
vsFocusReference
- The component to focus reference.Note: focusReference must be to a VSComponent, otherwise it will fail.
- Returns:
- true for changed, false for no change.
setVSAction
public boolean setVSAction(VSAction action)
Sets the VSAction to invoke when action is clicked.- Parameters:
action
- The VSAction to invoke when placed in focus.- Returns:
- true for changed, false for no change.
setVSAction
public boolean setVSAction(java.lang.String vsActionReference)
Sets the VSAction reference to invoke when action is clicked.- Parameters:
vsActionReference
- The VSAction to invoke when placed in focus.Note: actionReference must be to a VSComponent, otherwise it will fail.
- Returns:
- true for changed, false for no change.