Interface IFocusComp
- All Known Subinterfaces:
- IUIFocusComp,- IVSComponent,- IVSMessageComponent
 - All Known Implementing Classes:
- AbstractContentUIContainer,- EditorVirtualSpace,- EditorVSAction,- EditorVSColumnHeader,- EditorVSField,- EditorVSGroup,- EditorVSRow,- EditorVSTable,- EMapMarkers,- EMLGroup,- EMList,- EMLItemProp,- EMUIHeading,- EMUISimpleDialog,- EMUISwitch,- EMUITabBar,- EUIAccordion,- EUIButton,- EUICalendar,- EUICalendarList,- EUICheckBox,- EUIComboBox,- EUIContainer,- EUIContextMenu,- EUIDateTime,- EUIDialog,- EUIGauge,- EUIImage,- EUIImage2,- EUIMap,- EUIMenu,- EUIMenuBar,- EUIOutput,- EUIPanel,- EUIPanelPart,- EUIPanelPartCnr,- EUIRadioButton,- EUISlider,- EUISpinner,- EUISwapContainer,- EUITabContainer,- EUITable,- EUIText,- EUITextArea,- EUITitlePane,- MapMarkers,- MLGroup,- MList,- MLItemProp,- MUIHeading,- MUISimpleDialog,- MUISwitch,- MUITabBar,- UIAbstractListChoice,- UIAccordion,- UIButton,- UICalendar,- UICalendarList,- UICheckBox,- UIComboBox,- UIContainer,- UIContextMenu,- UIDateTime,- UIDialog,- UIGauge,- UIImage,- UIImage2,- UIMap,- UIMenu,- UIMenuBar,- UIOutput,- UIPanel,- UIPanelBase,- UIPanelPart,- UIPanelPartCnr,- UIRadioButton,- UISlider,- UISpinner,- UISwapContainer,- UITabContainer,- UITable,- UIText,- UITextArea,- UITitlePane,- VirtualSpace,- VSAction,- VSColumnHeader,- VSComponent,- VSField,- VSGroup,- VSRow,- VSTable
 - public interface IFocusComp extends IPropCnr Interface implemented by components or properties that supports receiving focus. There are two core focus engines in iizi: one for the VirtualSpace and one for the Panels. In general, the one for panels follow the VirtualSpace focus, but not always.- The VirtualSpace focus engine is common for all parallel and/or dormant sessions that are or may connect to it. This means that if the focus is changed in the VirtualSpace, the Panels may receive a focus change also, dependent on the panel connected. - The Panel focus engine is unique for the client session connection, but is kept for a reconnecting session. Changing panel focus may result in changes in the VirtualSpace focus. - Focus processing is done in the following order: - Focus is changed in the focus engine without notification, i.e. the call to IFocusEngine.getCurrentFocus()will reflect the new focus component,
 
- If the receiving focus component is non-null: focus veto processing using the focus listeners registered in the IFocusEngineusing theIFocusVetoListenerinterface. If theFocusVetoExceptionis thrown, the original focus is restored in the focus engine without notification.
 
- Focus lost sent to the component losing focus using method onFocusLost(IFocusComp, IGProp, boolean)in the eventFocusEvent.
 
- Focus lost is notified in a bubbling event PropFocusEventto the component losing focus and its parents. withPropFocusEvent.isFocusLost()true.
 
- Focus lost is notified in a sinking event PropCnrFocusEventto the component losing focus and its descendants withPropCnrFocusEvent.isFocusLost()true.
 
- Focus change sent to the focus listeners registered in the IFocusEngineusingIFocusListener.onFocusChanged(FocusEvent).
 
- Focus gained sent to the component gaining focus using method onFocusGained(IFocusComp, IGProp, boolean)in the eventFocusEvent.
 
- Focus gained is notified in a bubbling event PropFocusEventto the component gaining focus and its parents. withPropFocusEvent.isFocusGained()true.
 
- Focus gained is notified in a sinking event PropCnrFocusEventto the component gaining focus and its descendants withPropCnrFocusEvent.isFocusGained()true.
 
 - Author:
- Christopher Mindus
 
- Field Summary- Fields inherited from interface com.iizix.prop.IGProp- EQC_ERROR_IGNORE_ALL, EQC_ERROR_IGNORE_REFERENCES, EQC_IGNORE_ARRAY, EQC_IGNORE_VOLATILE_OR_EDITOR, EQC_PRIVATE, EQC_SAVE_FILE, EXT_CONTAINER_EXTENDS, EXT_CONTAINER_EXTENDS_VALID, EXT_EXTENDED, EXT_FINAL, EXT_OVERRIDES, EXT_OVERRIDES_FINAL_ERR, EXT_PRIVATE
 
 - Method Summary- All Methods Instance Methods Default Methods - Modifier and Type - Method - Description - default void- onFocusGained(IFocusComp opposite, IGProp<?> trigger, boolean isRemoteInduced)Called to the component when it receives focus.- default void- onFocusLost(IFocusComp focusComp, IGProp<?> trigger, boolean isRemoteInduced)Called to the focused component when it loses focus.- default java.lang.String- requestFocus()Requests focus to this component.- default java.lang.String- requestFocus(IGProp<?> trigger)Requests focus to this component.- default boolean- requestFocusEx()Requests focus to this component.- default boolean- requestFocusEx(IGProp<?> trigger)Requests focus to this component.- 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.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
 
 
- Method Detail- requestFocus- default java.lang.String requestFocus() Requests focus to this component. This call is redirected to the focus engine for the component type. The engine may veto the focus change, because it currently cannot change focus, or the request is not or cannot be virtualized.- This method is less precise than - requestFocusEx(), but avoids try-catching.- Returns:
- nullfor success, otherwise an error message indicating why focus was not able to be changed.
 
 - requestFocusEx- default boolean requestFocusEx() throws FocusExceptionRequests focus to this component. This call is redirected to the focus engine for the component type. The engine may veto the focus change, because it currently cannot change focus, or the request is not or cannot be virtualized.- Returns:
- true if focus was changed, false otherwise.
- Throws:
- FocusException- If focus could not be changed.
 
 - requestFocus- default java.lang.String requestFocus(IGProp<?> trigger) Requests focus to this component. This call is redirected to the focus engine for the component type. The engine may veto the focus change, because it currently cannot change focus, or the request is not or cannot be virtualized.- This method is less precise than - requestFocusEx(IGProp), but avoids try-catching.- Parameters:
- trigger- The component triggering the focus, null for none.
- Returns:
- nullfor success, otherwise an error message indicating why focus was not able to be changed.
 
 - requestFocusEx- default boolean requestFocusEx(IGProp<?> trigger) throws FocusException Requests focus to this component. This call is redirected to the focus engine for the component type. The engine may veto the focus change, because it currently cannot change focus, or the request is not or cannot be virtualized.- Parameters:
- trigger- The component triggering the focus, null for none.
- Returns:
- true if focus was changed, false otherwise.
- Throws:
- FocusException- If focus could not be changed.
 
 - onFocusLost- default void onFocusLost(IFocusComp focusComp, IGProp<?> trigger, boolean isRemoteInduced) Called to the focused component when it loses focus.- Focus components override this method if they need to process focus lost. - Parameters:
- focusComp- Component receiving focus, null for none.
- trigger- The component triggering the focus, null for none.
- isRemoteInduced- Flag indicating this event is due to a remote event.
 
 - onFocusGained- default void onFocusGained(IFocusComp opposite, IGProp<?> trigger, boolean isRemoteInduced) Called to the component when it receives focus.- Focus components override this method if they need to process focus lost. - Parameters:
- opposite- Component losing focus, null for none.
- trigger- The component triggering the focus, null for none.
- isRemoteInduced- Flag indicating this event is due to a remote event.