Class FocusEvent

java.lang.Object
com.iizix.gyro.FocusEvent

public class FocusEvent extends Object
The focus event that is fired when focus changes for an engine.

Focus processing is done in the following order:

  1. Focus is changed in the focus engine without notification, i.e. the call to IFocusEngine.getCurrentFocus() will reflect the new focus component,
     
  2. If the receiving focus component is non-null: focus veto processing using the focus listeners registered in the IFocusEngine using the IFocusVetoListener interface. If the FocusVetoException is thrown, the original focus is restored in the focus engine without notification.
     
  3. Focus lost sent to the component losing focus using method IFocusComp.onFocusLost(IFocusComp, IGProp, boolean) in the event FocusEvent.
     
  4. Focus lost is notified in a bubbling event PropFocusEvent to the component losing focus and its parents. with PropFocusEvent.isFocusLost() true.
     
  5. Focus lost is notified in a sinking event PropCnrFocusEvent to the component losing focus and its descendants with PropCnrFocusEvent.isFocusLost() true.
     
  6. Focus change sent to the focus listeners registered in the IFocusEngine using IFocusListener.onFocusChanged(FocusEvent).
     
  7. Focus gained sent to the component gaining focus using method IFocusComp.onFocusGained(IFocusComp, IGProp, boolean) in the event FocusEvent.
     
  8. Focus gained is notified in a bubbling event PropFocusEvent to the component gaining focus and its parents. with PropFocusEvent.isFocusGained() true.
     
  9. Focus gained is notified in a sinking event PropCnrFocusEvent to the component gaining focus and its descendants with PropCnrFocusEvent.isFocusGained() true.
     
Author:
Christopher Mindus
  • Field Details

    • opposite

      public final IFocusComp opposite
      Opposite component that previously had focus, null for none. In general, this value is only null during application start, but could be null 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 to null 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 Details

    • 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 to null 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 only null during application start, but could be null 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 Details

    • toString

      public String toString()
      Formats the event as a String.
      Overrides:
      toString in class 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 String paramString()
      Formats the parameters to a string.
      Returns:
      A String as param=value,param2=value2,...