packages feed

qtah-qt5-0.8.0: src/Graphics/UI/Qtah/Generated/Core/QEvent.hs

{-# LANGUAGE FlexibleContexts, FlexibleInstances, ForeignFunctionInterface, MonoLocalBinds, MultiParamTypeClasses, ScopedTypeVariables, TypeSynonymInstances, UndecidableInstances #-}
---------- GENERATED FILE, EDITS WILL BE LOST ----------

module Graphics.UI.Qtah.Generated.Core.QEvent (
  QEventValue (..),
  QEventConstPtr (..),
  isAccepted,
  spontaneous,
  eventType,
  QEventPtr (..),
  accept,
  setAccepted,
  ignore,
  registerEventType,
  registerEventTypeWithHint,
  QEventConst (..),
  castQEventToConst,
  QEvent (..),
  castQEventToNonconst,
  new,
  QEventSuper (..),
  QEventSuperConst (..),
  QEventType (..),
  ) where

import qualified Foreign as HoppyF
import qualified Foreign.C as HoppyFC
import qualified Foreign.Hoppy.Runtime as HoppyFHR
import Prelude (($), (.), (/=), (=<<), (==), (>>=))
import qualified Prelude as HoppyP

foreign import ccall "genpop__QEvent_new" new' ::  HoppyFC.CInt -> HoppyP.IO (HoppyF.Ptr QEvent)
foreign import ccall "genpop__QEvent_accept" accept' ::  HoppyF.Ptr QEvent -> HoppyP.IO ()
foreign import ccall "genpop__QEvent_isAccepted" isAccepted' ::  HoppyF.Ptr QEventConst -> HoppyP.IO HoppyFC.CBool
foreign import ccall "genpop__QEvent_setAccepted" setAccepted' ::  HoppyF.Ptr QEvent -> HoppyFC.CBool -> HoppyP.IO ()
foreign import ccall "genpop__QEvent_ignore" ignore' ::  HoppyF.Ptr QEvent -> HoppyP.IO ()
foreign import ccall "genpop__QEvent_registerEventType" registerEventType' ::  HoppyP.IO HoppyFC.CInt
foreign import ccall "genpop__QEvent_registerEventTypeWithHint" registerEventTypeWithHint' ::  HoppyFC.CInt -> HoppyP.IO HoppyFC.CInt
foreign import ccall "genpop__QEvent_spontaneous" spontaneous' ::  HoppyF.Ptr QEventConst -> HoppyP.IO HoppyFC.CBool
foreign import ccall "genpop__QEvent_eventType" eventType' ::  HoppyF.Ptr QEventConst -> HoppyP.IO HoppyFC.CInt
foreign import ccall "gendel__QEvent" delete'QEvent :: HoppyF.Ptr QEventConst -> HoppyP.IO ()
foreign import ccall "&gendel__QEvent" deletePtr'QEvent :: HoppyF.FunPtr (HoppyF.Ptr QEventConst -> HoppyP.IO ())

class QEventValue a where
  withQEventPtr :: a -> (QEventConst -> HoppyP.IO b) -> HoppyP.IO b

instance {-# OVERLAPPABLE #-} QEventConstPtr a => QEventValue a where
  withQEventPtr = HoppyP.flip ($) . toQEventConst

class (HoppyFHR.CppPtr this) => QEventConstPtr this where
  toQEventConst :: this -> QEventConst

isAccepted :: (QEventValue this) => (this) {- ^ this -} -> (HoppyP.IO HoppyP.Bool)
isAccepted arg'1 =
  withQEventPtr arg'1 $ HoppyP.flip HoppyFHR.withCppPtr $ \arg'1' ->
  (
    (HoppyP.return . (/= 0))
  ) =<<
  (isAccepted' arg'1')

spontaneous :: (QEventValue this) => (this) {- ^ this -} -> (HoppyP.IO HoppyP.Bool)
spontaneous arg'1 =
  withQEventPtr arg'1 $ HoppyP.flip HoppyFHR.withCppPtr $ \arg'1' ->
  (
    (HoppyP.return . (/= 0))
  ) =<<
  (spontaneous' arg'1')

eventType :: (QEventValue this) => (this) {- ^ this -} -> (HoppyP.IO QEventType)
eventType arg'1 =
  withQEventPtr arg'1 $ HoppyP.flip HoppyFHR.withCppPtr $ \arg'1' ->
  (
    HoppyP.return . HoppyFHR.toCppEnum
  ) =<<
  (eventType' arg'1')

class (QEventConstPtr this) => QEventPtr this where
  toQEvent :: this -> QEvent

accept :: (QEventPtr this) => (this) {- ^ this -} -> (HoppyP.IO ())
accept arg'1 =
  HoppyFHR.withCppPtr (toQEvent arg'1) $ \arg'1' ->
  (accept' arg'1')

setAccepted :: (QEventPtr this) => (this) {- ^ this -} -> (HoppyP.Bool) -> (HoppyP.IO ())
setAccepted arg'1 arg'2 =
  HoppyFHR.withCppPtr (toQEvent arg'1) $ \arg'1' ->
  (
    \x -> HoppyP.return $ if x then 1 else 0
  ) arg'2 >>= \arg'2' ->
  (setAccepted' arg'1' arg'2')

ignore :: (QEventPtr this) => (this) {- ^ this -} -> (HoppyP.IO ())
ignore arg'1 =
  HoppyFHR.withCppPtr (toQEvent arg'1) $ \arg'1' ->
  (ignore' arg'1')

registerEventType :: (HoppyP.IO HoppyP.Int)
registerEventType =
  (
    HoppyP.return . HoppyFHR.coerceIntegral
  ) =<<
  (registerEventType')

registerEventTypeWithHint :: (HoppyP.Int) -> (HoppyP.IO HoppyP.Int)
registerEventTypeWithHint arg'1 =
  (
    HoppyP.return . HoppyFHR.coerceIntegral
  ) arg'1 >>= \arg'1' ->
  (
    HoppyP.return . HoppyFHR.coerceIntegral
  ) =<<
  (registerEventTypeWithHint' arg'1')

data QEventConst =
    QEventConst (HoppyF.Ptr QEventConst)
  | QEventConstGc (HoppyF.ForeignPtr ()) (HoppyF.Ptr QEventConst)
  deriving (HoppyP.Show)

instance HoppyP.Eq QEventConst where
  x == y = HoppyFHR.toPtr x == HoppyFHR.toPtr y

instance HoppyP.Ord QEventConst where
  compare x y = HoppyP.compare (HoppyFHR.toPtr x) (HoppyFHR.toPtr y)

castQEventToConst :: QEvent -> QEventConst
castQEventToConst (QEvent ptr') = QEventConst $ HoppyF.castPtr ptr'
castQEventToConst (QEventGc fptr' ptr') = QEventConstGc fptr' $ HoppyF.castPtr ptr'

instance HoppyFHR.CppPtr QEventConst where
  nullptr = QEventConst HoppyF.nullPtr
  
  withCppPtr (QEventConst ptr') f' = f' ptr'
  withCppPtr (QEventConstGc fptr' ptr') f' = HoppyF.withForeignPtr fptr' $ \_ -> f' ptr'
  
  toPtr (QEventConst ptr') = ptr'
  toPtr (QEventConstGc _ ptr') = ptr'
  
  touchCppPtr (QEventConst _) = HoppyP.return ()
  touchCppPtr (QEventConstGc fptr' _) = HoppyF.touchForeignPtr fptr'

instance HoppyFHR.Deletable QEventConst where
  delete (QEventConst ptr') = delete'QEvent ptr'
  delete (QEventConstGc _ _) = HoppyP.fail $ HoppyP.concat ["Deletable.delete: Asked to delete a GC-managed ", "QEventConst", " object."]
  
  toGc this'@(QEventConst ptr') = if ptr' == HoppyF.nullPtr then HoppyP.return this' else HoppyP.fmap (HoppyP.flip QEventConstGc ptr') $ HoppyF.newForeignPtr (HoppyF.castFunPtr deletePtr'QEvent :: HoppyF.FunPtr (HoppyF.Ptr () -> HoppyP.IO ())) (HoppyF.castPtr ptr' :: HoppyF.Ptr ())
  toGc this'@(QEventConstGc {}) = HoppyP.return this'

instance QEventConstPtr QEventConst where
  toQEventConst = HoppyP.id

data QEvent =
    QEvent (HoppyF.Ptr QEvent)
  | QEventGc (HoppyF.ForeignPtr ()) (HoppyF.Ptr QEvent)
  deriving (HoppyP.Show)

instance HoppyP.Eq QEvent where
  x == y = HoppyFHR.toPtr x == HoppyFHR.toPtr y

instance HoppyP.Ord QEvent where
  compare x y = HoppyP.compare (HoppyFHR.toPtr x) (HoppyFHR.toPtr y)

castQEventToNonconst :: QEventConst -> QEvent
castQEventToNonconst (QEventConst ptr') = QEvent $ HoppyF.castPtr ptr'
castQEventToNonconst (QEventConstGc fptr' ptr') = QEventGc fptr' $ HoppyF.castPtr ptr'

instance HoppyFHR.CppPtr QEvent where
  nullptr = QEvent HoppyF.nullPtr
  
  withCppPtr (QEvent ptr') f' = f' ptr'
  withCppPtr (QEventGc fptr' ptr') f' = HoppyF.withForeignPtr fptr' $ \_ -> f' ptr'
  
  toPtr (QEvent ptr') = ptr'
  toPtr (QEventGc _ ptr') = ptr'
  
  touchCppPtr (QEvent _) = HoppyP.return ()
  touchCppPtr (QEventGc fptr' _) = HoppyF.touchForeignPtr fptr'

instance HoppyFHR.Deletable QEvent where
  delete (QEvent ptr') = delete'QEvent $ (HoppyF.castPtr ptr' :: HoppyF.Ptr QEventConst)
  delete (QEventGc _ _) = HoppyP.fail $ HoppyP.concat ["Deletable.delete: Asked to delete a GC-managed ", "QEvent", " object."]
  
  toGc this'@(QEvent ptr') = if ptr' == HoppyF.nullPtr then HoppyP.return this' else HoppyP.fmap (HoppyP.flip QEventGc ptr') $ HoppyF.newForeignPtr (HoppyF.castFunPtr deletePtr'QEvent :: HoppyF.FunPtr (HoppyF.Ptr () -> HoppyP.IO ())) (HoppyF.castPtr ptr' :: HoppyF.Ptr ())
  toGc this'@(QEventGc {}) = HoppyP.return this'

instance QEventConstPtr QEvent where
  toQEventConst (QEvent ptr') = QEventConst $ (HoppyF.castPtr :: HoppyF.Ptr QEvent -> HoppyF.Ptr QEventConst) ptr'
  toQEventConst (QEventGc fptr' ptr') = QEventConstGc fptr' $ (HoppyF.castPtr :: HoppyF.Ptr QEvent -> HoppyF.Ptr QEventConst) ptr'

instance QEventPtr QEvent where
  toQEvent = HoppyP.id

new :: (QEventType) -> (HoppyP.IO QEvent)
new arg'1 =
  (
    HoppyP.return . HoppyFHR.fromCppEnum
  ) arg'1 >>= \arg'1' ->
  HoppyP.fmap QEvent
  (new' arg'1')

class QEventSuper a where
  downToQEvent :: a -> QEvent


class QEventSuperConst a where
  downToQEventConst :: a -> QEventConst


instance HoppyFHR.Assignable (HoppyF.Ptr (HoppyF.Ptr QEvent)) QEvent where
  assign ptr' value' = HoppyF.poke ptr' $ HoppyFHR.toPtr value'

instance HoppyFHR.Decodable (HoppyF.Ptr (HoppyF.Ptr QEvent)) QEvent where
  decode = HoppyP.fmap QEvent . HoppyF.peek

data QEventType =
  None
  | ActionAdded
  | ActionChanged
  | ActionRemoved
  | ActivationChange
  | ApplicationActivate
  | ApplicationActivated
  | ApplicationDeactivate
  | ApplicationFontChange
  | ApplicationLayoutDirectionChange
  | ApplicationPaletteChange
  | ApplicationStateChange
  | ApplicationWindowIconChange
  | ChildAdded
  | ChildPolished
  | ChildRemoved
  | Clipboard
  | Close
  | CloseSoftwareInputPanel
  | ContentsRectChange
  | ContextMenu
  | CursorChange
  | DeferredDelete
  | DragEnter
  | DragLeave
  | DragMove
  | Drop
  | DynamicPropertyChange
  | EnabledChange
  | Enter
  | EnterWhatsThisMode
  | Expose
  | FileOpen
  | FocusIn
  | FocusOut
  | FocusAboutToChange
  | FontChange
  | Gesture
  | GestureOverride
  | GrabKeyboard
  | GrabMouse
  | GraphicsSceneContextMenu
  | GraphicsSceneDragEnter
  | GraphicsSceneDragLeave
  | GraphicsSceneDragMove
  | GraphicsSceneDrop
  | GraphicsSceneHelp
  | GraphicsSceneHoverEnter
  | GraphicsSceneHoverLeave
  | GraphicsSceneHoverMove
  | GraphicsSceneMouseDoubleClick
  | GraphicsSceneMouseMove
  | GraphicsSceneMousePress
  | GraphicsSceneMouseRelease
  | GraphicsSceneMove
  | GraphicsSceneResize
  | GraphicsSceneWheel
  | Hide
  | HideToParent
  | HoverEnter
  | HoverLeave
  | HoverMove
  | IconDrag
  | IconTextChange
  | InputMethod
  | InputMethodQuery
  | KeyboardLayoutChange
  | KeyPress
  | KeyRelease
  | LanguageChange
  | LayoutDirectionChange
  | LayoutRequest
  | Leave
  | LeaveWhatsThisMode
  | LocaleChange
  | NonClientAreaMouseButtonDblClick
  | NonClientAreaMouseButtonPress
  | NonClientAreaMouseButtonRelease
  | NonClientAreaMouseMove
  | MacSizeChange
  | MetaCall
  | ModifiedChange
  | MouseButtonDblClick
  | MouseButtonPress
  | MouseButtonRelease
  | MouseMove
  | MouseTrackingChange
  | Move
  | NativeGesture
  | OrientationChange
  | Paint
  | PaletteChange
  | ParentAboutToChange
  | ParentChange
  | PlatformPanel
  | PlatformSurface
  | Polish
  | PolishRequest
  | QueryWhatsThis
  | ReadOnlyChange
  | RequestSoftwareInputPanel
  | Resize
  | ScrollPrepare
  | Scroll
  | Shortcut
  | ShortcutOverride
  | Show
  | ShowToParent
  | SockAct
  | StateMachineSignal
  | StateMachineWrapped
  | StatusTip
  | StyleChange
  | TabletMove
  | TabletPress
  | TabletRelease
  | OkRequest
  | TabletEnterProximity
  | TabletLeaveProximity
  | ThreadChange
  | Timer
  | ToolBarChange
  | ToolTip
  | ToolTipChange
  | TouchBegin
  | TouchCancel
  | TouchEnd
  | TouchUpdate
  | UngrabKeyboard
  | UngrabMouse
  | UpdateLater
  | UpdateRequest
  | WhatsThis
  | WhatsThisClicked
  | Wheel
  | WinEventAct
  | WindowActivate
  | WindowBlocked
  | WindowDeactivate
  | WindowIconChange
  | WindowStateChange
  | WindowTitleChange
  | WindowUnblocked
  | WinIdChange
  | ZOrderChange
  | User
  | MaxUser
  | UnknownQEventType (HoppyFC.CInt)
  deriving (HoppyP.Show)

instance HoppyFHR.CppEnum (HoppyFC.CInt) QEventType where
  fromCppEnum None = 0
  fromCppEnum ActionAdded = 114
  fromCppEnum ActionChanged = 113
  fromCppEnum ActionRemoved = 115
  fromCppEnum ActivationChange = 99
  fromCppEnum ApplicationActivate = 121
  fromCppEnum ApplicationActivated = 121
  fromCppEnum ApplicationDeactivate = 122
  fromCppEnum ApplicationFontChange = 36
  fromCppEnum ApplicationLayoutDirectionChange = 37
  fromCppEnum ApplicationPaletteChange = 38
  fromCppEnum ApplicationStateChange = 214
  fromCppEnum ApplicationWindowIconChange = 35
  fromCppEnum ChildAdded = 68
  fromCppEnum ChildPolished = 69
  fromCppEnum ChildRemoved = 71
  fromCppEnum Clipboard = 40
  fromCppEnum Close = 19
  fromCppEnum CloseSoftwareInputPanel = 200
  fromCppEnum ContentsRectChange = 178
  fromCppEnum ContextMenu = 82
  fromCppEnum CursorChange = 183
  fromCppEnum DeferredDelete = 52
  fromCppEnum DragEnter = 60
  fromCppEnum DragLeave = 62
  fromCppEnum DragMove = 61
  fromCppEnum Drop = 63
  fromCppEnum DynamicPropertyChange = 170
  fromCppEnum EnabledChange = 98
  fromCppEnum Enter = 10
  fromCppEnum EnterWhatsThisMode = 124
  fromCppEnum Expose = 206
  fromCppEnum FileOpen = 116
  fromCppEnum FocusIn = 8
  fromCppEnum FocusOut = 9
  fromCppEnum FocusAboutToChange = 23
  fromCppEnum FontChange = 97
  fromCppEnum Gesture = 198
  fromCppEnum GestureOverride = 202
  fromCppEnum GrabKeyboard = 188
  fromCppEnum GrabMouse = 186
  fromCppEnum GraphicsSceneContextMenu = 159
  fromCppEnum GraphicsSceneDragEnter = 164
  fromCppEnum GraphicsSceneDragLeave = 166
  fromCppEnum GraphicsSceneDragMove = 165
  fromCppEnum GraphicsSceneDrop = 167
  fromCppEnum GraphicsSceneHelp = 163
  fromCppEnum GraphicsSceneHoverEnter = 160
  fromCppEnum GraphicsSceneHoverLeave = 162
  fromCppEnum GraphicsSceneHoverMove = 161
  fromCppEnum GraphicsSceneMouseDoubleClick = 158
  fromCppEnum GraphicsSceneMouseMove = 155
  fromCppEnum GraphicsSceneMousePress = 156
  fromCppEnum GraphicsSceneMouseRelease = 157
  fromCppEnum GraphicsSceneMove = 182
  fromCppEnum GraphicsSceneResize = 181
  fromCppEnum GraphicsSceneWheel = 168
  fromCppEnum Hide = 18
  fromCppEnum HideToParent = 27
  fromCppEnum HoverEnter = 127
  fromCppEnum HoverLeave = 128
  fromCppEnum HoverMove = 129
  fromCppEnum IconDrag = 96
  fromCppEnum IconTextChange = 101
  fromCppEnum InputMethod = 83
  fromCppEnum InputMethodQuery = 207
  fromCppEnum KeyboardLayoutChange = 169
  fromCppEnum KeyPress = 6
  fromCppEnum KeyRelease = 7
  fromCppEnum LanguageChange = 89
  fromCppEnum LayoutDirectionChange = 90
  fromCppEnum LayoutRequest = 76
  fromCppEnum Leave = 11
  fromCppEnum LeaveWhatsThisMode = 125
  fromCppEnum LocaleChange = 88
  fromCppEnum NonClientAreaMouseButtonDblClick = 176
  fromCppEnum NonClientAreaMouseButtonPress = 174
  fromCppEnum NonClientAreaMouseButtonRelease = 175
  fromCppEnum NonClientAreaMouseMove = 173
  fromCppEnum MacSizeChange = 177
  fromCppEnum MetaCall = 43
  fromCppEnum ModifiedChange = 102
  fromCppEnum MouseButtonDblClick = 4
  fromCppEnum MouseButtonPress = 2
  fromCppEnum MouseButtonRelease = 3
  fromCppEnum MouseMove = 5
  fromCppEnum MouseTrackingChange = 109
  fromCppEnum Move = 13
  fromCppEnum NativeGesture = 197
  fromCppEnum OrientationChange = 208
  fromCppEnum Paint = 12
  fromCppEnum PaletteChange = 39
  fromCppEnum ParentAboutToChange = 131
  fromCppEnum ParentChange = 21
  fromCppEnum PlatformPanel = 212
  fromCppEnum PlatformSurface = 217
  fromCppEnum Polish = 75
  fromCppEnum PolishRequest = 74
  fromCppEnum QueryWhatsThis = 123
  fromCppEnum ReadOnlyChange = 106
  fromCppEnum RequestSoftwareInputPanel = 199
  fromCppEnum Resize = 14
  fromCppEnum ScrollPrepare = 204
  fromCppEnum Scroll = 205
  fromCppEnum Shortcut = 117
  fromCppEnum ShortcutOverride = 51
  fromCppEnum Show = 17
  fromCppEnum ShowToParent = 26
  fromCppEnum SockAct = 50
  fromCppEnum StateMachineSignal = 192
  fromCppEnum StateMachineWrapped = 193
  fromCppEnum StatusTip = 112
  fromCppEnum StyleChange = 100
  fromCppEnum TabletMove = 87
  fromCppEnum TabletPress = 92
  fromCppEnum TabletRelease = 93
  fromCppEnum OkRequest = 94
  fromCppEnum TabletEnterProximity = 171
  fromCppEnum TabletLeaveProximity = 172
  fromCppEnum ThreadChange = 22
  fromCppEnum Timer = 1
  fromCppEnum ToolBarChange = 120
  fromCppEnum ToolTip = 110
  fromCppEnum ToolTipChange = 184
  fromCppEnum TouchBegin = 194
  fromCppEnum TouchCancel = 209
  fromCppEnum TouchEnd = 196
  fromCppEnum TouchUpdate = 195
  fromCppEnum UngrabKeyboard = 189
  fromCppEnum UngrabMouse = 187
  fromCppEnum UpdateLater = 78
  fromCppEnum UpdateRequest = 77
  fromCppEnum WhatsThis = 111
  fromCppEnum WhatsThisClicked = 118
  fromCppEnum Wheel = 31
  fromCppEnum WinEventAct = 132
  fromCppEnum WindowActivate = 24
  fromCppEnum WindowBlocked = 103
  fromCppEnum WindowDeactivate = 25
  fromCppEnum WindowIconChange = 34
  fromCppEnum WindowStateChange = 105
  fromCppEnum WindowTitleChange = 33
  fromCppEnum WindowUnblocked = 104
  fromCppEnum WinIdChange = 203
  fromCppEnum ZOrderChange = 126
  fromCppEnum User = 1000
  fromCppEnum MaxUser = 65535
  fromCppEnum (UnknownQEventType n) = n
  
  toCppEnum (0) = None
  toCppEnum (1) = Timer
  toCppEnum (2) = MouseButtonPress
  toCppEnum (3) = MouseButtonRelease
  toCppEnum (4) = MouseButtonDblClick
  toCppEnum (5) = MouseMove
  toCppEnum (6) = KeyPress
  toCppEnum (7) = KeyRelease
  toCppEnum (8) = FocusIn
  toCppEnum (9) = FocusOut
  toCppEnum (10) = Enter
  toCppEnum (11) = Leave
  toCppEnum (12) = Paint
  toCppEnum (13) = Move
  toCppEnum (14) = Resize
  toCppEnum (17) = Show
  toCppEnum (18) = Hide
  toCppEnum (19) = Close
  toCppEnum (21) = ParentChange
  toCppEnum (22) = ThreadChange
  toCppEnum (23) = FocusAboutToChange
  toCppEnum (24) = WindowActivate
  toCppEnum (25) = WindowDeactivate
  toCppEnum (26) = ShowToParent
  toCppEnum (27) = HideToParent
  toCppEnum (31) = Wheel
  toCppEnum (33) = WindowTitleChange
  toCppEnum (34) = WindowIconChange
  toCppEnum (35) = ApplicationWindowIconChange
  toCppEnum (36) = ApplicationFontChange
  toCppEnum (37) = ApplicationLayoutDirectionChange
  toCppEnum (38) = ApplicationPaletteChange
  toCppEnum (39) = PaletteChange
  toCppEnum (40) = Clipboard
  toCppEnum (43) = MetaCall
  toCppEnum (50) = SockAct
  toCppEnum (51) = ShortcutOverride
  toCppEnum (52) = DeferredDelete
  toCppEnum (60) = DragEnter
  toCppEnum (61) = DragMove
  toCppEnum (62) = DragLeave
  toCppEnum (63) = Drop
  toCppEnum (68) = ChildAdded
  toCppEnum (69) = ChildPolished
  toCppEnum (71) = ChildRemoved
  toCppEnum (74) = PolishRequest
  toCppEnum (75) = Polish
  toCppEnum (76) = LayoutRequest
  toCppEnum (77) = UpdateRequest
  toCppEnum (78) = UpdateLater
  toCppEnum (82) = ContextMenu
  toCppEnum (83) = InputMethod
  toCppEnum (87) = TabletMove
  toCppEnum (88) = LocaleChange
  toCppEnum (89) = LanguageChange
  toCppEnum (90) = LayoutDirectionChange
  toCppEnum (92) = TabletPress
  toCppEnum (93) = TabletRelease
  toCppEnum (94) = OkRequest
  toCppEnum (96) = IconDrag
  toCppEnum (97) = FontChange
  toCppEnum (98) = EnabledChange
  toCppEnum (99) = ActivationChange
  toCppEnum (100) = StyleChange
  toCppEnum (101) = IconTextChange
  toCppEnum (102) = ModifiedChange
  toCppEnum (103) = WindowBlocked
  toCppEnum (104) = WindowUnblocked
  toCppEnum (105) = WindowStateChange
  toCppEnum (106) = ReadOnlyChange
  toCppEnum (109) = MouseTrackingChange
  toCppEnum (110) = ToolTip
  toCppEnum (111) = WhatsThis
  toCppEnum (112) = StatusTip
  toCppEnum (113) = ActionChanged
  toCppEnum (114) = ActionAdded
  toCppEnum (115) = ActionRemoved
  toCppEnum (116) = FileOpen
  toCppEnum (117) = Shortcut
  toCppEnum (118) = WhatsThisClicked
  toCppEnum (120) = ToolBarChange
  toCppEnum (121) = ApplicationActivated
  toCppEnum (122) = ApplicationDeactivate
  toCppEnum (123) = QueryWhatsThis
  toCppEnum (124) = EnterWhatsThisMode
  toCppEnum (125) = LeaveWhatsThisMode
  toCppEnum (126) = ZOrderChange
  toCppEnum (127) = HoverEnter
  toCppEnum (128) = HoverLeave
  toCppEnum (129) = HoverMove
  toCppEnum (131) = ParentAboutToChange
  toCppEnum (132) = WinEventAct
  toCppEnum (155) = GraphicsSceneMouseMove
  toCppEnum (156) = GraphicsSceneMousePress
  toCppEnum (157) = GraphicsSceneMouseRelease
  toCppEnum (158) = GraphicsSceneMouseDoubleClick
  toCppEnum (159) = GraphicsSceneContextMenu
  toCppEnum (160) = GraphicsSceneHoverEnter
  toCppEnum (161) = GraphicsSceneHoverMove
  toCppEnum (162) = GraphicsSceneHoverLeave
  toCppEnum (163) = GraphicsSceneHelp
  toCppEnum (164) = GraphicsSceneDragEnter
  toCppEnum (165) = GraphicsSceneDragMove
  toCppEnum (166) = GraphicsSceneDragLeave
  toCppEnum (167) = GraphicsSceneDrop
  toCppEnum (168) = GraphicsSceneWheel
  toCppEnum (169) = KeyboardLayoutChange
  toCppEnum (170) = DynamicPropertyChange
  toCppEnum (171) = TabletEnterProximity
  toCppEnum (172) = TabletLeaveProximity
  toCppEnum (173) = NonClientAreaMouseMove
  toCppEnum (174) = NonClientAreaMouseButtonPress
  toCppEnum (175) = NonClientAreaMouseButtonRelease
  toCppEnum (176) = NonClientAreaMouseButtonDblClick
  toCppEnum (177) = MacSizeChange
  toCppEnum (178) = ContentsRectChange
  toCppEnum (181) = GraphicsSceneResize
  toCppEnum (182) = GraphicsSceneMove
  toCppEnum (183) = CursorChange
  toCppEnum (184) = ToolTipChange
  toCppEnum (186) = GrabMouse
  toCppEnum (187) = UngrabMouse
  toCppEnum (188) = GrabKeyboard
  toCppEnum (189) = UngrabKeyboard
  toCppEnum (192) = StateMachineSignal
  toCppEnum (193) = StateMachineWrapped
  toCppEnum (194) = TouchBegin
  toCppEnum (195) = TouchUpdate
  toCppEnum (196) = TouchEnd
  toCppEnum (197) = NativeGesture
  toCppEnum (198) = Gesture
  toCppEnum (199) = RequestSoftwareInputPanel
  toCppEnum (200) = CloseSoftwareInputPanel
  toCppEnum (202) = GestureOverride
  toCppEnum (203) = WinIdChange
  toCppEnum (204) = ScrollPrepare
  toCppEnum (205) = Scroll
  toCppEnum (206) = Expose
  toCppEnum (207) = InputMethodQuery
  toCppEnum (208) = OrientationChange
  toCppEnum (209) = TouchCancel
  toCppEnum (212) = PlatformPanel
  toCppEnum (214) = ApplicationStateChange
  toCppEnum (217) = PlatformSurface
  toCppEnum (1000) = User
  toCppEnum (65535) = MaxUser
  toCppEnum n = UnknownQEventType n

instance HoppyP.Eq QEventType where
  x == y = HoppyFHR.fromCppEnum x == HoppyFHR.fromCppEnum y

instance HoppyP.Ord QEventType where
  compare x y = HoppyP.compare (HoppyFHR.fromCppEnum x) (HoppyFHR.fromCppEnum y)