Interface IUIComp
- All Superinterfaces:
IComponent
,ICustomDataProvider
,IGProp<GProp<?>[]>
,IMessageBox
,IPropCnr
,IVSComponentListener
,IVSComponentState
,IVSFieldListener
- All Known Subinterfaces:
IContentItem
,IEUIComp
,IEUICompCommon
,IEUIContainer
,IEUIPanel
,IUIAction
,IUIAnimatedSingleIndexedSelectionComp
,IUIBooleanSelectionComp
,IUICellSelectionComp
,IUICheck2Component
,IUICheckComponent
,IUICompRelativeTarget
,IUIContainer
,IUIDateTimeComponent
,IUIDateValueComponent
,IUIDoubleRangeValueComponent
,IUIDoubleValueComponent
,IUIHint
,IUIIndexedSelectionComp
,IUILabelForTarget
,IUINullableValueComponent
,IUIRadioComponent
,IUISelectionComp
,IUISingleIndexedSelectionComp
,IUITimeValueComponent
,IUITriStateSelectionComp
,IUIValueComponent
- All Known Implementing Classes:
AbstractContentUIContainer
,AbstractUIAction
,CalendarEvent
,ECalendarEvent
,EMapMarkerProp
,EMapMarkers
,EMLGroup
,EMList
,EMLItemProp
,EMUIHeading
,EMUISimpleDialog
,EMUISwitch
,EMUITabBar
,EUIAccordion
,EUIButton
,EUICalendar
,EUICalendarList
,EUIChart
,EUICheckBox
,EUICheckedMenuItem
,EUIComboBox
,EUIContainer
,EUIContextMenu
,EUIDateTime
,EUIDialog
,EUIEmpty
,EUIGauge
,EUIImage
,EUIImage2
,EUILabel
,EUIMap
,EUIMedia
,EUIMenu
,EUIMenuBar
,EUIMenuItem
,EUIMenuSeparator
,EUIOutput
,EUIPanel
,EUIPanelPart
,EUIPanelPartCnr
,EUIProgress
,EUIRadioButton
,EUIRadioMenuItem
,EUISlider
,EUISpinner
,EUISwapContainer
,EUITabContainer
,EUITable
,EUITableColumn
,EUIText
,EUITextArea
,EUITitlePane
,MapMarkerProp
,MapMarkers
,MLGroup
,MList
,MLItemProp
,MUIHeading
,MUISimpleDialog
,MUISwitch
,MUITabBar
,UIAbstractListChoice
,UIAccordion
,UIButton
,UICalendar
,UICalendarList
,UIChart
,UICheckBox
,UICheckedMenuItem
,UIComboBox
,UIComp
,UIContainer
,UIContextMenu
,UIDateTime
,UIDialog
,UIEmpty
,UIGauge
,UIImage
,UIImage2
,UILabel
,UIMap
,UIMedia
,UIMenu
,UIMenuBar
,UIMenuItem
,UIMenuSeparator
,UIOutput
,UIPanel
,UIPanelBase
,UIPanelPart
,UIPanelPartCnr
,UIProgress
,UIRadioButton
,UIRadioMenuItem
,UISlider
,UISpinner
,UISwapContainer
,UITabContainer
,UITable
,UITableColumn
,UIText
,UITextArea
,UITitlePane
public interface IUIComp extends IComponent, IVSFieldListener, ICustomDataProvider
The interface for the UIComp class is the basic implementation of a single user interface component.The component has a data container that is not persistent, i.e. is not written e.g. to disk.
- 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.prop.vs.IVSComponentState
IVSComponentState.State
Field Summary
Fields Modifier and Type Field Description static int
ERROR
Message category: ERROR (=2).static int
INFORMATION
Message category: INFORMATION (= 0).static int
NONE
Message category: NONE (= -1).static int
REMOTE_FOCUS_EVENT
Remote event for focus.static int
WARNING
Message category: WARNING (=1).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
Method Summary
All Methods Instance Methods Abstract Methods Default Methods Modifier and Type Method Description java.lang.String
canAcceptUIContainerFocus()
Returns if this container can accept focus itself or for one of its children components.boolean
disconnectVSField()
Disconnects from the VirtualSpace Field connection.int
getComponentID()
Creates or gets the unique ID within the panel for a component.java.util.List<VSComponent>
getComponentMappings()
Gets the mappings to VSComponent's for this component.default <COMP extends UIComp>
COMPgetContainerFirstUIComponent(java.lang.String name, java.lang.Class<COMP> uiClass)
Gets the first UI component of the specified name and UI class.default <COMP extends UIComp>
COMPgetContainerFirstUIComponentNull(java.lang.String name, java.lang.Class<COMP> uiClass)
Gets the first UI component of the specified name and UI class.int
getDeviceType()
Gets the device type: -1=mobile, 0=both, 1=desktop.KString
getErrorMessage(ValueConversionException exception)
Gets the localized error message for a validation exception.KString
getErrorMessage(ILocaleString localeString, ValueConversionException exception)
Gets the localized error message for a validation exception.default <COMP extends UIComp>
COMPgetFirstUIComponent(java.lang.String name, java.lang.Class<COMP> uiClass)
Gets the first UI component of the specified name and UI class.default <COMP extends UIComp>
COMPgetFirstUIComponentNull(java.lang.String name, java.lang.Class<COMP> uiClass)
Gets the first UI component of the specified name and UI class.int
getFixHeight()
Gets the designed fixed height of this component in pixels.int
getFixWidth()
Gets the designed fixed width of this component in pixels.LayoutProp
getLayout()
Gets the layout properties of this component.<LAYOUT_MGR extends LayoutMgr<?>>
LAYOUT_MGRgetLayoutMgr(java.lang.Class<LAYOUT_MGR> layoutMgrClass)
Gets the layout manager for the component.default <COMP extends UIComp>
COMPgetPanelUIComponent(@UIRef java.lang.String uiPath, java.lang.Class<COMP> uiClass)
Gets a UI component by UI path reference from the panel.default <COMP extends UIComp>
COMPgetPanelUIComponentNull(@UIRef java.lang.String uiPath, java.lang.Class<COMP> uiClass)
Gets a UI component by UI path reference from the panel.default @UIRef java.lang.String
getUIRef()
Gets the @UIRef path to this component.Value
getValue(Atom atom)
Gets the value from a property namedatom
.Value
getValue(java.lang.String name)
Gets the value from a property namedname
.VirtualSpace
getVirtualSpace()
Gets the VirtualSpace of the UI component.VSField
getVSField()
Gets the connected or disconnected VirtualSpace Field.boolean
isMobile()
Checks if the panel is of mobile type.boolean
isRTL()
Returns if the component is displayed in RTL or not.boolean
isVSFieldDisconnected()
Checks if the connection state to the VirtualSpace Field is disconnected.boolean
reconnectVSField(boolean update)
Reconnects to a previously disconnected VirtualSpace Field connection.int
setComponentToVSField()
Sets the text or value from this text or value component to its VirtualSpace Field, if any.void
setErrorMessage(ValueConversionException exception)
Transposes an exception from conversion to the component as an error message.void
setErrorMessage(ILocaleString localeString, ValueConversionException exception)
Transposes an exception from conversion to the component as an error message.java.lang.String
setUIContainerFocus(UIComp requestor, boolean doAnimate)
Sets the focus to the UI container and all its parents.boolean
setVSFieldMessageToComponent(VSField field, boolean clear)
Sets the VirtualSpace Field's message to this component.void
setVSFieldToComponent(VSField field)
Method called when a VirtualSpace Field is resolved or when reconnection is done.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.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.vs.IVSComponentListener
onParentStateChanged
Methods inherited from interface com.iizix.prop.vs.IVSFieldListener
getBestVSFieldValueType, onBroken, onResolved, onStateChanged, onValueChanged
Field Detail
ERROR
static final int ERROR
Message category: ERROR (=2).- See Also:
- Constant Field Values
WARNING
static final int WARNING
Message category: WARNING (=1).- See Also:
- Constant Field Values
INFORMATION
static final int INFORMATION
Message category: INFORMATION (= 0).- See Also:
- Constant Field Values
NONE
static final int NONE
Message category: NONE (= -1).- See Also:
- Constant Field Values
REMOTE_FOCUS_EVENT
static final int REMOTE_FOCUS_EVENT
Remote event for focus.- See Also:
- Constant Field Values
Method Detail
getDeviceType
int getDeviceType()
Gets the device type: -1=mobile, 0=both, 1=desktop.
isMobile
boolean isMobile()
Checks if the panel is of mobile type.- Returns:
- true if panel is found and it's mobile.
getFixWidth
int getFixWidth()
Gets the designed fixed width of this component in pixels.- Returns:
- Zero (default) for not fixed.
getFixHeight
int getFixHeight()
Gets the designed fixed height of this component in pixels.- Returns:
- Zero (default) for not fixed.
getComponentID
int getComponentID()
Creates or gets the unique ID within the panel for a component. This ID can be used as the HTML ID and is used by the LabelForReference.- Returns:
- A unique number for a component in a panel.
getLayout
LayoutProp getLayout()
Gets the layout properties of this component. If the properties are not present, they are created.- Returns:
- The layout properties.
getLayoutMgr
<LAYOUT_MGR extends LayoutMgr<?>> LAYOUT_MGR getLayoutMgr(java.lang.Class<LAYOUT_MGR> layoutMgrClass)
Gets the layout manager for the component.- Parameters:
layoutMgrClass
- The class of the layout manager.- Returns:
- the layout manager instance, or
null
if none is set.
isRTL
boolean isRTL()
Returns if the component is displayed in RTL or not.
getValue
Value getValue(java.lang.String name)
Gets the value from a property namedname
.- Parameters:
name
- The name of the property.- Returns:
- The
Value
for the property with the specified name, or null if not found.
getValue
Value getValue(Atom atom)
Gets the value from a property namedatom
.- Parameters:
atom
- The atom name of the property.- Returns:
- The
Value
for the property with the specified name, or null if not found.
getVirtualSpace
VirtualSpace getVirtualSpace()
Gets the VirtualSpace of the UI component.- Returns:
- The VirtualSpace, or null for none.
getVSField
VSField getVSField()
Gets the connected or disconnected VirtualSpace Field.- Returns:
- The field, or null if no field resolved (connected or disconnected) is present.
isVSFieldDisconnected
boolean isVSFieldDisconnected()
Checks if the connection state to the VirtualSpace Field is disconnected.- Returns:
- true if currently disconnected.
disconnectVSField
boolean disconnectVSField()
Disconnects from the VirtualSpace Field connection.- Returns:
- true for success, false if already done or none is connected.
reconnectVSField
boolean reconnectVSField(boolean update)
Reconnects to a previously disconnected VirtualSpace Field connection.The method
setVSFieldToComponent(VSField)
is called if there was a disconnected field set.- Parameters:
update
- Update flag, i.e. if all states, messages and field contents should be updated to match the field.- Returns:
- true for success, false if not disconnected.
getComponentMappings
java.util.List<VSComponent> getComponentMappings()
Gets the mappings to VSComponent's for this component.The VS components are sorted for the deepest first.
- Returns:
- An unmodifiable set of VSComponent's, or null for no VS mappings.
setVSFieldToComponent
void setVSFieldToComponent(VSField field)
Method called when a VirtualSpace Field is resolved or when reconnection is done. Override to provide additional processing. By default all states (enabled, read-only and visible), message and field contents are set from the field to the component.- Parameters:
field
- The VS field.
setVSFieldMessageToComponent
boolean setVSFieldMessageToComponent(VSField field, boolean clear)
Sets the VirtualSpace Field's message to this component.- Parameters:
field
- The VS field.clear
- Flag to clear the component message if the field hasn't got a message.- Returns:
- true if changed, false for no change.
canAcceptUIContainerFocus
java.lang.String canAcceptUIContainerFocus()
Returns if this container can accept focus itself or for one of its children components. If this is a component and not a container, this request is redirected to the parent container.This method recurses up to the topmost UI container, and all containers must return null for this method to return null.
Typically, a container returns itself as instance if it is disabled or hidden.
- Returns:
- null if this container (or parent container if this is a component) and all containers up to the topmost level returns null, otherwise an error message why the container that did not accept focus.
setUIContainerFocus
java.lang.String setUIContainerFocus(UIComp requestor, boolean doAnimate)
Sets the focus to the UI container and all its parents. This method is called when focus is to be set to a component, making it possible for containers such as accordion/swap/tab to change its main container into view.Subclasses must override this method to process it, but make sure to call
super.setUIContainerFocus(requestor)
first!- Parameters:
requestor
- The requestor is a child to this container.doAnimate
- Flag to enable animation when selection is changed for e.g. accordion, swap or tab containers.- Returns:
- null for success, otherwise an error message why it failed.
setComponentToVSField
int setComponentToVSField()
Sets the text or value from this text or value component to its VirtualSpace Field, if any.- Returns:
- 1 for update completed, 0 for nothing done and -1 for error occurred.
getErrorMessage
KString getErrorMessage(ValueConversionException exception) throws KStringException
Gets the localized error message for a validation exception.- Parameters:
exception
- The exception.- Returns:
- The error message, e.g. to display in the component.
- Throws:
KStringException
- For exceptions formatting a HTML string.
getErrorMessage
KString getErrorMessage(ILocaleString localeString, ValueConversionException exception) throws KStringException
Gets the localized error message for a validation exception.- Parameters:
localeString
- ThelocaleString
instance to used for localization, ornull
to look it up for the current session.exception
- The exception.- Returns:
- The error message, e.g. to display in the component.
- Throws:
KStringException
- For exceptions formatting a HTML string.
setErrorMessage
void setErrorMessage(ValueConversionException exception)
Transposes an exception from conversion to the component as an error message.- Parameters:
exception
- The exception, ornull
to remove it.
setErrorMessage
void setErrorMessage(ILocaleString localeString, ValueConversionException exception)
Transposes an exception from conversion to the component as an error message.- Parameters:
localeString
- ThelocaleString
instance to used for localization, ornull
to look it up for the current session.exception
- The exception, ornull
to remove it.
getUIRef
default @UIRef java.lang.String getUIRef()
Gets the @UIRef path to this component. This path is relative the panel or context menu that is located in the Panel Module directory.This @UIRef path can be used with the
orgetPanelUIComponent(String,Class)
.getPanelUIComponentNull(String,Class)
- Returns:
- The @UIRef path to the component, or empty string for top-level panel or context menu.
- Throws:
java.lang.IllegalStateException
- If the UI component tree is invalid.
getPanelUIComponent
default <COMP extends UIComp> COMP getPanelUIComponent(@UIRef java.lang.String uiPath, java.lang.Class<COMP> uiClass) throws NotFoundException
Gets a UI component by UI path reference from the panel.Note: A UI path is not the same as a property path, it omits the UI container UIComps instance from the path.
- Parameters:
uiPath
- The UI path for the component.uiClass
- The UI class of the component.- Returns:
- The component, never null.
- Throws:
NotFoundException
- The not-found exception is thrown if the component is not found instead of returning null.
getPanelUIComponentNull
default <COMP extends UIComp> COMP getPanelUIComponentNull(@UIRef java.lang.String uiPath, java.lang.Class<COMP> uiClass)
Gets a UI component by UI path reference from the panel.Note: A UI path is not the same as a property path, it omits the UI container UIComps instance from the path.
- Parameters:
uiPath
- The UI path for the component.uiClass
- The UI class of the component.- Returns:
- The component, or null if not found.
getFirstUIComponent
default <COMP extends UIComp> COMP getFirstUIComponent(java.lang.String name, java.lang.Class<COMP> uiClass) throws NotFoundException
Gets the first UI component of the specified name and UI class. The search for the component is done from the panel root and searches all its children containers recursively.- Parameters:
name
- The name of the component.uiClass
- The UI class of the component.- Returns:
- The component, never null.
- Throws:
NotFoundException
- The not-found exception is thrown if the component is not found instead of returning null.
getFirstUIComponentNull
default <COMP extends UIComp> COMP getFirstUIComponentNull(java.lang.String name, java.lang.Class<COMP> uiClass)
Gets the first UI component of the specified name and UI class. The search for the component is done from the panel root and searches all its children containers recursively.- Parameters:
name
- The name of the component.uiClass
- The UI class of the component.- Returns:
- The component, or null if not found.
getContainerFirstUIComponent
default <COMP extends UIComp> COMP getContainerFirstUIComponent(java.lang.String name, java.lang.Class<COMP> uiClass) throws NotFoundException
Gets the first UI component of the specified name and UI class. The search for the component is done from this UI container, and if this is a UI component, from its parent UI container. Then all children UI containers and components are searched recursively down the component tree.- Parameters:
name
- The name of the component.uiClass
- The UI class of the component.- Returns:
- The component, never null.
- Throws:
NotFoundException
- The not-found exception is thrown if the component is not found instead of returning null.
getContainerFirstUIComponentNull
default <COMP extends UIComp> COMP getContainerFirstUIComponentNull(java.lang.String name, java.lang.Class<COMP> uiClass)
Gets the first UI component of the specified name and UI class. The search for the component is done from this UI container, and if this is a UI component, from its parent UI container. Then all children UI containers and components are searched recursively down the component tree.- Parameters:
name
- The name of the component.uiClass
- The UI class of the component.- Returns:
- The component, or null if not found.