module Data.DOM.UIEvent
       (initUIEvent, get'view, getm'view, get'detail, getm'detail) where
import Data.DOM.Events
import Control.Monad
import BrownPLT.JavaScript
import Data.DOM.WBTypes
import Data.DOM.Views
import Data.DOM.Dom
import Data.DOM.Document (createElement)
 
initUIEvent ::
            (Monad mn, CUIEvent this, CAbstractView viewArg) =>
              Expression String ->
                Expression Bool ->
                  Expression Bool ->
                    Expression viewArg ->
                      Expression Double -> Expression this -> mn (Expression ())
initUIEvent a b c d e thisp
  = do let et = undefined :: ()
       let r = DotRef et (thisp /\ et) (Id et "initUIEvent")
       return
         (CallExpr et r [a /\ et, b /\ et, c /\ et, d /\ et, e /\ et])
 
get'view ::
         (Monad mn, CUIEvent this, CAbstractView zz) =>
           Expression this -> mn (Expression zz)
get'view thisp
  = do let et = undefined :: zz
       let r = DotRef et (thisp /\ et) (Id et "view")
       return r
 
getm'view ::
          (Monad mn, CUIEvent this) =>
            Expression this -> mn (Expression TAbstractView)
getm'view = get'view
 
get'detail ::
           (Monad mn, CUIEvent this) =>
             Expression this -> mn (Expression Double)
get'detail thisp
  = do let et = undefined :: Double
       let r = DotRef et (thisp /\ et) (Id et "detail")
       return r
 
getm'detail ::
            (Monad mn, CUIEvent this) =>
              Expression this -> mn (Expression Double)
getm'detail = get'detail