Class UIPanelBase
- java.lang.Object
- com.iizix.prop.GProp<GProp<?>[]>
- com.iizix.prop.PropCnr
- com.iizix.prop.ui.UIComp
- com.iizix.prop.ui.UIContainer
- com.iizix.prop.ui.UIPanelBase
- All Implemented Interfaces:
EventListener,IFocusComp,IMessageBox,IUIPanelAnimation,IComponent,IClassReferenceOwner,ICustomDataProvider,IGProp<GProp<?>[]>,IPropCnr,IReferrerParticipant,ISelectorOwner,IUIClassReferenceOwner,IUIComp,IUIContainer,IUIContextMenuOwner,IUIFocusComp,IUIGroupSeparator,IUIPanelOwner,IVSAccessor,IVSComponentListener,IVSComponentState,IVSFieldListener,IVSGenericComponentListener,IVSParticipant,java.lang.Cloneable
- Direct Known Subclasses:
MUISimpleDialog,UIDialog,UIPanel,UIPanelPart
public class UIPanelBase extends UIContainer implements IUIPanelOwner, IUIGroupSeparator, ISelectorOwner, IUIClassReferenceOwner, IUIPanelAnimation
Base panel UI container. This panel can be used directly by a UIPanel instance, or as a UIPanelContainer in another panel.- 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 Modifier and Type Field Description static UIPanelBase[]EMPTY_ARRAYAn empty panel array.static intPP_ADD_PANELHow to process pop-up panels when this panel is virtualized: 3 = add this pop-up panel.static intPP_REPLACE_ALLHow to process pop-up panels when this panel is virtualized: 0 = replace all panels with this one.static intPP_REPLACE_ALL_POPUPSHow to process pop-up panels when this panel is virtualized: 1 = replace all pop-up panels with this one.static intPP_REPLACE_LAST_POPUPHow to process pop-up panels when this panel is virtualized: 2 = replace last pop-up panel (if any).static intREMOTE_REMOVE_EVENTRemote event for panel removal.static java.lang.StringVS_BACK_PROP_NAMEThe property name of the VS Back action: "vsBack".Fields inherited from class com.iizix.prop.ui.UIContainer
UICOMP_CLASS, VS_STATE_FOCUS_PROP_NAME
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 UIPanelBase()Creates the container without name with a null value.UIPanelBase(Atom propertyAtom)Creates the container with the specified name with a null value.
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description UIPanelBaseclone()Creates a clone out of this property.protected PanelDatacreateLayout()Create the layout property.VSParticipantcreateVSReference(Atom refAtom, PropCnr[] returnParent)Creates a VSReference instance from the container or any parent containers.protected voiddoVirtualizePropCnr(IAppSessionGyro appGyro, IClientSessionGyro clientGyro, GProp<?>[] props, java.lang.String extendsName, VirtualSpace virtualSpace, PropCnr virtualizedProp, PropCnr clonedProp)The rest of the virtualization is done using the correct "this" for inner classes.IAppSessionGyrogetAppSessionGyro()Returns the Application Session Gyro instance of this virtualized property.ClassReferencegetClassReference(java.lang.String id, boolean doCreateIfNotPresent)Gets or creates the ClassReference in the property container.AtomgetClassReferenceAtom(java.lang.String id)Gets the ClassReference atom name.java.lang.StringgetClassReferenceImplementsInterface(java.lang.String id)Returns the required Interface.java.lang.StringgetClassReferenceRequiredAnnotation(java.lang.String id)Returns the required annotation, or null for none.IClientSessionGyrogetClientSessionGyro()Returns the Client Session Gyro instance of this virtualized property.TextTablegetDefaultTextTable()Gets the default text table of the panel.intgetDeviceType()Gets the device type: -1=mobile, 0=both, 1=desktop.intgetGroupID(GroupNameProp groupName)Gets the unique ID for a group name.PanelDatagetLayout()Gets the layout properties of this component.UIPanelBasegetNonVirtualized()Gets the non-virtualized instance of this panel.intgetOnCreateExistingPanelProcessing()Returns how to process pop-up panels when this panel is virtualized.VSMappingsgetPanelMappings()Gets the panels components that refer to the VirtualSpace in question, and their mappings to the VSComponent's.UIPanelBasegetPanelOwner()Gets the panel owner.java.lang.StringgetParticipantDescription()Returns the given description of the referrer participant.java.lang.StringgetParticipantType()Returns the given type of the referrer participant.voidgetPredefinedProps()Gets potential references to predefined properties for this container.PropCnrgetPropBaseReference()The panel is the base component base reference.GThemesgetThemes()Gets the configured themes for the panel.VirtualSpacegetVirtualSpace()Gets the VirtualSpace for this panel.VSParticipantgetVSParticipant()Gets the VSParticipant instance.VSParticipantgetVSReference(Atom refAtom)Gets a VSReference instance from the container or any parent containers.booleanhasBeenRemoved()Returns if this panel is being replaced by another, but has not had the time to be removed from the client yet.protected voidinvokeOnUIBackMethod()Invoke the back event method of the panel.voidinvokeOnUIConnectMethod(IClientSessionGyro clientGyro)Invoke the create event methods of the component and the panel.protected voidinvokeOnUICreateMethod(UIComp component)Invoke the create event methods of the component and the panel.protected voidinvokeOnUIDestroyMethod(UIComp component)Invoke the create event methods of the component and the panel.protected voidinvokeOnUIFocusMethod(boolean isFocusGained, UIComp component, UIComp opposite, IGProp<?> trigger)Invoke the focus event methods of the component and the panel.voidinvokeOnUISelectionMethod(IUISelectionComp source, GProp<?> trigger, IUISelection selection)Invoke the focus event method.voidinvokeOnUITextChangeMethod(UIComp component, GProp<?> trigger)Invoke the onUITextChange event methods of the component and the panel.voidinvokeOnUIValueChangeMethod(UIComp component, GProp<?> trigger)Invoke the onUIValueChange event methods of the component and the panel.booleanisAnimationPropPrivate()Returns if the animation property is private or not.booleanisClassReferenceAnnotationBackReferenceRequired(java.lang.String id)Checks if the ClassReference require an annotation back-reference.booleanisDesktopType()Checks if this panel is of desktop type.booleanisDeviceTypeMatching(int deviceType)Returns if the device type is compatible with this panel.booleanisMobileType()Checks if this panel is of mobile type.booleanisParticipating(EnvProps envProps)Checks if this panel is participating in the VirtualSpace, i.e.booleanisPopupPanel()Returns if this is a pop-up panel placed on top of main panels.booleanisPrimaryParticipant()Checks if this panel is primary or not.voidonEventSelf(GEvent event)Invalidates cached mappings.protected voidonPrepare(IAppOwner appOwner, IModuleOwner moduleOwner, boolean isPostCall, java.util.List<java.lang.Throwable> errors)Called when the application is being prepared.protected voidonPropDispose()Called when a property is disposed of by delete/remove in a container, or by the dispose method.voidonRemoteEvent(RemoteEvent event)Called when a remote property event should be processed by this property.voidonVirtualSpaceVirtualized(IAppSessionGyro appGyro, VirtualSpace virtualizedVirtualSpace)Called when the VirtualSpace has been virtualized, giving the opportunity for e.g.booleanrequestRemove()Requests the removal of the panel with the specified animation.booleansetDefaultTextTable(java.lang.String ref)Sets the default text table to use for the panel.booleansetPanelType(IComplexOperation op, int type)Sets the panel type, i.e.protected booleanshouldCreateProps(org.w3c.dom.Element element)Checks if a child Element should be created as properties or if it should be skipped.booleanverify(PropVerification verification)Verifies this property container.UIPanelBasevirtualize(IAppSessionGyro appGyro, IClientSessionGyro clientGyro, VirtualSpace virtualSpace)Call this method to "virtualize" a property tree.protected GProp<?>virtualize(IAppSessionGyro appGyro, IClientSessionGyro clientGyro, VirtualSpace virtualSpace, PropCnr virtualizedProp)Call this method to "virtualize" a property tree.Methods inherited from class com.iizix.prop.ui.UIContainer
addPredefinedProps, addPredefinedPropsImpl, canAcceptUIContainerFocus, createCompsCnr, getApproximateSize, getComponentCount, getComponents, getCompsCnr, getFirstContainerVSStateFocus, getFirstUIComponent, getFirstUIComponentNull, getRadioSelectionComponents, getSelectedRadioComponent, getUIComponent, getUIComponentNull, getVSStateFocus, hasImplicitAlignFillX, hasImplicitAlignFillY, isEmptyContainerAllowed, isMobileContextMenuSupported, mustHaveHeight, mustHaveWidth, onBroken, onComponentSelectedInParent, onResolved, onSelectionChanged, onSelectionChanged, onStateChanged, onVSComponentSelectionChanged, resetComponentID, setRadioSelectionComponent, setUIContainerFocus, updateUICompsReference, verifyComponentScope
Methods inherited from class com.iizix.prop.ui.UIComp
add, addMappings, assignFontInfoResolver, canAlignX, canAlignY, canFillX, canFillY, canRequestFocus, canRequestFocus, clearErrorMessage, couldRequestFocusIfVirtualized, createStyles, createTitleProp, disconnectVSField, enterVSProcessing, exitVSProcessing, fireSelection, fireSelection, forbiddenGetCustomDataMap, getBadge, getBestVSFieldValueType, getComponentID, getComponentMappings, getErrorMessage, getErrorMessage, getErrorMessageEx, getErrorMessageString, getErrorMessageString, getErrorMessageStringEx, getFixHeight, getFixWidth, getFontInfo, getForcedAlignX, getForcedAlignY, getKStringText, getLayoutMgr, getLayoutMgr, getMappedVSComponent, getMessage, getMessageText, getPixelHeight, getPixelWidth, getSize, getStyles, getStyles, getText, getTitle, getTitleKS, getTitlePKS, getTooltip, getTooltipText, getTrigger, getUIPanel, getUIParent, getValue, getValue, getVSField, hasExplicitHeight, hasExplicitWidth, hasFocus, hasImplicitHeight, hasImplicitWidth, hasSelectionChanged, isEnabled, isMobile, isReadOnly, isRTL, isVisible, isVSFieldDisconnected, mustHaveExplicitHeight, mustHaveExplicitWidth, onBroken, onFocusGained, onNotifySelectionChanged, onParentStateChanged, onPrepare, onResolved, onStateChanged, onValueChanged, onVirtualizationCompleted, processVSComponentSelection, reconnectVSField, requestFocus, requestFocus, requestFocus, requestFocus, requestFocusEx, requestFocusEx, requestFocusEx, requestFocusEx, setBadge, setBadge, setComponentToVSField, setEnabled, setEnabled, setErrorMessage, setErrorMessage, setErrorMessage, setErrorMessage, setHTMLText, setLayoutMgr, setMessage, setMessage, setReadOnly, setReadOnly, setText, setText, setTitle, setTitle, setTitle, setTooltip, setTooltip, setVisible, setVisible, setVSFieldMessageToComponent, setVSFieldToComponent
Methods inherited from class com.iizix.prop.PropCnr
__transferChildProps, addProp, addProp, addProp2, addProp2, appendPropValue, completeVirtualize, containsProp, containsProp, convertLoadedProp, createCopyOfAtom, createUniqueAtom, createUniqueAtom, createUniqueAtom, doPropEqualsArrayValues, 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, getPropCnr, getPropCount, getPropCount, getPropIndex, getPropIndex, getPropIndexes, getProps, getProps, getPropValue, getPropValue, getPropValue, getPropValue, getPropValue, getPropValue, getPropValue, getPropValue0, getReferences, getRetargetedVerifyContainer, getString, getString, getString, getString, getValueClasses, 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, shouldSerializeToXML, toElementString, toNativeValue0, usePropHashMap, usesPropIndex, validateChildPropInValue, validateClassInstances, validatePropType, validatePropValue, verifyInternalUseOnly, verifyTree
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, getAppWorker, getAtomPath, getAttribute, getChildReferencePropName, 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.prop.IClassReferenceOwner
getClassReference, getProp, getRuntimeClassInstance, getRuntimeClassInstance
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.gyro.IFocusComp
requestFocus, requestFocus, requestFocusEx, requestFocusEx
Methods inherited from interface com.iizix.prop.IGProp
addPropError, addPropListener, dispose, equals, fine, fine, finer, finer, finest, finest, fromElementString, getAtomPath, getConstraints, getEnvironment, getErroredPropItems, getErroredProps, getErrorsProp, getExtendsRootContainer, getFullPropName, getFullPropNameDebug, getModuleFolder, getModuleFolder, getParent, getParent, getPropAtom, getPropError, getPropError, getPropErrorSeverity, getPropExtendsFlags, getPropFromPath, getPropFromReference, getPropIndex, getPropName, getPropPath, getPropPath, getPropRootPropMgr, getPropTreeErrorSeverity, getPropValue, getPropValue, getReferencePropName, getReferences, getRelativePropName, getRootParent, getTreeLock, getValueClasses, 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, 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, verifyHasPropertyItem, warning, warning, warning
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.ISelectorOwner
getSelector, getSelectorReference, hasSelector, isSelectorSelected
Methods inherited from interface com.iizix.prop.ui.IUIComp
disconnectVSField, getComponentID, getComponentMappings, getErrorMessage, getErrorMessage, getFixHeight, getFixWidth, getLayoutMgr, getPanelUIComponent, getPanelUIComponentNull, getUIRef, getValue, getValue, getVSField, isMobile, isRTL, isVSFieldDisconnected, reconnectVSField, setComponentToVSField, setErrorMessage, setErrorMessage, setVSFieldMessageToComponent, setVSFieldToComponent
Methods inherited from interface com.iizix.prop.ui.IUIContextMenuOwner
getContainedContextMenu, getContextMenu, getReferencedContextMenu, isContextMenuSupported, onBroken, onResolved
Methods inherited from interface com.iizix.prop.ui.IUIFocusComp
onFocusGained, onFocusLost
Methods inherited from interface com.iizix.prop.ui.IUIGroupSeparator
getRadioSelectionComponents, setRadioSelectionComponent, setRadioSelectionComponent
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
Methods inherited from interface com.iizix.prop.vs.IVSParticipant
assignVirtualSpace, getVSParticipantAtom
Field Detail
EMPTY_ARRAY
public static final UIPanelBase[] EMPTY_ARRAY
An empty panel array.
VS_BACK_PROP_NAME
public static final java.lang.String VS_BACK_PROP_NAME
The property name of the VS Back action: "vsBack".- See Also:
- Constant Field Values
PP_REPLACE_ALL
public static final int PP_REPLACE_ALL
How to process pop-up panels when this panel is virtualized: 0 = replace all panels with this one.- See Also:
- Constant Field Values
PP_REPLACE_ALL_POPUPS
public static final int PP_REPLACE_ALL_POPUPS
How to process pop-up panels when this panel is virtualized: 1 = replace all pop-up panels with this one.- See Also:
- Constant Field Values
PP_REPLACE_LAST_POPUP
public static final int PP_REPLACE_LAST_POPUP
How to process pop-up panels when this panel is virtualized: 2 = replace last pop-up panel (if any).- See Also:
- Constant Field Values
PP_ADD_PANEL
public static final int PP_ADD_PANEL
How to process pop-up panels when this panel is virtualized: 3 = add this pop-up panel.- See Also:
- Constant Field Values
REMOTE_REMOVE_EVENT
public static final int REMOTE_REMOVE_EVENT
Remote event for panel removal.- See Also:
- Constant Field Values
Constructor Detail
UIPanelBase
public UIPanelBase()
Creates the container without name with a null value.
UIPanelBase
public UIPanelBase(Atom propertyAtom)
Creates the container with the specified name with a null value.- Parameters:
propertyAtom- the property atom.
Method Detail
getPredefinedProps
public void getPredefinedProps()
Gets potential references to predefined properties for this container. This method is called once just after cloning of the property container.The method should get reference to using the
getProp(...)methods. This allows the subclass to be able to retrieve the new instances to the properties created duringaddPredefinedProps()if stored in instance variables.Subclasses must override this method to do the appropriate initialization, as this method does nothing for the PropCnr class implementation.
- Overrides:
getPredefinedPropsin classUIContainer
createLayout
protected PanelData createLayout()
Create the layout property.- Returns:
- A new instance of EPanelData named Atom.LAYOUT.
getLayout
public PanelData getLayout()
Gets the layout properties of this component. If the properties are not present, they are created.
shouldCreateProps
protected boolean shouldCreateProps(org.w3c.dom.Element element)
Checks if a child Element should be created as properties or if it should be skipped. Override this method (and callsuper.shouldCreateProps(element)) if the container creates other child elements.- Overrides:
shouldCreatePropsin classPropCnr- Parameters:
element- The element in question.- Returns:
- true to create properties out of it, false to ignore the element.
clone
public UIPanelBase 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:
clonein classUIContainer
onPropDispose
protected void onPropDispose()
Called when a property is disposed of by delete/remove in a container, or by the dispose method.This call is done just at the end of the delete/remove routine in the container, without synchronization.
During this call, whatever components that e.g. the client needs to disposed of is done.
Subclasses needing to perform some intelligent operations upon deletion should do it by overloading this method and always call the
super.onPropDispose()method.- Overrides:
onPropDisposein classUIComp
virtualize
public UIPanelBase virtualize(IAppSessionGyro appGyro, IClientSessionGyro clientGyro, VirtualSpace virtualSpace) throws java.lang.CloneNotSupportedException, PropException
Call this method to "virtualize" a property tree. This method is used at runtime in the Server for the application session of virtual instances of VirtualSpace, but also virtual instances of panels, for the individual client session. The VirtualSpace is virtualized once for the application session and is shared for parallel client sessions.This method is similar to cloning, but enables references that are already resolved to remain if they point to a shared instance, e.g. the VirtualSpace pointing to its participants in the application property container shared instance, or a panel with references to text IDs, assets, etc.
It is up to the property class to handle this by overriding this method.
- Parameters:
appGyro- The application gyro instance performing the virtualization.clientGyro- The client gyro session, can benullif not initialized from the client gyro.virtualSpace- The virtualized or virtualizing VirtualSpace.- Throws:
java.lang.CloneNotSupportedException- If a subclass doesn't allow cloning, e.g. the client properties.PropException- For property errors during the virtualization.
virtualize
protected GProp<?> virtualize(IAppSessionGyro appGyro, IClientSessionGyro clientGyro, VirtualSpace virtualSpace, PropCnr virtualizedProp) throws java.lang.CloneNotSupportedException, PropException
Call this method to "virtualize" a property tree. This method is used at runtime in the Server for the application session of virtual instances of VirtualSpace, but also virtual instances of panels, for the individual client session. The VirtualSpace is virtualized once for the application session and is shared for parallel client sessions.This method is similar to cloning, but enables references that are already resolved to remain if they point to a shared instance, e.g. the VirtualSpace pointing to its participants in the application property container shared instance, or a panel with references to text IDs, assets, etc.
It is up to the property class to handle this by overriding this method.
- Overrides:
virtualizein classPropCnr- Parameters:
appGyro- The application gyro instance performing the virtualization.clientGyro- The client gyro session, can benullif not initialized from the client gyro.virtualSpace- The virtualized VirtualSpace.virtualizedProp- The property being virtualized.- Returns:
- The virtualized property.
- Throws:
java.lang.CloneNotSupportedException- If a subclass doesn't allow cloning, e.g. the client properties.PropException- For property errors during the virtualization.
doVirtualizePropCnr
protected void doVirtualizePropCnr(IAppSessionGyro appGyro, IClientSessionGyro clientGyro, GProp<?>[] props, java.lang.String extendsName, VirtualSpace virtualSpace, PropCnr virtualizedProp, PropCnr clonedProp) throws java.lang.CloneNotSupportedException, PropException
The rest of the virtualization is done using the correct "this" for inner classes.Do not call this method! The method is intended for classes that are virtualized and needs to set-up the AppSessionGyro, ClientSessionGyro and VirtualSpace very early in the virtualizing process.
- Overrides:
doVirtualizePropCnrin classPropCnr- Parameters:
appGyro- The application gyro instance performing the virtualization.clientGyro- The client gyro session, can benullif not initialized from the client gyro.props- The children properties to virtualize.extendsName- The name in extends to virtualize.virtualSpace- The virtualized or virtualizing VirtualSpace.virtualizedProp- The property being virtualized.clonedProp- The property that is cloned to produce this virtualized property.- Throws:
java.lang.CloneNotSupportedException- If a subclass doesn't allow cloning, e.g. the client properties.PropException- For property errors during the virtualization.
getNonVirtualized
public UIPanelBase getNonVirtualized()
Gets the non-virtualized instance of this panel.- Returns:
- The non-virtualized panel, always non-null.
getAppSessionGyro
public IAppSessionGyro getAppSessionGyro()
Returns the Application Session Gyro instance of this virtualized property.- Specified by:
getAppSessionGyroin interfaceIGProp<GProp<?>[]>- Overrides:
getAppSessionGyroin classGProp<GProp<?>[]>- Returns:
- The Application Session Gyro if this instance is virtualized, null otherwise.
getClientSessionGyro
public IClientSessionGyro getClientSessionGyro()
Returns the Client Session Gyro instance of this virtualized property. This method only work for properties in a panel tree. Data connectors may sometimes also providesupport.IClientSessionGyroTo get the
instance from the current thread useIClientSessionGyro, orIClientSessionGyro.getSessionInstance()to get it from the session information instance.IClientSessionGyro.getSessionInstance(SessionInfo)- Specified by:
getClientSessionGyroin interfaceIGProp<GProp<?>[]>- Overrides:
getClientSessionGyroin classGProp<GProp<?>[]>- Returns:
- The Client Session Gyro if this instance is virtualized and is in a
UIPanelBase(panels) tree (or for certain data connectors), null otherwise.
getPanelOwner
public final UIPanelBase getPanelOwner()
Gets the panel owner.- Specified by:
getPanelOwnerin interfaceIUIPanelOwner- Returns:
- The panel itself.
isPopupPanel
public boolean isPopupPanel()
Returns if this is a pop-up panel placed on top of main panels.- Returns:
- The default panel returns false.
getPropBaseReference
public PropCnr getPropBaseReference()
The panel is the base component base reference.- Specified by:
getPropBaseReferencein interfaceIGProp<GProp<?>[]>- Overrides:
getPropBaseReferencein classPropCnr- Returns:
- This UIPanelBase instance.
getDeviceType
public int getDeviceType()
Gets the device type: -1=mobile, 0=both, 1=desktop.- Specified by:
getDeviceTypein interfaceIUIComp- Overrides:
getDeviceTypein classUIContainer
getVSReference
public VSParticipant getVSReference(Atom refAtom)
Gets a VSReference instance from the container or any parent containers. The method is used byVSRelativeReferenceto look up theVSReferenceinstance in order to resolve the relative path to the target property.- Specified by:
getVSReferencein interfaceIGProp<GProp<?>[]>- Overrides:
getVSReferencein classPropCnr- Parameters:
refAtom- The property atom of the requesting relative reference property.- Returns:
- The instance of the
VSParticipant(that extends VSReference) ornullif unassigned.
createVSReference
public VSParticipant createVSReference(Atom refAtom, PropCnr[] returnParent)
Creates a VSReference instance from the container or any parent containers. The method is used in the Designer to create a VirtualSpace connection forVSRelativeReferenceto look up theVSReferenceinstance in order to resolve the relative path to the target property.This method needs to be overridden by subclasses of
PropCnrthat has a VSReference as property, and *SHOULD* matchgetVSReference(Atom).The default is to re-target the call to the parent container, and if the root, a folder or a file property is reached,
nullis returned.- Overrides:
createVSReferencein classPropCnr- Parameters:
refAtom- The property asking for the VSReference.returnParent- An array of PropCnr [1] that will be filled in with the parent property of the VSRefernce.- Returns:
- The instance of the
VSReferenceornullif unassigned. The returned instance could also be a VSParticipant and should therefore be processed accordingly.For this method, it's a VSParticipant.
getVSParticipant
public VSParticipant getVSParticipant()
Gets the VSParticipant instance. This is also an instance ofVSReference.- Specified by:
getVSParticipantin interfaceIUIPanelOwner- Returns:
- The instance of the VSParticipant, or null if not yet defined.
getVirtualSpace
public VirtualSpace getVirtualSpace()
Gets the VirtualSpace for this panel.Method for IVSParticipant: Gets the referrer's back-reference to the VirtualSpace. This is used by the VSParticipantReference when verifying its references.
- Specified by:
getVirtualSpacein interfaceIUIComp- Specified by:
getVirtualSpacein interfaceIVSAccessor- Overrides:
getVirtualSpacein classUIComp- Returns:
- The VirtualSpace, or null for none.
getParticipantDescription
public java.lang.String getParticipantDescription()
Returns the given description of the referrer participant.- Specified by:
getParticipantDescriptionin interfaceIReferrerParticipant- Returns:
- The string the Designer entered in the Description field, or "n/a" for none.
getParticipantType
public java.lang.String getParticipantType()
Returns the given type of the referrer participant.- Specified by:
getParticipantTypein interfaceIReferrerParticipant
isPrimaryParticipant
public boolean isPrimaryParticipant()
Checks if this panel is primary or not. A primary participant is chosen in the selection processing when multiple participants are ordered in a VSParticipantsHolder container.- Specified by:
isPrimaryParticipantin interfaceIReferrerParticipant- Returns:
- The default implementation returns true.
getGroupID
public int getGroupID(GroupNameProp groupName)
Gets the unique ID for a group name.- Specified by:
getGroupIDin interfaceIUIGroupSeparator- Parameters:
groupName- The group name. Return The unique for the group name.
getClassReferenceAtom
public Atom getClassReferenceAtom(java.lang.String id)
Gets the ClassReference atom name.- Specified by:
getClassReferenceAtomin interfaceIClassReferenceOwner- Specified by:
getClassReferenceAtomin interfaceIUIClassReferenceOwner- Parameters:
id- ID for the class reference if several exist, null for default.- Returns:
- The class reference atom name for the ID.
getClassReference
public ClassReference getClassReference(java.lang.String id, boolean doCreateIfNotPresent)
Gets or creates the ClassReference in the property container.- Specified by:
getClassReferencein interfaceIClassReferenceOwner- Specified by:
getClassReferencein interfaceIUIClassReferenceOwner- Parameters:
id- ID for the class reference if several exist, null for default.doCreateIfNotPresent- Flag to create the property (this flag can only be true in Designer)!- Returns:
- The resolved class reference instance, null if the ClassReference doesn't exist if the create flag is false. If flag is true, an orphan unresolved EditorClassReference instance (ONLY for the Designer).
isClassReferenceAnnotationBackReferenceRequired
public boolean isClassReferenceAnnotationBackReferenceRequired(java.lang.String id)
Checks if the ClassReference require an annotation back-reference.- Specified by:
isClassReferenceAnnotationBackReferenceRequiredin interfaceIClassReferenceOwner- Specified by:
isClassReferenceAnnotationBackReferenceRequiredin interfaceIUIClassReferenceOwner- Parameters:
id- ID for the class reference if several exist, null for default.- Returns:
- true, always: the annotation is required to have a back-reference on the "ref" member value pair to the ClassReference owner.
getClassReferenceImplementsInterface
public java.lang.String getClassReferenceImplementsInterface(java.lang.String id)
Returns the required Interface.- Specified by:
getClassReferenceImplementsInterfacein interfaceIClassReferenceOwner- Specified by:
getClassReferenceImplementsInterfacein interfaceIUIClassReferenceOwner- Parameters:
id- ID for the class reference if several exist, null for default.- Returns:
- The fully qualified name of the interface for the class, or null for none. For panels this is always null.
getClassReferenceRequiredAnnotation
public java.lang.String getClassReferenceRequiredAnnotation(java.lang.String id)
Returns the required annotation, or null for none.- Specified by:
getClassReferenceRequiredAnnotationin interfaceIClassReferenceOwner- Specified by:
getClassReferenceRequiredAnnotationin interfaceIUIClassReferenceOwner- Parameters:
id- ID for the class reference if several exist, null for default.- Returns:
- The fully qualified name of the interface for the class, or null for none. For panels this is always AnnotationType.UI.fqn.
onPrepare
protected void onPrepare(IAppOwner appOwner, IModuleOwner moduleOwner, boolean isPostCall, java.util.List<java.lang.Throwable> errors) throws PropException
Called when the application is being prepared. The order ofonPreparecalls is always parent first, the children. The method is called twice, first time withisPostCallset tofalse, then a second time withtrue.- Overrides:
onPreparein classUIComp- Parameters:
appOwner- The application owner.moduleOwner- The Module owner.isPostCall- Flag indicating this is a post-call.errors- A list of errors that occurred but did not cause an abort.- Throws:
PropException- For property errors during the application preparation to need to abort.
invokeOnUIConnectMethod
public void invokeOnUIConnectMethod(IClientSessionGyro clientGyro)
Invoke the create event methods of the component and the panel.This method is not intended to be called, it is used by the framework.
- Parameters:
clientGyro- The client gyro.
invokeOnUICreateMethod
protected void invokeOnUICreateMethod(UIComp component)
Invoke the create event methods of the component and the panel.This method is not intended to be called, it is used by the framework.
- Parameters:
component- The UI component.
invokeOnUIDestroyMethod
protected void invokeOnUIDestroyMethod(UIComp component)
Invoke the create event methods of the component and the panel.This method is not intended to be called, it is used by the framework.
- Parameters:
component- The UI component.
invokeOnUIBackMethod
protected void invokeOnUIBackMethod()
Invoke the back event method of the panel.This method is not intended to be called, it is used by the framework.
invokeOnUIFocusMethod
protected void invokeOnUIFocusMethod(boolean isFocusGained, UIComp component, UIComp opposite, IGProp<?> trigger)Invoke the focus event methods of the component and the panel.This method is not intended to be called, it is used by the UI focus engine.
- Parameters:
isFocusGained- Flag for focus gained operation.component- The UI component.opposite- The opposite UI component.trigger- The trigger property.
invokeOnUITextChangeMethod
public void invokeOnUITextChangeMethod(UIComp component, GProp<?> trigger)
Invoke the onUITextChange event methods of the component and the panel.- Parameters:
component- The UI component.trigger- The trigger property.
invokeOnUIValueChangeMethod
public void invokeOnUIValueChangeMethod(UIComp component, GProp<?> trigger)
Invoke the onUIValueChange event methods of the component and the panel.- Parameters:
component- The UI component.trigger- The trigger property.
invokeOnUISelectionMethod
public void invokeOnUISelectionMethod(IUISelectionComp source, GProp<?> trigger, IUISelection selection)
Invoke the focus event method.- Parameters:
source- The selection UI component source.trigger- The trigger, null for none.selection- The selection.
isParticipating
public final boolean isParticipating(EnvProps envProps)
Checks if this panel is participating in the VirtualSpace, i.e. if it's used in the current user session or if it's e.g. the wrong resolution or device.- Specified by:
isParticipatingin interfaceIReferrerParticipant- Parameters:
envProps- The Client Environment instance of the current client connection.- Returns:
- The participation state, by default true.
getPanelMappings
public final VSMappings getPanelMappings()
Gets the panels components that refer to the VirtualSpace in question, and their mappings to the VSComponent's. Only resolved references are returned.The return value is cached, and refreshed when required, i.e. if panel components are added or removed.
- Returns:
- The map of components to a VirtualSpace, null when panel is not mapped to a VirtualSpace.
onEventSelf
public void onEventSelf(GEvent event)
Invalidates cached mappings.- Specified by:
onEventSelfin interfaceIGProp<GProp<?>[]>- Overrides:
onEventSelfin classUIComp- Parameters:
event- The property event.
onRemoteEvent
public void onRemoteEvent(RemoteEvent event)
Called when a remote property event should be processed by this property.A subclass can override this method to perform appropriate processing and is not required to call
super.onRemoteEvent(e).The onRemoteEvent is NOT called when in a proxied property container, but rather the normal onEventSelf method.
- Specified by:
onRemoteEventin interfaceIGProp<GProp<?>[]>- Overrides:
onRemoteEventin classUIComp- Parameters:
event- The remote event.
isDesktopType
public boolean isDesktopType()
Checks if this panel is of desktop type. (For now, this is the same as not mobile type...)- Returns:
- true if this panel is of desktop type.
isMobileType
public boolean isMobileType()
Checks if this panel is of mobile type.- Returns:
- true if this panel is of mobile type, i.e. for touch, and using mobile themes.
isDeviceTypeMatching
public boolean isDeviceTypeMatching(int deviceType)
Returns if the device type is compatible with this panel.- Parameters:
deviceType- The device type: -1=mobile, 0=both, 1=desktop.- Returns:
- true for match, false otherwise (also for invalid device type).
setPanelType
public boolean setPanelType(IComplexOperation op, int type)
Sets the panel type, i.e. desktop, mobile or future values.- Parameters:
op- The complex operation, or null for none.type- 0=desktop, 1=mobile. (For now...)- Returns:
- true if changed, false otherwise.
- Throws:
java.lang.IllegalArgumentException- If type is not 0 or 1.
getThemes
public GThemes getThemes()
Gets the configured themes for the panel.- Returns:
- The panel themes, or null if not configured.
verify
public boolean verify(PropVerification verification)
Verifies this property container. The check performed is the extension of classes and that no circular reference is present.- Specified by:
verifyin interfaceIGProp<GProp<?>[]>- Overrides:
verifyin classUIContainer- Parameters:
verification- The property verification class.- Returns:
- true if verification should proceed, false if disposed of and verification should not take place.
isAnimationPropPrivate
public final boolean isAnimationPropPrivate()
Returns if the animation property is private or not.- Specified by:
isAnimationPropPrivatein interfaceIUIPanelAnimation- Returns:
- true for actions.
getDefaultTextTable
public TextTable getDefaultTextTable()
Gets the default text table of the panel. This text table may be derived from another base table, and the default input language code can also be checked.- Returns:
- The default text table, or null if not defined.
setDefaultTextTable
public boolean setDefaultTextTable(java.lang.String ref)
Sets the default text table to use for the panel.- Parameters:
ref- The text table reference, null for none.- Returns:
- true for changed, false for no change.
getOnCreateExistingPanelProcessing
public int getOnCreateExistingPanelProcessing()
Returns how to process pop-up panels when this panel is virtualized.- Returns:
- PP_REPLACE_ALL = replace all panels with this one,
PP_REPLACE_ALL_POPUPS = replace all pop-up panels with this one,
PP_REPLACE_LAST_POPUP = replace last pop-up panel (if any),
PP_ADD_PANEL = add this pop-up panel.The default processing for main panel is to return PP_REPLACE_ALL.
requestRemove
public boolean requestRemove()
Requests the removal of the panel with the specified animation. This call is not intended to be called elsewhere than from the client Gyro.- Returns:
- true for success, false if panel is already removed.
hasBeenRemoved
public boolean hasBeenRemoved()
Returns if this panel is being replaced by another, but has not had the time to be removed from the client yet.
onVirtualSpaceVirtualized
public void onVirtualSpaceVirtualized(IAppSessionGyro appGyro, VirtualSpace virtualizedVirtualSpace)
Called when the VirtualSpace has been virtualized, giving the opportunity for e.g. data connectors to prepare it's virtualized counterparts if this is required.This call is done to the non-virtualized instance of the VirtualSpace participant.
- Specified by:
onVirtualSpaceVirtualizedin interfaceIVSParticipant- Parameters:
appGyro- The application gyro instance.virtualizedVirtualSpace- The virtualized VirtualSpace instance.