Package com.iizix.gyro
Class FocusEvent
- java.lang.Object
- com.iizix.gyro.FocusEvent
public class FocusEvent extends java.lang.Object
The focus event that is fired when focus changes for an engine.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
IFocusEngine
using theIFocusVetoListener
interface. If theFocusVetoException
is thrown, the original focus is restored in the focus engine without notification.
- Focus lost sent to the component losing focus using method
IFocusComp.onFocusLost(IFocusComp, IGProp, boolean)
in the eventFocusEvent
.
- Focus lost is notified in a bubbling event
PropFocusEvent
to the component losing focus and its parents. withPropFocusEvent.isFocusLost()
true
.
- Focus lost is notified in a sinking event
PropCnrFocusEvent
to the component losing focus and its descendants withPropCnrFocusEvent.isFocusLost()
true
.
- Focus change sent to the focus listeners registered in the
IFocusEngine
usingIFocusListener.onFocusChanged(FocusEvent)
.
- Focus gained sent to the component gaining focus using method
IFocusComp.onFocusGained(IFocusComp, IGProp, boolean)
in the eventFocusEvent
.
- Focus gained is notified in a bubbling event
PropFocusEvent
to the component gaining focus and its parents. withPropFocusEvent.isFocusGained()
true
.
- Focus gained is notified in a sinking event
PropCnrFocusEvent
to the component gaining focus and its descendants withPropCnrFocusEvent.isFocusGained()
true
.
- Author:
- Christopher Mindus
- Focus is changed in the focus engine without notification, i.e. the call to
Field Summary
Fields Modifier and Type Field Description boolean
isRemoteInduced
Flag indicating this event is caused by a remote event, i.e.IFocusComp
opposite
Opposite component that previously had focus, null for none.IFocusComp
source
Component that receives focus, null for none.GProp<?>
trigger
The trigger property, e.g.
Constructor Summary
Constructors Constructor Description FocusEvent(IFocusComp source, IFocusComp opposite, IGProp<?> trigger, boolean isRemoteInduced)
Constructs a focus event.
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description boolean
isHistoryEntryRequested()
Returns the flag for history entry requested.protected java.lang.String
paramString()
Formats the parameters to a string.void
requestHistoryEntry()
Requests a history event from the focus engine.java.lang.String
toString()
Formats the event as a String.
Field Detail
opposite
public final IFocusComp opposite
Opposite component that previously had focus, null for none. In general, this value is onlynull
during application start, but could benull
for a while if e.g. a component that had focus is destroyed and no focus can currently be set elsewhere, e.g. because the client session is disconnected.
source
public final IFocusComp source
Component that receives focus, null for none. The focus receiver is set tonull
if a component that had focus is destroyed and no other focus receiver is found.
trigger
public final GProp<?> trigger
The trigger property, e.g. UIButton or UIText. If focus is set in the e.g. VirtualSpace, this trigger property is set to the UI component that triggered the event, or the data connector property when it is originating from a data connector.
isRemoteInduced
public final boolean isRemoteInduced
Flag indicating this event is caused by a remote event, i.e. due to user interaction on the client side.
Constructor Detail
FocusEvent
public FocusEvent(IFocusComp source, IFocusComp opposite, IGProp<?> trigger, boolean isRemoteInduced)
Constructs a focus event.- Parameters:
source
- Component that receives focus, null for none. The focus receiver is set tonull
if a component that had focus is destroyed and no other focus receiver is found.opposite
- Opposite component that previously had focus, null for none. In general, this value is onlynull
during application start, but could benull
for a while if e.g. a component that had focus is destroyed and no focus can currently be set elsewhere, e.g. because the client session is disconnected.trigger
- The trigger property, e.g. UIButton or UIText.isRemoteInduced
- Flag indicating this event is caused by a remote event, i.e. due to user interaction on the client side.
Method Detail
toString
public java.lang.String toString()
Formats the event as a String.- Overrides:
toString
in classjava.lang.Object
- Returns:
- A string formatted as "Class.Name[param=value,param2=value2,...]".
requestHistoryEntry
public void requestHistoryEntry()
Requests a history event from the focus engine. This will force the focus engines to add a history event when appropriate.
isHistoryEntryRequested
public boolean isHistoryEntryRequested()
Returns the flag for history entry requested.- Returns:
- true if somebody has requested a history entry during the event's lifetime.
paramString
protected java.lang.String paramString()
Formats the parameters to a string.- Returns:
- A String as param=value,param2=value2,...