( os_events )

CREATE event 24 ALLOT
CREATE menuErr 2 ALLOT
VARIABLE eventHandler

api: frmGetFormPtr
api: frmDrawForm
api: frmDispatchEvent

:noname
>rel dup w@ 24 = 
  if
    8 + w@ frmGetFormPtr
    frmDrawForm true
  else 
     drop false 
  then 
; callback: DefHandler

api: frmInitForm
api: frmSetEventHandler
api: frmSetActiveForm
api: evtGetEvent
api: sysHandleEvent
api: menuHandleEvent

: AppHandleEvent  ( -- f )
   event W@ 23 ( frmLoadEvent) =
   IF                     
     event 8 + W@  ( formID )
     FrmInitForm   
     DUP eventHandler @
     ?DUP 0= IF DefHandler THEN
     FrmSetEventHandler
     eventHandler off
     FrmSetActiveForm TRUE
   ELSE FALSE
   THEN
;

needs ekey ekey
