diff --git a/Setup.hs b/Setup.hs
--- a/Setup.hs
+++ b/Setup.hs
@@ -1,6 +1,6 @@
 -- This file is part of Qtah.
 --
--- Copyright 2015-2018 The Qtah Authors.
+-- Copyright 2015-2019 The Qtah Authors.
 --
 -- This program is free software: you can redistribute it and/or modify
 -- it under the terms of the GNU Lesser General Public License as published by
@@ -252,6 +252,7 @@
   delStartingWithInDir "Q" $ startDir </> joinPath ["src", "Graphics", "UI", "Qtah", "Core"]
   delStartingWithInDir "Q" $ startDir </> joinPath ["src", "Graphics", "UI", "Qtah", "Gui"]
   delStartingWithInDir "Q" $ startDir </> joinPath ["src", "Graphics", "UI", "Qtah", "Widgets"]
+  delStartingWithInDir "Connection.hs" $ startDir </> joinPath ["src", "Graphics", "UI", "Qtah", "Core"]
   delStartingWithInDir "Types.hs" $ startDir </> joinPath ["src", "Graphics", "UI", "Qtah", "Core"]
   mapM_ (delFile True (startDir </> joinPath ["src", "Graphics", "UI", "Qtah", "Internal"]))
     ["Callback.hs", "EventListener.hs", "Listener.hs", "SceneEventListener.hs"]
@@ -342,10 +343,12 @@
 #endif
           qt4Flag = fromMaybe False $ lookupFlag (mkFlagName "qt4") flags
           qt5Flag = fromMaybe False $ lookupFlag (mkFlagName "qt5") flags
-          qtFlag = if qt4Flag then Just 4 else if qt5Flag then Just 5 else Nothing
+          qtFlag | qt4Flag = Just 4
+                 | qt5Flag = Just 5
+                 | otherwise = Nothing
       when (qt4Flag && qt5Flag) $
-        dieFn $ concat
-        [packageName, ": The qt4 and qt5 flags are mutually exclusive.  Please select at most one."]
+        dieFn $
+        packageName ++ ": The qt4 and qt5 flags are mutually exclusive.  Please select at most one."
 
       -- Inspect the QTAH_QT environment variable.
       qtahQtStr <- lookupEnv "QTAH_QT"
@@ -362,11 +365,10 @@
       -- generator to pick up.
       case (qtahQtMajor, qtFlag) of
         -- If both QTAH_QT and one of the qtX flags above is set, then they must agree.
-        (Just m, Just n) -> do
-          when (m /= n) $
-            dieFn $ concat
-            [packageName, ": QTAH_QT=", show $ fromMaybe "" qtahQtStr, " and the qt",
-             show n, " flag conflict."]
+        (Just m, Just n) | m /= n ->
+          dieFn $ concat
+          [packageName, ": QTAH_QT=", show $ fromMaybe "" qtahQtStr, " and the qt",
+           show n, " flag conflict."]
         -- Otherwise, if QTAH_QT is not already set but we have a flag preference,
         -- then use QTAH_QT to tell qtah-generator about the flag.
         (Nothing, Just n) -> setEnv "QTAH_QT" $ show n
@@ -381,7 +383,7 @@
         (_, Just n) ->
           notice verbosity $
           concat [packageName, ": Requesting Qt ", show n, " because of the qt", show n, " flag."]
-        _ -> notice verbosity $ concat [packageName, ": Requesting system default Qt."]
+        _ -> notice verbosity $ packageName ++ ": Requesting system default Qt."
 
       return $ qtahQtMajor <|> qtFlag
 
diff --git a/qtah-qt5.cabal b/qtah-qt5.cabal
--- a/qtah-qt5.cabal
+++ b/qtah-qt5.cabal
@@ -1,15 +1,15 @@
 name: qtah-qt5
-version: 0.5.1
+version: 0.6.0
 synopsis: Qt bindings for Haskell
 homepage: http://khumba.net/projects/qtah
 license: LGPL-3
 license-files: LICENSE.GPL, LICENSE.LGPL
 author: Bryan Gardiner <bog@khumba.net>
 maintainer: Bryan Gardiner <bog@khumba.net>
-copyright: Copyright 2015-2018 The Qtah Authors.
+copyright: Copyright 2015-2019 The Qtah Authors.
 category: Graphics
 build-type: Custom
-cabal-version: >=1.10
+cabal-version: 1.20
 description:
   Qtah is a set of Qt bindings for Haskell.  This package contains the Haskell
   side of the bindings, and is what Qt programs should use directly.
@@ -21,19 +21,37 @@
     , Graphics.UI.Qtah.Core.HPointF
     , Graphics.UI.Qtah.Core.HRect
     , Graphics.UI.Qtah.Core.HSize
+    , Graphics.UI.Qtah.Core.QAbstractAnimation
     , Graphics.UI.Qtah.Core.QAbstractItemModel
     , Graphics.UI.Qtah.Core.QAbstractListModel
     , Graphics.UI.Qtah.Core.QAbstractTableModel
+    , Graphics.UI.Qtah.Core.QAnimationGroup
+    , Graphics.UI.Qtah.Core.QBuffer
     , Graphics.UI.Qtah.Core.QByteArray
     , Graphics.UI.Qtah.Core.QChar
     , Graphics.UI.Qtah.Core.QChildEvent
     , Graphics.UI.Qtah.Core.QCoreApplication
+    , Graphics.UI.Qtah.Core.QCryptographicHash
     , Graphics.UI.Qtah.Core.QDate
+    , Graphics.UI.Qtah.Core.QDateTime
+    , Graphics.UI.Qtah.Core.QDebug
+    , Graphics.UI.Qtah.Core.QDebugStateSaver
     , Graphics.UI.Qtah.Core.QDir
+    , Graphics.UI.Qtah.Core.QDirIterator
     , Graphics.UI.Qtah.Core.QEvent
+    , Graphics.UI.Qtah.Core.QFile
+    , Graphics.UI.Qtah.Core.QFileDevice
+    , Graphics.UI.Qtah.Core.QFileInfo
+    , Graphics.UI.Qtah.Core.QFileSelector
+    , Graphics.UI.Qtah.Core.QFileSystemWatcher
+    , Graphics.UI.Qtah.Core.QIODevice
     , Graphics.UI.Qtah.Core.QItemSelection
     , Graphics.UI.Qtah.Core.QItemSelectionModel
     , Graphics.UI.Qtah.Core.QItemSelectionRange
+    , Graphics.UI.Qtah.Core.QLatin1Char
+    , Graphics.UI.Qtah.Core.QLatin1String
+    , Graphics.UI.Qtah.Core.QLibrary
+    , Graphics.UI.Qtah.Core.QLibraryInfo
     , Graphics.UI.Qtah.Core.QList.Int
     , Graphics.UI.Qtah.Core.QList.QAbstractButton
     , Graphics.UI.Qtah.Core.QList.QByteArray
@@ -43,36 +61,89 @@
     , Graphics.UI.Qtah.Core.QList.QSize
     , Graphics.UI.Qtah.Core.QList.QStandardItem
     , Graphics.UI.Qtah.Core.QList.QString
+    , Graphics.UI.Qtah.Core.QList.QTreeWidgetItem
     , Graphics.UI.Qtah.Core.QList.QVariant
     , Graphics.UI.Qtah.Core.QList.QWidget
+    , Graphics.UI.Qtah.Core.QLockFile
+    , Graphics.UI.Qtah.Core.QLoggingCategory
     , Graphics.UI.Qtah.Core.QMargins
     , Graphics.UI.Qtah.Core.QMarginsF
+    , Graphics.UI.Qtah.Core.QMessageAuthenticationCode
+    , Graphics.UI.Qtah.Core.QMessageLogContext
+    , Graphics.UI.Qtah.Core.QMessageLogger
+    , Graphics.UI.Qtah.Core.QMetaClassInfo
+    , Graphics.UI.Qtah.Core.QMetaEnum
+    , Graphics.UI.Qtah.Core.QMetaMethod
+    , Graphics.UI.Qtah.Core.QMetaObject
+    , Graphics.UI.Qtah.Core.QMetaObject.Connection
+    , Graphics.UI.Qtah.Core.QMetaProperty
     , Graphics.UI.Qtah.Core.QModelIndex
     , Graphics.UI.Qtah.Core.QObject
+    , Graphics.UI.Qtah.Core.QOperatingSystemVersion
+    , Graphics.UI.Qtah.Core.QPair.IntInt
     , Graphics.UI.Qtah.Core.QPalette
+    , Graphics.UI.Qtah.Core.QParallelAnimationGroup
+    , Graphics.UI.Qtah.Core.QPauseAnimation
     , Graphics.UI.Qtah.Core.QPersistentModelIndex
+    , Graphics.UI.Qtah.Core.QPluginLoader
     , Graphics.UI.Qtah.Core.QPoint
     , Graphics.UI.Qtah.Core.QPointF
+    , Graphics.UI.Qtah.Core.QProcess
+    , Graphics.UI.Qtah.Core.QProcessEnvironment
+    , Graphics.UI.Qtah.Core.QPropertyAnimation
+    , Graphics.UI.Qtah.Core.QRandomGenerator
+    , Graphics.UI.Qtah.Core.QRandomGenerator64
     , Graphics.UI.Qtah.Core.QRect
     , Graphics.UI.Qtah.Core.QRectF
+    , Graphics.UI.Qtah.Core.QResource
+    , Graphics.UI.Qtah.Core.QSaveFile
+    , Graphics.UI.Qtah.Core.QSequentialAnimationGroup
     , Graphics.UI.Qtah.Core.QSettings
     , Graphics.UI.Qtah.Core.QSize
     , Graphics.UI.Qtah.Core.QSizeF
+    , Graphics.UI.Qtah.Core.QStandardPaths
+    , Graphics.UI.Qtah.Core.QStaticPlugin
     , Graphics.UI.Qtah.Core.QString
     , Graphics.UI.Qtah.Core.QStringList
     , Graphics.UI.Qtah.Core.QStringListModel
+    , Graphics.UI.Qtah.Core.QSysInfo
     , Graphics.UI.Qtah.Core.QTextCodec
+    , Graphics.UI.Qtah.Core.QTextDecoder
+    , Graphics.UI.Qtah.Core.QTextEncoder
+    , Graphics.UI.Qtah.Core.QThread
+    , Graphics.UI.Qtah.Core.QTime
+    , Graphics.UI.Qtah.Core.QTimeZone
     , Graphics.UI.Qtah.Core.QTimer
     , Graphics.UI.Qtah.Core.QTimerEvent
+    , Graphics.UI.Qtah.Core.QTranslator
     , Graphics.UI.Qtah.Core.QVariant
+    , Graphics.UI.Qtah.Core.QVariantAnimation
     , Graphics.UI.Qtah.Core.QVector.Int
+    , Graphics.UI.Qtah.Core.QVector.QLatin1String
     , Graphics.UI.Qtah.Core.QVector.QPoint
     , Graphics.UI.Qtah.Core.QVector.QPointF
     , Graphics.UI.Qtah.Core.QVector.QRgb
+    , Graphics.UI.Qtah.Core.QVector.QString
+    , Graphics.UI.Qtah.Core.QVector.QXmlStreamAttribute
+    , Graphics.UI.Qtah.Core.QVector.QXmlStreamEntityDeclaration
+    , Graphics.UI.Qtah.Core.QVector.QXmlStreamNamespaceDeclaration
+    , Graphics.UI.Qtah.Core.QVector.QXmlStreamNotationDeclaration
+    , Graphics.UI.Qtah.Core.QVersionNumber
+    , Graphics.UI.Qtah.Core.QXmlStreamAttribute
+    , Graphics.UI.Qtah.Core.QXmlStreamAttributes
+    , Graphics.UI.Qtah.Core.QXmlStreamEntityDeclaration
+    , Graphics.UI.Qtah.Core.QXmlStreamEntityResolver
+    , Graphics.UI.Qtah.Core.QXmlStreamNamespaceDeclaration
+    , Graphics.UI.Qtah.Core.QXmlStreamNotationDeclaration
+    , Graphics.UI.Qtah.Core.QXmlStreamReader
+    , Graphics.UI.Qtah.Core.QXmlStreamWriter
     , Graphics.UI.Qtah.Core.Types
     , Graphics.UI.Qtah.Event
+    , Graphics.UI.Qtah.Flags
     , Graphics.UI.Qtah.Gui.HColor
     , Graphics.UI.Qtah.Gui.QActionEvent
+    , Graphics.UI.Qtah.Gui.QBackingStore
+    , Graphics.UI.Qtah.Gui.QBitmap
     , Graphics.UI.Qtah.Gui.QBrush
     , Graphics.UI.Qtah.Gui.QClipboard
     , Graphics.UI.Qtah.Gui.QCloseEvent
@@ -83,6 +154,8 @@
     , Graphics.UI.Qtah.Gui.QExposeEvent
     , Graphics.UI.Qtah.Gui.QFocusEvent
     , Graphics.UI.Qtah.Gui.QFont
+    , Graphics.UI.Qtah.Gui.QFontDatabase
+    , Graphics.UI.Qtah.Gui.QGradient
     , Graphics.UI.Qtah.Gui.QHideEvent
     , Graphics.UI.Qtah.Gui.QHoverEvent
     , Graphics.UI.Qtah.Gui.QIcon
@@ -131,6 +204,7 @@
     , Graphics.UI.Qtah.Widgets.QBoxLayout
     , Graphics.UI.Qtah.Widgets.QButtonGroup
     , Graphics.UI.Qtah.Widgets.QCheckBox
+    , Graphics.UI.Qtah.Widgets.QComboBox
     , Graphics.UI.Qtah.Widgets.QDateEdit
     , Graphics.UI.Qtah.Widgets.QDateTimeEdit
     , Graphics.UI.Qtah.Widgets.QDial
@@ -143,6 +217,7 @@
     , Graphics.UI.Qtah.Widgets.QFrame
     , Graphics.UI.Qtah.Widgets.QGraphicsEllipseItem
     , Graphics.UI.Qtah.Widgets.QGraphicsItem
+    , Graphics.UI.Qtah.Widgets.QGraphicsPixmapItem
     , Graphics.UI.Qtah.Widgets.QGraphicsPolygonItem
     , Graphics.UI.Qtah.Widgets.QGraphicsRectItem
     , Graphics.UI.Qtah.Widgets.QGraphicsScene
@@ -191,19 +266,37 @@
     , Graphics.UI.Qtah.Widgets.QVBoxLayout
     , Graphics.UI.Qtah.Widgets.QWidget
   other-modules:
-      Graphics.UI.Qtah.Generated.Core.QAbstractItemModel
+      Graphics.UI.Qtah.Generated.Core.QAbstractAnimation
+    , Graphics.UI.Qtah.Generated.Core.QAbstractItemModel
     , Graphics.UI.Qtah.Generated.Core.QAbstractListModel
     , Graphics.UI.Qtah.Generated.Core.QAbstractTableModel
+    , Graphics.UI.Qtah.Generated.Core.QAnimationGroup
+    , Graphics.UI.Qtah.Generated.Core.QBuffer
     , Graphics.UI.Qtah.Generated.Core.QByteArray
     , Graphics.UI.Qtah.Generated.Core.QChar
     , Graphics.UI.Qtah.Generated.Core.QChildEvent
     , Graphics.UI.Qtah.Generated.Core.QCoreApplication
+    , Graphics.UI.Qtah.Generated.Core.QCryptographicHash
     , Graphics.UI.Qtah.Generated.Core.QDate
+    , Graphics.UI.Qtah.Generated.Core.QDateTime
+    , Graphics.UI.Qtah.Generated.Core.QDebug
+    , Graphics.UI.Qtah.Generated.Core.QDebugStateSaver
     , Graphics.UI.Qtah.Generated.Core.QDir
+    , Graphics.UI.Qtah.Generated.Core.QDirIterator
     , Graphics.UI.Qtah.Generated.Core.QEvent
+    , Graphics.UI.Qtah.Generated.Core.QFile
+    , Graphics.UI.Qtah.Generated.Core.QFileDevice
+    , Graphics.UI.Qtah.Generated.Core.QFileInfo
+    , Graphics.UI.Qtah.Generated.Core.QFileSelector
+    , Graphics.UI.Qtah.Generated.Core.QFileSystemWatcher
+    , Graphics.UI.Qtah.Generated.Core.QIODevice
     , Graphics.UI.Qtah.Generated.Core.QItemSelection
     , Graphics.UI.Qtah.Generated.Core.QItemSelectionModel
     , Graphics.UI.Qtah.Generated.Core.QItemSelectionRange
+    , Graphics.UI.Qtah.Generated.Core.QLatin1Char
+    , Graphics.UI.Qtah.Generated.Core.QLatin1String
+    , Graphics.UI.Qtah.Generated.Core.QLibrary
+    , Graphics.UI.Qtah.Generated.Core.QLibraryInfo
     , Graphics.UI.Qtah.Generated.Core.QList.Int
     , Graphics.UI.Qtah.Generated.Core.QList.QAbstractButton
     , Graphics.UI.Qtah.Generated.Core.QList.QByteArray
@@ -213,34 +306,86 @@
     , Graphics.UI.Qtah.Generated.Core.QList.QSize
     , Graphics.UI.Qtah.Generated.Core.QList.QStandardItem
     , Graphics.UI.Qtah.Generated.Core.QList.QString
+    , Graphics.UI.Qtah.Generated.Core.QList.QTreeWidgetItem
     , Graphics.UI.Qtah.Generated.Core.QList.QVariant
     , Graphics.UI.Qtah.Generated.Core.QList.QWidget
+    , Graphics.UI.Qtah.Generated.Core.QLockFile
+    , Graphics.UI.Qtah.Generated.Core.QLoggingCategory
     , Graphics.UI.Qtah.Generated.Core.QMargins
     , Graphics.UI.Qtah.Generated.Core.QMarginsF
+    , Graphics.UI.Qtah.Generated.Core.QMessageAuthenticationCode
+    , Graphics.UI.Qtah.Generated.Core.QMessageLogContext
+    , Graphics.UI.Qtah.Generated.Core.QMessageLogger
+    , Graphics.UI.Qtah.Generated.Core.QMetaClassInfo
+    , Graphics.UI.Qtah.Generated.Core.QMetaEnum
+    , Graphics.UI.Qtah.Generated.Core.QMetaMethod
+    , Graphics.UI.Qtah.Generated.Core.QMetaObject
+    , Graphics.UI.Qtah.Generated.Core.QMetaObject.Connection
+    , Graphics.UI.Qtah.Generated.Core.QMetaProperty
     , Graphics.UI.Qtah.Generated.Core.QModelIndex
     , Graphics.UI.Qtah.Generated.Core.QObject
+    , Graphics.UI.Qtah.Generated.Core.QOperatingSystemVersion
+    , Graphics.UI.Qtah.Generated.Core.QPair.IntInt
     , Graphics.UI.Qtah.Generated.Core.QPalette
+    , Graphics.UI.Qtah.Generated.Core.QParallelAnimationGroup
+    , Graphics.UI.Qtah.Generated.Core.QPauseAnimation
     , Graphics.UI.Qtah.Generated.Core.QPersistentModelIndex
+    , Graphics.UI.Qtah.Generated.Core.QPluginLoader
     , Graphics.UI.Qtah.Generated.Core.QPoint
     , Graphics.UI.Qtah.Generated.Core.QPointF
+    , Graphics.UI.Qtah.Generated.Core.QProcess
+    , Graphics.UI.Qtah.Generated.Core.QProcessEnvironment
+    , Graphics.UI.Qtah.Generated.Core.QPropertyAnimation
+    , Graphics.UI.Qtah.Generated.Core.QRandomGenerator
+    , Graphics.UI.Qtah.Generated.Core.QRandomGenerator64
     , Graphics.UI.Qtah.Generated.Core.QRect
     , Graphics.UI.Qtah.Generated.Core.QRectF
+    , Graphics.UI.Qtah.Generated.Core.QResource
+    , Graphics.UI.Qtah.Generated.Core.QSaveFile
+    , Graphics.UI.Qtah.Generated.Core.QSequentialAnimationGroup
     , Graphics.UI.Qtah.Generated.Core.QSettings
     , Graphics.UI.Qtah.Generated.Core.QSize
     , Graphics.UI.Qtah.Generated.Core.QSizeF
+    , Graphics.UI.Qtah.Generated.Core.QStandardPaths
+    , Graphics.UI.Qtah.Generated.Core.QStaticPlugin
     , Graphics.UI.Qtah.Generated.Core.QString
     , Graphics.UI.Qtah.Generated.Core.QStringList
     , Graphics.UI.Qtah.Generated.Core.QStringListModel
+    , Graphics.UI.Qtah.Generated.Core.QSysInfo
     , Graphics.UI.Qtah.Generated.Core.QTextCodec
+    , Graphics.UI.Qtah.Generated.Core.QTextDecoder
+    , Graphics.UI.Qtah.Generated.Core.QTextEncoder
+    , Graphics.UI.Qtah.Generated.Core.QThread
+    , Graphics.UI.Qtah.Generated.Core.QTime
+    , Graphics.UI.Qtah.Generated.Core.QTimeZone
     , Graphics.UI.Qtah.Generated.Core.QTimer
     , Graphics.UI.Qtah.Generated.Core.QTimerEvent
+    , Graphics.UI.Qtah.Generated.Core.QTranslator
     , Graphics.UI.Qtah.Generated.Core.QVariant
+    , Graphics.UI.Qtah.Generated.Core.QVariantAnimation
     , Graphics.UI.Qtah.Generated.Core.QVector.Int
+    , Graphics.UI.Qtah.Generated.Core.QVector.QLatin1String
     , Graphics.UI.Qtah.Generated.Core.QVector.QPoint
     , Graphics.UI.Qtah.Generated.Core.QVector.QPointF
     , Graphics.UI.Qtah.Generated.Core.QVector.QRgb
+    , Graphics.UI.Qtah.Generated.Core.QVector.QString
+    , Graphics.UI.Qtah.Generated.Core.QVector.QXmlStreamAttribute
+    , Graphics.UI.Qtah.Generated.Core.QVector.QXmlStreamEntityDeclaration
+    , Graphics.UI.Qtah.Generated.Core.QVector.QXmlStreamNamespaceDeclaration
+    , Graphics.UI.Qtah.Generated.Core.QVector.QXmlStreamNotationDeclaration
+    , Graphics.UI.Qtah.Generated.Core.QVersionNumber
+    , Graphics.UI.Qtah.Generated.Core.QXmlStreamAttribute
+    , Graphics.UI.Qtah.Generated.Core.QXmlStreamAttributes
+    , Graphics.UI.Qtah.Generated.Core.QXmlStreamEntityDeclaration
+    , Graphics.UI.Qtah.Generated.Core.QXmlStreamEntityResolver
+    , Graphics.UI.Qtah.Generated.Core.QXmlStreamNamespaceDeclaration
+    , Graphics.UI.Qtah.Generated.Core.QXmlStreamNotationDeclaration
+    , Graphics.UI.Qtah.Generated.Core.QXmlStreamReader
+    , Graphics.UI.Qtah.Generated.Core.QXmlStreamWriter
     , Graphics.UI.Qtah.Generated.Core.Types
     , Graphics.UI.Qtah.Generated.Gui.QActionEvent
+    , Graphics.UI.Qtah.Generated.Gui.QBackingStore
+    , Graphics.UI.Qtah.Generated.Gui.QBitmap
     , Graphics.UI.Qtah.Generated.Gui.QBrush
     , Graphics.UI.Qtah.Generated.Gui.QClipboard
     , Graphics.UI.Qtah.Generated.Gui.QCloseEvent
@@ -251,6 +396,8 @@
     , Graphics.UI.Qtah.Generated.Gui.QExposeEvent
     , Graphics.UI.Qtah.Generated.Gui.QFocusEvent
     , Graphics.UI.Qtah.Generated.Gui.QFont
+    , Graphics.UI.Qtah.Generated.Gui.QFontDatabase
+    , Graphics.UI.Qtah.Generated.Gui.QGradient
     , Graphics.UI.Qtah.Generated.Gui.QHideEvent
     , Graphics.UI.Qtah.Generated.Gui.QHoverEvent
     , Graphics.UI.Qtah.Generated.Gui.QIcon
@@ -296,6 +443,7 @@
     , Graphics.UI.Qtah.Generated.Widgets.QBoxLayout
     , Graphics.UI.Qtah.Generated.Widgets.QButtonGroup
     , Graphics.UI.Qtah.Generated.Widgets.QCheckBox
+    , Graphics.UI.Qtah.Generated.Widgets.QComboBox
     , Graphics.UI.Qtah.Generated.Widgets.QDateEdit
     , Graphics.UI.Qtah.Generated.Widgets.QDateTimeEdit
     , Graphics.UI.Qtah.Generated.Widgets.QDial
@@ -308,6 +456,7 @@
     , Graphics.UI.Qtah.Generated.Widgets.QFrame
     , Graphics.UI.Qtah.Generated.Widgets.QGraphicsEllipseItem
     , Graphics.UI.Qtah.Generated.Widgets.QGraphicsItem
+    , Graphics.UI.Qtah.Generated.Widgets.QGraphicsPixmapItem
     , Graphics.UI.Qtah.Generated.Widgets.QGraphicsPolygonItem
     , Graphics.UI.Qtah.Generated.Widgets.QGraphicsRectItem
     , Graphics.UI.Qtah.Generated.Widgets.QGraphicsScene
@@ -359,16 +508,20 @@
     , Graphics.UI.Qtah.Internal.EventListener
     , Graphics.UI.Qtah.Internal.Listener
     , Graphics.UI.Qtah.Internal.SceneEventListener
+  default-extensions:
+      FunctionalDependencies
+    , MultiParamTypeClasses
   other-extensions:
-      FlexibleContexts
+      ExistentialQuantification
+    , FlexibleContexts
     , NoMonomorphismRestriction
   build-depends:
       base >=4 && <5
     , binary >=0.7 && <0.9
     , bytestring >=0.10 && <0.11
-    , hoppy-runtime >=0.5 && <0.6
-    , qtah-cpp-qt5 >=0.5 && <0.6
-    , qtah-generator >=0.5 && <0.6
+    , hoppy-runtime >=0.7 && <0.8
+    , qtah-cpp-qt5 >=0.6 && <0.7
+    , qtah-generator >=0.6 && <0.7
   hs-source-dirs: src
   ghc-options: -W -fwarn-incomplete-patterns -fwarn-unused-do-bind
   default-language: Haskell2010
@@ -382,7 +535,7 @@
       Graphics.UI.Qtah.EventTest
   build-depends:
       base >=4 && <5
-    , hoppy-runtime >=0.5 && <0.6
+    , hoppy-runtime >=0.7 && <0.8
     , HUnit >=1.2 && <1.7
     , qtah-qt5
   hs-source-dirs: tests
diff --git a/src/Graphics/UI/Qtah/Core/HMargins.hs b/src/Graphics/UI/Qtah/Core/HMargins.hs
--- a/src/Graphics/UI/Qtah/Core/HMargins.hs
+++ b/src/Graphics/UI/Qtah/Core/HMargins.hs
@@ -1,6 +1,6 @@
 -- This file is part of Qtah.
 --
--- Copyright 2015-2018 The Qtah Authors.
+-- Copyright 2015-2019 The Qtah Authors.
 --
 -- This program is free software: you can redistribute it and/or modify
 -- it under the terms of the GNU Lesser General Public License as published by
diff --git a/src/Graphics/UI/Qtah/Core/HPoint.hs b/src/Graphics/UI/Qtah/Core/HPoint.hs
--- a/src/Graphics/UI/Qtah/Core/HPoint.hs
+++ b/src/Graphics/UI/Qtah/Core/HPoint.hs
@@ -1,6 +1,6 @@
 -- This file is part of Qtah.
 --
--- Copyright 2015-2018 The Qtah Authors.
+-- Copyright 2015-2019 The Qtah Authors.
 --
 -- This program is free software: you can redistribute it and/or modify
 -- it under the terms of the GNU Lesser General Public License as published by
diff --git a/src/Graphics/UI/Qtah/Core/HPointF.hs b/src/Graphics/UI/Qtah/Core/HPointF.hs
--- a/src/Graphics/UI/Qtah/Core/HPointF.hs
+++ b/src/Graphics/UI/Qtah/Core/HPointF.hs
@@ -1,6 +1,6 @@
 -- This file is part of Qtah.
 --
--- Copyright 2015-2018 The Qtah Authors.
+-- Copyright 2015-2019 The Qtah Authors.
 --
 -- This program is free software: you can redistribute it and/or modify
 -- it under the terms of the GNU Lesser General Public License as published by
diff --git a/src/Graphics/UI/Qtah/Core/HRect.hs b/src/Graphics/UI/Qtah/Core/HRect.hs
--- a/src/Graphics/UI/Qtah/Core/HRect.hs
+++ b/src/Graphics/UI/Qtah/Core/HRect.hs
@@ -1,6 +1,6 @@
 -- This file is part of Qtah.
 --
--- Copyright 2015-2018 The Qtah Authors.
+-- Copyright 2015-2019 The Qtah Authors.
 --
 -- This program is free software: you can redistribute it and/or modify
 -- it under the terms of the GNU Lesser General Public License as published by
diff --git a/src/Graphics/UI/Qtah/Core/HSize.hs b/src/Graphics/UI/Qtah/Core/HSize.hs
--- a/src/Graphics/UI/Qtah/Core/HSize.hs
+++ b/src/Graphics/UI/Qtah/Core/HSize.hs
@@ -1,6 +1,6 @@
 -- This file is part of Qtah.
 --
--- Copyright 2015-2018 The Qtah Authors.
+-- Copyright 2015-2019 The Qtah Authors.
 --
 -- This program is free software: you can redistribute it and/or modify
 -- it under the terms of the GNU Lesser General Public License as published by
diff --git a/src/Graphics/UI/Qtah/Core/QAbstractAnimation.hs b/src/Graphics/UI/Qtah/Core/QAbstractAnimation.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/UI/Qtah/Core/QAbstractAnimation.hs
diff --git a/src/Graphics/UI/Qtah/Core/QAnimationGroup.hs b/src/Graphics/UI/Qtah/Core/QAnimationGroup.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/UI/Qtah/Core/QAnimationGroup.hs
diff --git a/src/Graphics/UI/Qtah/Core/QBuffer.hs b/src/Graphics/UI/Qtah/Core/QBuffer.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/UI/Qtah/Core/QBuffer.hs
diff --git a/src/Graphics/UI/Qtah/Core/QCryptographicHash.hs b/src/Graphics/UI/Qtah/Core/QCryptographicHash.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/UI/Qtah/Core/QCryptographicHash.hs
diff --git a/src/Graphics/UI/Qtah/Core/QDateTime.hs b/src/Graphics/UI/Qtah/Core/QDateTime.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/UI/Qtah/Core/QDateTime.hs
diff --git a/src/Graphics/UI/Qtah/Core/QDebug.hs b/src/Graphics/UI/Qtah/Core/QDebug.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/UI/Qtah/Core/QDebug.hs
diff --git a/src/Graphics/UI/Qtah/Core/QDebugStateSaver.hs b/src/Graphics/UI/Qtah/Core/QDebugStateSaver.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/UI/Qtah/Core/QDebugStateSaver.hs
diff --git a/src/Graphics/UI/Qtah/Core/QDirIterator.hs b/src/Graphics/UI/Qtah/Core/QDirIterator.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/UI/Qtah/Core/QDirIterator.hs
diff --git a/src/Graphics/UI/Qtah/Core/QFile.hs b/src/Graphics/UI/Qtah/Core/QFile.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/UI/Qtah/Core/QFile.hs
diff --git a/src/Graphics/UI/Qtah/Core/QFileDevice.hs b/src/Graphics/UI/Qtah/Core/QFileDevice.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/UI/Qtah/Core/QFileDevice.hs
diff --git a/src/Graphics/UI/Qtah/Core/QFileInfo.hs b/src/Graphics/UI/Qtah/Core/QFileInfo.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/UI/Qtah/Core/QFileInfo.hs
diff --git a/src/Graphics/UI/Qtah/Core/QFileSelector.hs b/src/Graphics/UI/Qtah/Core/QFileSelector.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/UI/Qtah/Core/QFileSelector.hs
diff --git a/src/Graphics/UI/Qtah/Core/QFileSystemWatcher.hs b/src/Graphics/UI/Qtah/Core/QFileSystemWatcher.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/UI/Qtah/Core/QFileSystemWatcher.hs
diff --git a/src/Graphics/UI/Qtah/Core/QIODevice.hs b/src/Graphics/UI/Qtah/Core/QIODevice.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/UI/Qtah/Core/QIODevice.hs
diff --git a/src/Graphics/UI/Qtah/Core/QLatin1Char.hs b/src/Graphics/UI/Qtah/Core/QLatin1Char.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/UI/Qtah/Core/QLatin1Char.hs
diff --git a/src/Graphics/UI/Qtah/Core/QLatin1String.hs b/src/Graphics/UI/Qtah/Core/QLatin1String.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/UI/Qtah/Core/QLatin1String.hs
diff --git a/src/Graphics/UI/Qtah/Core/QLibrary.hs b/src/Graphics/UI/Qtah/Core/QLibrary.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/UI/Qtah/Core/QLibrary.hs
diff --git a/src/Graphics/UI/Qtah/Core/QLibraryInfo.hs b/src/Graphics/UI/Qtah/Core/QLibraryInfo.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/UI/Qtah/Core/QLibraryInfo.hs
diff --git a/src/Graphics/UI/Qtah/Core/QList/QTreeWidgetItem.hs b/src/Graphics/UI/Qtah/Core/QList/QTreeWidgetItem.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/UI/Qtah/Core/QList/QTreeWidgetItem.hs
diff --git a/src/Graphics/UI/Qtah/Core/QLockFile.hs b/src/Graphics/UI/Qtah/Core/QLockFile.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/UI/Qtah/Core/QLockFile.hs
diff --git a/src/Graphics/UI/Qtah/Core/QLoggingCategory.hs b/src/Graphics/UI/Qtah/Core/QLoggingCategory.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/UI/Qtah/Core/QLoggingCategory.hs
diff --git a/src/Graphics/UI/Qtah/Core/QMessageAuthenticationCode.hs b/src/Graphics/UI/Qtah/Core/QMessageAuthenticationCode.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/UI/Qtah/Core/QMessageAuthenticationCode.hs
diff --git a/src/Graphics/UI/Qtah/Core/QMessageLogContext.hs b/src/Graphics/UI/Qtah/Core/QMessageLogContext.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/UI/Qtah/Core/QMessageLogContext.hs
diff --git a/src/Graphics/UI/Qtah/Core/QMessageLogger.hs b/src/Graphics/UI/Qtah/Core/QMessageLogger.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/UI/Qtah/Core/QMessageLogger.hs
diff --git a/src/Graphics/UI/Qtah/Core/QMetaClassInfo.hs b/src/Graphics/UI/Qtah/Core/QMetaClassInfo.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/UI/Qtah/Core/QMetaClassInfo.hs
diff --git a/src/Graphics/UI/Qtah/Core/QMetaEnum.hs b/src/Graphics/UI/Qtah/Core/QMetaEnum.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/UI/Qtah/Core/QMetaEnum.hs
diff --git a/src/Graphics/UI/Qtah/Core/QMetaMethod.hs b/src/Graphics/UI/Qtah/Core/QMetaMethod.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/UI/Qtah/Core/QMetaMethod.hs
diff --git a/src/Graphics/UI/Qtah/Core/QMetaObject.hs b/src/Graphics/UI/Qtah/Core/QMetaObject.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/UI/Qtah/Core/QMetaObject.hs
diff --git a/src/Graphics/UI/Qtah/Core/QMetaObject/Connection.hs b/src/Graphics/UI/Qtah/Core/QMetaObject/Connection.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/UI/Qtah/Core/QMetaObject/Connection.hs
diff --git a/src/Graphics/UI/Qtah/Core/QMetaProperty.hs b/src/Graphics/UI/Qtah/Core/QMetaProperty.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/UI/Qtah/Core/QMetaProperty.hs
diff --git a/src/Graphics/UI/Qtah/Core/QOperatingSystemVersion.hs b/src/Graphics/UI/Qtah/Core/QOperatingSystemVersion.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/UI/Qtah/Core/QOperatingSystemVersion.hs
diff --git a/src/Graphics/UI/Qtah/Core/QPair/IntInt.hs b/src/Graphics/UI/Qtah/Core/QPair/IntInt.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/UI/Qtah/Core/QPair/IntInt.hs
diff --git a/src/Graphics/UI/Qtah/Core/QParallelAnimationGroup.hs b/src/Graphics/UI/Qtah/Core/QParallelAnimationGroup.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/UI/Qtah/Core/QParallelAnimationGroup.hs
diff --git a/src/Graphics/UI/Qtah/Core/QPauseAnimation.hs b/src/Graphics/UI/Qtah/Core/QPauseAnimation.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/UI/Qtah/Core/QPauseAnimation.hs
diff --git a/src/Graphics/UI/Qtah/Core/QPluginLoader.hs b/src/Graphics/UI/Qtah/Core/QPluginLoader.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/UI/Qtah/Core/QPluginLoader.hs
diff --git a/src/Graphics/UI/Qtah/Core/QProcess.hs b/src/Graphics/UI/Qtah/Core/QProcess.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/UI/Qtah/Core/QProcess.hs
diff --git a/src/Graphics/UI/Qtah/Core/QProcessEnvironment.hs b/src/Graphics/UI/Qtah/Core/QProcessEnvironment.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/UI/Qtah/Core/QProcessEnvironment.hs
diff --git a/src/Graphics/UI/Qtah/Core/QPropertyAnimation.hs b/src/Graphics/UI/Qtah/Core/QPropertyAnimation.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/UI/Qtah/Core/QPropertyAnimation.hs
diff --git a/src/Graphics/UI/Qtah/Core/QRandomGenerator.hs b/src/Graphics/UI/Qtah/Core/QRandomGenerator.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/UI/Qtah/Core/QRandomGenerator.hs
diff --git a/src/Graphics/UI/Qtah/Core/QRandomGenerator64.hs b/src/Graphics/UI/Qtah/Core/QRandomGenerator64.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/UI/Qtah/Core/QRandomGenerator64.hs
diff --git a/src/Graphics/UI/Qtah/Core/QResource.hs b/src/Graphics/UI/Qtah/Core/QResource.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/UI/Qtah/Core/QResource.hs
diff --git a/src/Graphics/UI/Qtah/Core/QSaveFile.hs b/src/Graphics/UI/Qtah/Core/QSaveFile.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/UI/Qtah/Core/QSaveFile.hs
diff --git a/src/Graphics/UI/Qtah/Core/QSequentialAnimationGroup.hs b/src/Graphics/UI/Qtah/Core/QSequentialAnimationGroup.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/UI/Qtah/Core/QSequentialAnimationGroup.hs
diff --git a/src/Graphics/UI/Qtah/Core/QStandardPaths.hs b/src/Graphics/UI/Qtah/Core/QStandardPaths.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/UI/Qtah/Core/QStandardPaths.hs
diff --git a/src/Graphics/UI/Qtah/Core/QStaticPlugin.hs b/src/Graphics/UI/Qtah/Core/QStaticPlugin.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/UI/Qtah/Core/QStaticPlugin.hs
diff --git a/src/Graphics/UI/Qtah/Core/QSysInfo.hs b/src/Graphics/UI/Qtah/Core/QSysInfo.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/UI/Qtah/Core/QSysInfo.hs
diff --git a/src/Graphics/UI/Qtah/Core/QTextDecoder.hs b/src/Graphics/UI/Qtah/Core/QTextDecoder.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/UI/Qtah/Core/QTextDecoder.hs
diff --git a/src/Graphics/UI/Qtah/Core/QTextEncoder.hs b/src/Graphics/UI/Qtah/Core/QTextEncoder.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/UI/Qtah/Core/QTextEncoder.hs
diff --git a/src/Graphics/UI/Qtah/Core/QThread.hs b/src/Graphics/UI/Qtah/Core/QThread.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/UI/Qtah/Core/QThread.hs
diff --git a/src/Graphics/UI/Qtah/Core/QTime.hs b/src/Graphics/UI/Qtah/Core/QTime.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/UI/Qtah/Core/QTime.hs
diff --git a/src/Graphics/UI/Qtah/Core/QTimeZone.hs b/src/Graphics/UI/Qtah/Core/QTimeZone.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/UI/Qtah/Core/QTimeZone.hs
diff --git a/src/Graphics/UI/Qtah/Core/QTranslator.hs b/src/Graphics/UI/Qtah/Core/QTranslator.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/UI/Qtah/Core/QTranslator.hs
diff --git a/src/Graphics/UI/Qtah/Core/QVariantAnimation.hs b/src/Graphics/UI/Qtah/Core/QVariantAnimation.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/UI/Qtah/Core/QVariantAnimation.hs
diff --git a/src/Graphics/UI/Qtah/Core/QVector/QLatin1String.hs b/src/Graphics/UI/Qtah/Core/QVector/QLatin1String.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/UI/Qtah/Core/QVector/QLatin1String.hs
diff --git a/src/Graphics/UI/Qtah/Core/QVector/QString.hs b/src/Graphics/UI/Qtah/Core/QVector/QString.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/UI/Qtah/Core/QVector/QString.hs
diff --git a/src/Graphics/UI/Qtah/Core/QVector/QXmlStreamAttribute.hs b/src/Graphics/UI/Qtah/Core/QVector/QXmlStreamAttribute.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/UI/Qtah/Core/QVector/QXmlStreamAttribute.hs
diff --git a/src/Graphics/UI/Qtah/Core/QVector/QXmlStreamEntityDeclaration.hs b/src/Graphics/UI/Qtah/Core/QVector/QXmlStreamEntityDeclaration.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/UI/Qtah/Core/QVector/QXmlStreamEntityDeclaration.hs
diff --git a/src/Graphics/UI/Qtah/Core/QVector/QXmlStreamNamespaceDeclaration.hs b/src/Graphics/UI/Qtah/Core/QVector/QXmlStreamNamespaceDeclaration.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/UI/Qtah/Core/QVector/QXmlStreamNamespaceDeclaration.hs
diff --git a/src/Graphics/UI/Qtah/Core/QVector/QXmlStreamNotationDeclaration.hs b/src/Graphics/UI/Qtah/Core/QVector/QXmlStreamNotationDeclaration.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/UI/Qtah/Core/QVector/QXmlStreamNotationDeclaration.hs
diff --git a/src/Graphics/UI/Qtah/Core/QVersionNumber.hs b/src/Graphics/UI/Qtah/Core/QVersionNumber.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/UI/Qtah/Core/QVersionNumber.hs
diff --git a/src/Graphics/UI/Qtah/Core/QXmlStreamAttribute.hs b/src/Graphics/UI/Qtah/Core/QXmlStreamAttribute.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/UI/Qtah/Core/QXmlStreamAttribute.hs
diff --git a/src/Graphics/UI/Qtah/Core/QXmlStreamAttributes.hs b/src/Graphics/UI/Qtah/Core/QXmlStreamAttributes.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/UI/Qtah/Core/QXmlStreamAttributes.hs
diff --git a/src/Graphics/UI/Qtah/Core/QXmlStreamEntityDeclaration.hs b/src/Graphics/UI/Qtah/Core/QXmlStreamEntityDeclaration.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/UI/Qtah/Core/QXmlStreamEntityDeclaration.hs
diff --git a/src/Graphics/UI/Qtah/Core/QXmlStreamEntityResolver.hs b/src/Graphics/UI/Qtah/Core/QXmlStreamEntityResolver.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/UI/Qtah/Core/QXmlStreamEntityResolver.hs
diff --git a/src/Graphics/UI/Qtah/Core/QXmlStreamNamespaceDeclaration.hs b/src/Graphics/UI/Qtah/Core/QXmlStreamNamespaceDeclaration.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/UI/Qtah/Core/QXmlStreamNamespaceDeclaration.hs
diff --git a/src/Graphics/UI/Qtah/Core/QXmlStreamNotationDeclaration.hs b/src/Graphics/UI/Qtah/Core/QXmlStreamNotationDeclaration.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/UI/Qtah/Core/QXmlStreamNotationDeclaration.hs
diff --git a/src/Graphics/UI/Qtah/Core/QXmlStreamReader.hs b/src/Graphics/UI/Qtah/Core/QXmlStreamReader.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/UI/Qtah/Core/QXmlStreamReader.hs
diff --git a/src/Graphics/UI/Qtah/Core/QXmlStreamWriter.hs b/src/Graphics/UI/Qtah/Core/QXmlStreamWriter.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/UI/Qtah/Core/QXmlStreamWriter.hs
diff --git a/src/Graphics/UI/Qtah/Event.hs b/src/Graphics/UI/Qtah/Event.hs
--- a/src/Graphics/UI/Qtah/Event.hs
+++ b/src/Graphics/UI/Qtah/Event.hs
@@ -1,6 +1,6 @@
 -- This file is part of Qtah.
 --
--- Copyright 2015-2018 The Qtah Authors.
+-- Copyright 2015-2019 The Qtah Authors.
 --
 -- This program is free software: you can redistribute it and/or modify
 -- it under the terms of the GNU Lesser General Public License as published by
@@ -73,7 +73,7 @@
 onAnyEvent receiver filter = do
   liveVar <- newMVar True
   listener <- EventListener.new receiver filter $ modifyMVar_ liveVar $ const $ return False
-  return $ EventRegistration
+  return EventRegistration
     { regListener = listener
     , regLive = liveVar
     }
diff --git a/src/Graphics/UI/Qtah/Flags.hs b/src/Graphics/UI/Qtah/Flags.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/UI/Qtah/Flags.hs
@@ -0,0 +1,43 @@
+-- This file is part of Qtah.
+--
+-- Copyright 2015-2019 The Qtah Authors.
+--
+-- This program is free software: you can redistribute it and/or modify
+-- it under the terms of the GNU Lesser General Public License as published by
+-- the Free Software Foundation, either version 3 of the License, or
+-- (at your option) any later version.
+--
+-- This program is distributed in the hope that it will be useful,
+-- but WITHOUT ANY WARRANTY; without even the implied warranty of
+-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+-- GNU Lesser General Public License for more details.
+--
+-- You should have received a copy of the GNU Lesser General Public License
+-- along with this program.  If not, see <http://www.gnu.org/licenses/>.
+
+-- | Support for Qt flags, which are bitwise combinations of enum values wrapped
+-- in @QFlags@.
+module Graphics.UI.Qtah.Flags (
+  Flags (..),
+  numToFlags,
+  flagsToNum,
+  ) where
+
+import Foreign.Hoppy.Runtime (CppEnum, fromCppEnum, toCppEnum)
+
+-- | A C++ enum @e@ with numeric type @n@ can have an associated type @f@ that
+-- represents a corresponding @QFlags@ instance.
+class CppEnum n e => Flags n e f | e -> f, f -> e, f -> n where
+  -- | Converts an enum value to a 'Flags' value.
+  enumToFlags :: e -> f
+
+  -- | Converts a 'Flags' value to an enum value.
+  flagsToEnum :: f -> e
+
+-- | Builds a 'Flags' value representing a raw number.
+numToFlags :: Flags n e f => n -> f
+numToFlags = enumToFlags . toCppEnum
+
+-- | Extracts the raw numeric value in a 'Flags' value.
+flagsToNum :: Flags n e f => f -> n
+flagsToNum = fromCppEnum . flagsToEnum
diff --git a/src/Graphics/UI/Qtah/Generated/Core/QAbstractAnimation.hs b/src/Graphics/UI/Qtah/Generated/Core/QAbstractAnimation.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/UI/Qtah/Generated/Core/QAbstractAnimation.hs
diff --git a/src/Graphics/UI/Qtah/Generated/Core/QAnimationGroup.hs b/src/Graphics/UI/Qtah/Generated/Core/QAnimationGroup.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/UI/Qtah/Generated/Core/QAnimationGroup.hs
diff --git a/src/Graphics/UI/Qtah/Generated/Core/QBuffer.hs b/src/Graphics/UI/Qtah/Generated/Core/QBuffer.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/UI/Qtah/Generated/Core/QBuffer.hs
diff --git a/src/Graphics/UI/Qtah/Generated/Core/QCryptographicHash.hs b/src/Graphics/UI/Qtah/Generated/Core/QCryptographicHash.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/UI/Qtah/Generated/Core/QCryptographicHash.hs
diff --git a/src/Graphics/UI/Qtah/Generated/Core/QDateTime.hs b/src/Graphics/UI/Qtah/Generated/Core/QDateTime.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/UI/Qtah/Generated/Core/QDateTime.hs
diff --git a/src/Graphics/UI/Qtah/Generated/Core/QDebug.hs b/src/Graphics/UI/Qtah/Generated/Core/QDebug.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/UI/Qtah/Generated/Core/QDebug.hs
diff --git a/src/Graphics/UI/Qtah/Generated/Core/QDebugStateSaver.hs b/src/Graphics/UI/Qtah/Generated/Core/QDebugStateSaver.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/UI/Qtah/Generated/Core/QDebugStateSaver.hs
diff --git a/src/Graphics/UI/Qtah/Generated/Core/QDirIterator.hs b/src/Graphics/UI/Qtah/Generated/Core/QDirIterator.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/UI/Qtah/Generated/Core/QDirIterator.hs
diff --git a/src/Graphics/UI/Qtah/Generated/Core/QFile.hs b/src/Graphics/UI/Qtah/Generated/Core/QFile.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/UI/Qtah/Generated/Core/QFile.hs
diff --git a/src/Graphics/UI/Qtah/Generated/Core/QFileDevice.hs b/src/Graphics/UI/Qtah/Generated/Core/QFileDevice.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/UI/Qtah/Generated/Core/QFileDevice.hs
diff --git a/src/Graphics/UI/Qtah/Generated/Core/QFileInfo.hs b/src/Graphics/UI/Qtah/Generated/Core/QFileInfo.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/UI/Qtah/Generated/Core/QFileInfo.hs
diff --git a/src/Graphics/UI/Qtah/Generated/Core/QFileSelector.hs b/src/Graphics/UI/Qtah/Generated/Core/QFileSelector.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/UI/Qtah/Generated/Core/QFileSelector.hs
diff --git a/src/Graphics/UI/Qtah/Generated/Core/QFileSystemWatcher.hs b/src/Graphics/UI/Qtah/Generated/Core/QFileSystemWatcher.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/UI/Qtah/Generated/Core/QFileSystemWatcher.hs
diff --git a/src/Graphics/UI/Qtah/Generated/Core/QIODevice.hs b/src/Graphics/UI/Qtah/Generated/Core/QIODevice.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/UI/Qtah/Generated/Core/QIODevice.hs
diff --git a/src/Graphics/UI/Qtah/Generated/Core/QLatin1Char.hs b/src/Graphics/UI/Qtah/Generated/Core/QLatin1Char.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/UI/Qtah/Generated/Core/QLatin1Char.hs
diff --git a/src/Graphics/UI/Qtah/Generated/Core/QLatin1String.hs b/src/Graphics/UI/Qtah/Generated/Core/QLatin1String.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/UI/Qtah/Generated/Core/QLatin1String.hs
diff --git a/src/Graphics/UI/Qtah/Generated/Core/QLibrary.hs b/src/Graphics/UI/Qtah/Generated/Core/QLibrary.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/UI/Qtah/Generated/Core/QLibrary.hs
diff --git a/src/Graphics/UI/Qtah/Generated/Core/QLibraryInfo.hs b/src/Graphics/UI/Qtah/Generated/Core/QLibraryInfo.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/UI/Qtah/Generated/Core/QLibraryInfo.hs
diff --git a/src/Graphics/UI/Qtah/Generated/Core/QList/QTreeWidgetItem.hs b/src/Graphics/UI/Qtah/Generated/Core/QList/QTreeWidgetItem.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/UI/Qtah/Generated/Core/QList/QTreeWidgetItem.hs
diff --git a/src/Graphics/UI/Qtah/Generated/Core/QLockFile.hs b/src/Graphics/UI/Qtah/Generated/Core/QLockFile.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/UI/Qtah/Generated/Core/QLockFile.hs
diff --git a/src/Graphics/UI/Qtah/Generated/Core/QLoggingCategory.hs b/src/Graphics/UI/Qtah/Generated/Core/QLoggingCategory.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/UI/Qtah/Generated/Core/QLoggingCategory.hs
diff --git a/src/Graphics/UI/Qtah/Generated/Core/QMessageAuthenticationCode.hs b/src/Graphics/UI/Qtah/Generated/Core/QMessageAuthenticationCode.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/UI/Qtah/Generated/Core/QMessageAuthenticationCode.hs
diff --git a/src/Graphics/UI/Qtah/Generated/Core/QMessageLogContext.hs b/src/Graphics/UI/Qtah/Generated/Core/QMessageLogContext.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/UI/Qtah/Generated/Core/QMessageLogContext.hs
diff --git a/src/Graphics/UI/Qtah/Generated/Core/QMessageLogger.hs b/src/Graphics/UI/Qtah/Generated/Core/QMessageLogger.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/UI/Qtah/Generated/Core/QMessageLogger.hs
diff --git a/src/Graphics/UI/Qtah/Generated/Core/QMetaClassInfo.hs b/src/Graphics/UI/Qtah/Generated/Core/QMetaClassInfo.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/UI/Qtah/Generated/Core/QMetaClassInfo.hs
diff --git a/src/Graphics/UI/Qtah/Generated/Core/QMetaEnum.hs b/src/Graphics/UI/Qtah/Generated/Core/QMetaEnum.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/UI/Qtah/Generated/Core/QMetaEnum.hs
diff --git a/src/Graphics/UI/Qtah/Generated/Core/QMetaMethod.hs b/src/Graphics/UI/Qtah/Generated/Core/QMetaMethod.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/UI/Qtah/Generated/Core/QMetaMethod.hs
diff --git a/src/Graphics/UI/Qtah/Generated/Core/QMetaObject.hs b/src/Graphics/UI/Qtah/Generated/Core/QMetaObject.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/UI/Qtah/Generated/Core/QMetaObject.hs
diff --git a/src/Graphics/UI/Qtah/Generated/Core/QMetaObject/Connection.hs b/src/Graphics/UI/Qtah/Generated/Core/QMetaObject/Connection.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/UI/Qtah/Generated/Core/QMetaObject/Connection.hs
diff --git a/src/Graphics/UI/Qtah/Generated/Core/QMetaProperty.hs b/src/Graphics/UI/Qtah/Generated/Core/QMetaProperty.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/UI/Qtah/Generated/Core/QMetaProperty.hs
diff --git a/src/Graphics/UI/Qtah/Generated/Core/QOperatingSystemVersion.hs b/src/Graphics/UI/Qtah/Generated/Core/QOperatingSystemVersion.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/UI/Qtah/Generated/Core/QOperatingSystemVersion.hs
diff --git a/src/Graphics/UI/Qtah/Generated/Core/QPair/IntInt.hs b/src/Graphics/UI/Qtah/Generated/Core/QPair/IntInt.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/UI/Qtah/Generated/Core/QPair/IntInt.hs
diff --git a/src/Graphics/UI/Qtah/Generated/Core/QParallelAnimationGroup.hs b/src/Graphics/UI/Qtah/Generated/Core/QParallelAnimationGroup.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/UI/Qtah/Generated/Core/QParallelAnimationGroup.hs
diff --git a/src/Graphics/UI/Qtah/Generated/Core/QPauseAnimation.hs b/src/Graphics/UI/Qtah/Generated/Core/QPauseAnimation.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/UI/Qtah/Generated/Core/QPauseAnimation.hs
diff --git a/src/Graphics/UI/Qtah/Generated/Core/QPluginLoader.hs b/src/Graphics/UI/Qtah/Generated/Core/QPluginLoader.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/UI/Qtah/Generated/Core/QPluginLoader.hs
diff --git a/src/Graphics/UI/Qtah/Generated/Core/QProcess.hs b/src/Graphics/UI/Qtah/Generated/Core/QProcess.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/UI/Qtah/Generated/Core/QProcess.hs
diff --git a/src/Graphics/UI/Qtah/Generated/Core/QProcessEnvironment.hs b/src/Graphics/UI/Qtah/Generated/Core/QProcessEnvironment.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/UI/Qtah/Generated/Core/QProcessEnvironment.hs
diff --git a/src/Graphics/UI/Qtah/Generated/Core/QPropertyAnimation.hs b/src/Graphics/UI/Qtah/Generated/Core/QPropertyAnimation.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/UI/Qtah/Generated/Core/QPropertyAnimation.hs
diff --git a/src/Graphics/UI/Qtah/Generated/Core/QRandomGenerator.hs b/src/Graphics/UI/Qtah/Generated/Core/QRandomGenerator.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/UI/Qtah/Generated/Core/QRandomGenerator.hs
diff --git a/src/Graphics/UI/Qtah/Generated/Core/QRandomGenerator64.hs b/src/Graphics/UI/Qtah/Generated/Core/QRandomGenerator64.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/UI/Qtah/Generated/Core/QRandomGenerator64.hs
diff --git a/src/Graphics/UI/Qtah/Generated/Core/QResource.hs b/src/Graphics/UI/Qtah/Generated/Core/QResource.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/UI/Qtah/Generated/Core/QResource.hs
diff --git a/src/Graphics/UI/Qtah/Generated/Core/QSaveFile.hs b/src/Graphics/UI/Qtah/Generated/Core/QSaveFile.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/UI/Qtah/Generated/Core/QSaveFile.hs
diff --git a/src/Graphics/UI/Qtah/Generated/Core/QSequentialAnimationGroup.hs b/src/Graphics/UI/Qtah/Generated/Core/QSequentialAnimationGroup.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/UI/Qtah/Generated/Core/QSequentialAnimationGroup.hs
diff --git a/src/Graphics/UI/Qtah/Generated/Core/QStandardPaths.hs b/src/Graphics/UI/Qtah/Generated/Core/QStandardPaths.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/UI/Qtah/Generated/Core/QStandardPaths.hs
diff --git a/src/Graphics/UI/Qtah/Generated/Core/QStaticPlugin.hs b/src/Graphics/UI/Qtah/Generated/Core/QStaticPlugin.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/UI/Qtah/Generated/Core/QStaticPlugin.hs
diff --git a/src/Graphics/UI/Qtah/Generated/Core/QSysInfo.hs b/src/Graphics/UI/Qtah/Generated/Core/QSysInfo.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/UI/Qtah/Generated/Core/QSysInfo.hs
diff --git a/src/Graphics/UI/Qtah/Generated/Core/QTextDecoder.hs b/src/Graphics/UI/Qtah/Generated/Core/QTextDecoder.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/UI/Qtah/Generated/Core/QTextDecoder.hs
diff --git a/src/Graphics/UI/Qtah/Generated/Core/QTextEncoder.hs b/src/Graphics/UI/Qtah/Generated/Core/QTextEncoder.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/UI/Qtah/Generated/Core/QTextEncoder.hs
diff --git a/src/Graphics/UI/Qtah/Generated/Core/QThread.hs b/src/Graphics/UI/Qtah/Generated/Core/QThread.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/UI/Qtah/Generated/Core/QThread.hs
diff --git a/src/Graphics/UI/Qtah/Generated/Core/QTime.hs b/src/Graphics/UI/Qtah/Generated/Core/QTime.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/UI/Qtah/Generated/Core/QTime.hs
diff --git a/src/Graphics/UI/Qtah/Generated/Core/QTimeZone.hs b/src/Graphics/UI/Qtah/Generated/Core/QTimeZone.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/UI/Qtah/Generated/Core/QTimeZone.hs
diff --git a/src/Graphics/UI/Qtah/Generated/Core/QTranslator.hs b/src/Graphics/UI/Qtah/Generated/Core/QTranslator.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/UI/Qtah/Generated/Core/QTranslator.hs
diff --git a/src/Graphics/UI/Qtah/Generated/Core/QVariantAnimation.hs b/src/Graphics/UI/Qtah/Generated/Core/QVariantAnimation.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/UI/Qtah/Generated/Core/QVariantAnimation.hs
diff --git a/src/Graphics/UI/Qtah/Generated/Core/QVector/QLatin1String.hs b/src/Graphics/UI/Qtah/Generated/Core/QVector/QLatin1String.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/UI/Qtah/Generated/Core/QVector/QLatin1String.hs
diff --git a/src/Graphics/UI/Qtah/Generated/Core/QVector/QString.hs b/src/Graphics/UI/Qtah/Generated/Core/QVector/QString.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/UI/Qtah/Generated/Core/QVector/QString.hs
diff --git a/src/Graphics/UI/Qtah/Generated/Core/QVector/QXmlStreamAttribute.hs b/src/Graphics/UI/Qtah/Generated/Core/QVector/QXmlStreamAttribute.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/UI/Qtah/Generated/Core/QVector/QXmlStreamAttribute.hs
diff --git a/src/Graphics/UI/Qtah/Generated/Core/QVector/QXmlStreamEntityDeclaration.hs b/src/Graphics/UI/Qtah/Generated/Core/QVector/QXmlStreamEntityDeclaration.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/UI/Qtah/Generated/Core/QVector/QXmlStreamEntityDeclaration.hs
diff --git a/src/Graphics/UI/Qtah/Generated/Core/QVector/QXmlStreamNamespaceDeclaration.hs b/src/Graphics/UI/Qtah/Generated/Core/QVector/QXmlStreamNamespaceDeclaration.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/UI/Qtah/Generated/Core/QVector/QXmlStreamNamespaceDeclaration.hs
diff --git a/src/Graphics/UI/Qtah/Generated/Core/QVector/QXmlStreamNotationDeclaration.hs b/src/Graphics/UI/Qtah/Generated/Core/QVector/QXmlStreamNotationDeclaration.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/UI/Qtah/Generated/Core/QVector/QXmlStreamNotationDeclaration.hs
diff --git a/src/Graphics/UI/Qtah/Generated/Core/QVersionNumber.hs b/src/Graphics/UI/Qtah/Generated/Core/QVersionNumber.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/UI/Qtah/Generated/Core/QVersionNumber.hs
diff --git a/src/Graphics/UI/Qtah/Generated/Core/QXmlStreamAttribute.hs b/src/Graphics/UI/Qtah/Generated/Core/QXmlStreamAttribute.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/UI/Qtah/Generated/Core/QXmlStreamAttribute.hs
diff --git a/src/Graphics/UI/Qtah/Generated/Core/QXmlStreamAttributes.hs b/src/Graphics/UI/Qtah/Generated/Core/QXmlStreamAttributes.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/UI/Qtah/Generated/Core/QXmlStreamAttributes.hs
diff --git a/src/Graphics/UI/Qtah/Generated/Core/QXmlStreamEntityDeclaration.hs b/src/Graphics/UI/Qtah/Generated/Core/QXmlStreamEntityDeclaration.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/UI/Qtah/Generated/Core/QXmlStreamEntityDeclaration.hs
diff --git a/src/Graphics/UI/Qtah/Generated/Core/QXmlStreamEntityResolver.hs b/src/Graphics/UI/Qtah/Generated/Core/QXmlStreamEntityResolver.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/UI/Qtah/Generated/Core/QXmlStreamEntityResolver.hs
diff --git a/src/Graphics/UI/Qtah/Generated/Core/QXmlStreamNamespaceDeclaration.hs b/src/Graphics/UI/Qtah/Generated/Core/QXmlStreamNamespaceDeclaration.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/UI/Qtah/Generated/Core/QXmlStreamNamespaceDeclaration.hs
diff --git a/src/Graphics/UI/Qtah/Generated/Core/QXmlStreamNotationDeclaration.hs b/src/Graphics/UI/Qtah/Generated/Core/QXmlStreamNotationDeclaration.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/UI/Qtah/Generated/Core/QXmlStreamNotationDeclaration.hs
diff --git a/src/Graphics/UI/Qtah/Generated/Core/QXmlStreamReader.hs b/src/Graphics/UI/Qtah/Generated/Core/QXmlStreamReader.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/UI/Qtah/Generated/Core/QXmlStreamReader.hs
diff --git a/src/Graphics/UI/Qtah/Generated/Core/QXmlStreamWriter.hs b/src/Graphics/UI/Qtah/Generated/Core/QXmlStreamWriter.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/UI/Qtah/Generated/Core/QXmlStreamWriter.hs
diff --git a/src/Graphics/UI/Qtah/Generated/Gui/QBackingStore.hs b/src/Graphics/UI/Qtah/Generated/Gui/QBackingStore.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/UI/Qtah/Generated/Gui/QBackingStore.hs
diff --git a/src/Graphics/UI/Qtah/Generated/Gui/QBitmap.hs b/src/Graphics/UI/Qtah/Generated/Gui/QBitmap.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/UI/Qtah/Generated/Gui/QBitmap.hs
diff --git a/src/Graphics/UI/Qtah/Generated/Gui/QFontDatabase.hs b/src/Graphics/UI/Qtah/Generated/Gui/QFontDatabase.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/UI/Qtah/Generated/Gui/QFontDatabase.hs
diff --git a/src/Graphics/UI/Qtah/Generated/Gui/QGradient.hs b/src/Graphics/UI/Qtah/Generated/Gui/QGradient.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/UI/Qtah/Generated/Gui/QGradient.hs
diff --git a/src/Graphics/UI/Qtah/Generated/Widgets/QComboBox.hs b/src/Graphics/UI/Qtah/Generated/Widgets/QComboBox.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/UI/Qtah/Generated/Widgets/QComboBox.hs
diff --git a/src/Graphics/UI/Qtah/Generated/Widgets/QGraphicsPixmapItem.hs b/src/Graphics/UI/Qtah/Generated/Widgets/QGraphicsPixmapItem.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/UI/Qtah/Generated/Widgets/QGraphicsPixmapItem.hs
diff --git a/src/Graphics/UI/Qtah/Gui/HColor.hs b/src/Graphics/UI/Qtah/Gui/HColor.hs
--- a/src/Graphics/UI/Qtah/Gui/HColor.hs
+++ b/src/Graphics/UI/Qtah/Gui/HColor.hs
@@ -1,6 +1,6 @@
 -- This file is part of Qtah.
 --
--- Copyright 2015-2018 The Qtah Authors.
+-- Copyright 2015-2019 The Qtah Authors.
 --
 -- This program is free software: you can redistribute it and/or modify
 -- it under the terms of the GNU Lesser General Public License as published by
diff --git a/src/Graphics/UI/Qtah/Gui/QBackingStore.hs b/src/Graphics/UI/Qtah/Gui/QBackingStore.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/UI/Qtah/Gui/QBackingStore.hs
diff --git a/src/Graphics/UI/Qtah/Gui/QBitmap.hs b/src/Graphics/UI/Qtah/Gui/QBitmap.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/UI/Qtah/Gui/QBitmap.hs
diff --git a/src/Graphics/UI/Qtah/Gui/QFontDatabase.hs b/src/Graphics/UI/Qtah/Gui/QFontDatabase.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/UI/Qtah/Gui/QFontDatabase.hs
diff --git a/src/Graphics/UI/Qtah/Gui/QGradient.hs b/src/Graphics/UI/Qtah/Gui/QGradient.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/UI/Qtah/Gui/QGradient.hs
diff --git a/src/Graphics/UI/Qtah/Internal/Callback.hs-boot b/src/Graphics/UI/Qtah/Internal/Callback.hs-boot
--- a/src/Graphics/UI/Qtah/Internal/Callback.hs-boot
+++ b/src/Graphics/UI/Qtah/Internal/Callback.hs-boot
@@ -4,6 +4,8 @@
 module Graphics.UI.Qtah.Internal.Callback (
   callbackBoolVoid_newFunPtr,
   callbackBoolVoid_new,
+  callbackDirectionVoid_newFunPtr,
+  callbackDirectionVoid_new,
   callbackDockWidgetAreaVoid_newFunPtr,
   callbackDockWidgetAreaVoid_new,
   callbackDockWidgetAreasVoid_newFunPtr,
@@ -12,12 +14,22 @@
   callbackDoubleVoid_new,
   callbackIntBoolVoid_newFunPtr,
   callbackIntBoolVoid_new,
+  callbackIntExitStatusVoid_newFunPtr,
+  callbackIntExitStatusVoid_new,
   callbackIntIntVoid_newFunPtr,
   callbackIntIntVoid_new,
+  callbackIntQlonglongVoid_newFunPtr,
+  callbackIntQlonglongVoid_new,
   callbackIntVoid_newFunPtr,
   callbackIntVoid_new,
+  callbackOrientationIntIntVoid_newFunPtr,
+  callbackOrientationIntIntVoid_new,
   callbackOrientationVoid_newFunPtr,
   callbackOrientationVoid_new,
+  callbackProcessErrorVoid_newFunPtr,
+  callbackProcessErrorVoid_new,
+  callbackProcessStateVoid_newFunPtr,
+  callbackProcessStateVoid_new,
   callbackPtrQAbstractButtonBoolVoid_newFunPtr,
   callbackPtrQAbstractButtonBoolVoid_new,
   callbackPtrQAbstractButtonVoid_newFunPtr,
@@ -42,6 +54,8 @@
   callbackPtrQTreeWidgetItemVoid_new,
   callbackPtrQWidgetPtrQWidgetVoid_newFunPtr,
   callbackPtrQWidgetPtrQWidgetVoid_new,
+  callbackQAbstractAnimationVoid_newFunPtr,
+  callbackQAbstractAnimationVoid_new,
   callbackQAbstractSliderActionVoid_newFunPtr,
   callbackQAbstractSliderActionVoid_new,
   callbackQClipboardModeVoid_newFunPtr,
@@ -68,16 +82,26 @@
   callbackQStringVoid_new,
   callbackQSystemTrayIconActivationReasonVoid_newFunPtr,
   callbackQSystemTrayIconActivationReasonVoid_new,
+  callbackQVariantVoid_newFunPtr,
+  callbackQVariantVoid_new,
   callbackQWindowVisibilityVoid_newFunPtr,
   callbackQWindowVisibilityVoid_new,
+  callbackQlonglongVoid_newFunPtr,
+  callbackQlonglongVoid_new,
   callbackQrealVoid_newFunPtr,
   callbackQrealVoid_new,
   callbackRefConstQIconVoid_newFunPtr,
   callbackRefConstQIconVoid_new,
   callbackRefConstQItemSelectionRefConstQItemSelectionVoid_newFunPtr,
   callbackRefConstQItemSelectionRefConstQItemSelectionVoid_new,
+  callbackRefConstQListQModelIndexVoid_newFunPtr,
+  callbackRefConstQListQModelIndexVoid_new,
+  callbackRefConstQModelIndexVoid_newFunPtr,
+  callbackRefConstQModelIndexVoid_new,
   callbackScreenOrientationVoid_newFunPtr,
   callbackScreenOrientationVoid_new,
+  callbackStateStateVoid_newFunPtr,
+  callbackStateStateVoid_new,
   callbackToolBarAreasVoid_newFunPtr,
   callbackToolBarAreasVoid_new,
   callbackToolButtonStyleVoid_newFunPtr,
@@ -90,34 +114,39 @@
   callbackWindowStateVoid_new,
   ) where
 
+import qualified Data.Int as HoppyDI
 import qualified Foreign as HoppyF
 import qualified Foreign.C as HoppyFC
 import qualified Foreign.Hoppy.Runtime as HoppyFHR
 import qualified Graphics.UI.Qtah.Core.HPoint as HPoint
 import qualified Graphics.UI.Qtah.Core.HSize as HSize
-import qualified Graphics.UI.Qtah.Generated.Core.QAbstractItemModel as M2
-import qualified Graphics.UI.Qtah.Generated.Core.QDate as M16
-import qualified Graphics.UI.Qtah.Generated.Core.QEvent as M20
-import qualified Graphics.UI.Qtah.Generated.Core.QItemSelection as M22
-import qualified Graphics.UI.Qtah.Generated.Core.QModelIndex as M32
-import qualified Graphics.UI.Qtah.Generated.Core.QObject as M34
-import qualified Graphics.UI.Qtah.Generated.Core.QPoint as M40
-import qualified Graphics.UI.Qtah.Generated.Core.QSize as M50
-import qualified Graphics.UI.Qtah.Generated.Core.QString as M54
-import qualified Graphics.UI.Qtah.Generated.Core.QVector.Int as M90
-import qualified Graphics.UI.Qtah.Generated.Core.Types as M68
-import {-# SOURCE #-} qualified Graphics.UI.Qtah.Generated.Gui.QClipboard as M102
-import {-# SOURCE #-} qualified Graphics.UI.Qtah.Generated.Gui.QIcon as M124
-import qualified Graphics.UI.Qtah.Generated.Gui.QPaintEvent as M142
-import {-# SOURCE #-} qualified Graphics.UI.Qtah.Generated.Gui.QWindow as M176
-import {-# SOURCE #-} qualified Graphics.UI.Qtah.Generated.Widgets.QAbstractButton as M188
-import {-# SOURCE #-} qualified Graphics.UI.Qtah.Generated.Widgets.QAbstractSlider as M198
-import {-# SOURCE #-} qualified Graphics.UI.Qtah.Generated.Widgets.QAction as M202
-import {-# SOURCE #-} qualified Graphics.UI.Qtah.Generated.Widgets.QDockWidget as M224
-import {-# SOURCE #-} qualified Graphics.UI.Qtah.Generated.Widgets.QGraphicsItem as M236
-import {-# SOURCE #-} qualified Graphics.UI.Qtah.Generated.Widgets.QSystemTrayIcon as M310
-import {-# SOURCE #-} qualified Graphics.UI.Qtah.Generated.Widgets.QTreeWidgetItem as M326
-import {-# SOURCE #-} qualified Graphics.UI.Qtah.Generated.Widgets.QWidget as M330
+import qualified Graphics.UI.Qtah.Generated.Core.QAbstractAnimation as M2
+import qualified Graphics.UI.Qtah.Generated.Core.QAbstractItemModel as M4
+import qualified Graphics.UI.Qtah.Generated.Core.QDate as M22
+import qualified Graphics.UI.Qtah.Generated.Core.QEvent as M34
+import qualified Graphics.UI.Qtah.Generated.Core.QItemSelection as M48
+import qualified Graphics.UI.Qtah.Generated.Core.QList.QModelIndex as M174
+import qualified Graphics.UI.Qtah.Generated.Core.QModelIndex as M86
+import qualified Graphics.UI.Qtah.Generated.Core.QObject as M88
+import qualified Graphics.UI.Qtah.Generated.Core.QPoint as M108
+import qualified Graphics.UI.Qtah.Generated.Core.QProcess as M100
+import qualified Graphics.UI.Qtah.Generated.Core.QSize as M126
+import qualified Graphics.UI.Qtah.Generated.Core.QString as M132
+import qualified Graphics.UI.Qtah.Generated.Core.QVariant as M158
+import qualified Graphics.UI.Qtah.Generated.Core.QVector.Int as M188
+import qualified Graphics.UI.Qtah.Generated.Core.Types as M164
+import {-# SOURCE #-} qualified Graphics.UI.Qtah.Generated.Gui.QClipboard as M208
+import {-# SOURCE #-} qualified Graphics.UI.Qtah.Generated.Gui.QIcon as M234
+import qualified Graphics.UI.Qtah.Generated.Gui.QPaintEvent as M252
+import {-# SOURCE #-} qualified Graphics.UI.Qtah.Generated.Gui.QWindow as M288
+import {-# SOURCE #-} qualified Graphics.UI.Qtah.Generated.Widgets.QAbstractButton as M300
+import {-# SOURCE #-} qualified Graphics.UI.Qtah.Generated.Widgets.QAbstractSlider as M310
+import {-# SOURCE #-} qualified Graphics.UI.Qtah.Generated.Widgets.QAction as M314
+import {-# SOURCE #-} qualified Graphics.UI.Qtah.Generated.Widgets.QDockWidget as M338
+import {-# SOURCE #-} qualified Graphics.UI.Qtah.Generated.Widgets.QGraphicsItem as M350
+import {-# SOURCE #-} qualified Graphics.UI.Qtah.Generated.Widgets.QSystemTrayIcon as M426
+import {-# SOURCE #-} qualified Graphics.UI.Qtah.Generated.Widgets.QTreeWidgetItem as M442
+import {-# SOURCE #-} qualified Graphics.UI.Qtah.Generated.Widgets.QWidget as M446
 import qualified Prelude as HoppyP
 import qualified Prelude as QtahP
 
@@ -126,14 +155,18 @@
 
 callbackBoolVoid_new :: (HoppyP.Bool -> HoppyP.IO ()) -> HoppyP.IO (HoppyFHR.CCallback (HoppyFHR.CBool -> HoppyP.IO ()))
 
-callbackDockWidgetAreaVoid_newFunPtr :: (M68.QtDockWidgetArea -> HoppyP.IO ()) -> HoppyP.IO (HoppyF.FunPtr (HoppyFC.CInt -> HoppyP.IO ()))
+callbackDirectionVoid_newFunPtr :: (M2.QAbstractAnimationDirection -> HoppyP.IO ()) -> HoppyP.IO (HoppyF.FunPtr (HoppyFC.CInt -> HoppyP.IO ()))
 
-callbackDockWidgetAreaVoid_new :: (M68.QtDockWidgetArea -> HoppyP.IO ()) -> HoppyP.IO (HoppyFHR.CCallback (HoppyFC.CInt -> HoppyP.IO ()))
+callbackDirectionVoid_new :: (M2.QAbstractAnimationDirection -> HoppyP.IO ()) -> HoppyP.IO (HoppyFHR.CCallback (HoppyFC.CInt -> HoppyP.IO ()))
 
-callbackDockWidgetAreasVoid_newFunPtr :: (M68.QtDockWidgetAreas -> HoppyP.IO ()) -> HoppyP.IO (HoppyF.FunPtr (HoppyFC.CInt -> HoppyP.IO ()))
+callbackDockWidgetAreaVoid_newFunPtr :: (M164.QtDockWidgetArea -> HoppyP.IO ()) -> HoppyP.IO (HoppyF.FunPtr (HoppyFC.CInt -> HoppyP.IO ()))
 
-callbackDockWidgetAreasVoid_new :: (M68.QtDockWidgetAreas -> HoppyP.IO ()) -> HoppyP.IO (HoppyFHR.CCallback (HoppyFC.CInt -> HoppyP.IO ()))
+callbackDockWidgetAreaVoid_new :: (M164.QtDockWidgetArea -> HoppyP.IO ()) -> HoppyP.IO (HoppyFHR.CCallback (HoppyFC.CInt -> HoppyP.IO ()))
 
+callbackDockWidgetAreasVoid_newFunPtr :: (M164.QtDockWidgetAreas -> HoppyP.IO ()) -> HoppyP.IO (HoppyF.FunPtr (HoppyFC.CInt -> HoppyP.IO ()))
+
+callbackDockWidgetAreasVoid_new :: (M164.QtDockWidgetAreas -> HoppyP.IO ()) -> HoppyP.IO (HoppyFHR.CCallback (HoppyFC.CInt -> HoppyP.IO ()))
+
 callbackDoubleVoid_newFunPtr :: (HoppyP.Double -> HoppyP.IO ()) -> HoppyP.IO (HoppyF.FunPtr (HoppyFC.CDouble -> HoppyP.IO ()))
 
 callbackDoubleVoid_new :: (HoppyP.Double -> HoppyP.IO ()) -> HoppyP.IO (HoppyFHR.CCallback (HoppyFC.CDouble -> HoppyP.IO ()))
@@ -142,154 +175,198 @@
 
 callbackIntBoolVoid_new :: (HoppyP.Int -> HoppyP.Bool -> HoppyP.IO ()) -> HoppyP.IO (HoppyFHR.CCallback (HoppyFC.CInt -> HoppyFHR.CBool -> HoppyP.IO ()))
 
+callbackIntExitStatusVoid_newFunPtr :: (HoppyP.Int -> M100.QProcessExitStatus -> HoppyP.IO ()) -> HoppyP.IO (HoppyF.FunPtr (HoppyFC.CInt -> HoppyFC.CInt -> HoppyP.IO ()))
+
+callbackIntExitStatusVoid_new :: (HoppyP.Int -> M100.QProcessExitStatus -> HoppyP.IO ()) -> HoppyP.IO (HoppyFHR.CCallback (HoppyFC.CInt -> HoppyFC.CInt -> HoppyP.IO ()))
+
 callbackIntIntVoid_newFunPtr :: (HoppyP.Int -> HoppyP.Int -> HoppyP.IO ()) -> HoppyP.IO (HoppyF.FunPtr (HoppyFC.CInt -> HoppyFC.CInt -> HoppyP.IO ()))
 
 callbackIntIntVoid_new :: (HoppyP.Int -> HoppyP.Int -> HoppyP.IO ()) -> HoppyP.IO (HoppyFHR.CCallback (HoppyFC.CInt -> HoppyFC.CInt -> HoppyP.IO ()))
 
+callbackIntQlonglongVoid_newFunPtr :: (HoppyP.Int -> HoppyDI.Int64 -> HoppyP.IO ()) -> HoppyP.IO (HoppyF.FunPtr (HoppyFC.CInt -> HoppyDI.Int64 -> HoppyP.IO ()))
+
+callbackIntQlonglongVoid_new :: (HoppyP.Int -> HoppyDI.Int64 -> HoppyP.IO ()) -> HoppyP.IO (HoppyFHR.CCallback (HoppyFC.CInt -> HoppyDI.Int64 -> HoppyP.IO ()))
+
 callbackIntVoid_newFunPtr :: (HoppyP.Int -> HoppyP.IO ()) -> HoppyP.IO (HoppyF.FunPtr (HoppyFC.CInt -> HoppyP.IO ()))
 
 callbackIntVoid_new :: (HoppyP.Int -> HoppyP.IO ()) -> HoppyP.IO (HoppyFHR.CCallback (HoppyFC.CInt -> HoppyP.IO ()))
 
-callbackOrientationVoid_newFunPtr :: (M68.QtOrientation -> HoppyP.IO ()) -> HoppyP.IO (HoppyF.FunPtr (HoppyFC.CInt -> HoppyP.IO ()))
+callbackOrientationIntIntVoid_newFunPtr :: (M164.QtOrientation -> HoppyP.Int -> HoppyP.Int -> HoppyP.IO ()) -> HoppyP.IO (HoppyF.FunPtr (HoppyFC.CInt -> HoppyFC.CInt -> HoppyFC.CInt -> HoppyP.IO ()))
 
-callbackOrientationVoid_new :: (M68.QtOrientation -> HoppyP.IO ()) -> HoppyP.IO (HoppyFHR.CCallback (HoppyFC.CInt -> HoppyP.IO ()))
+callbackOrientationIntIntVoid_new :: (M164.QtOrientation -> HoppyP.Int -> HoppyP.Int -> HoppyP.IO ()) -> HoppyP.IO (HoppyFHR.CCallback (HoppyFC.CInt -> HoppyFC.CInt -> HoppyFC.CInt -> HoppyP.IO ()))
 
-callbackPtrQAbstractButtonBoolVoid_newFunPtr :: (M188.QAbstractButton -> HoppyP.Bool -> HoppyP.IO ()) -> HoppyP.IO (HoppyF.FunPtr (HoppyF.Ptr M188.QAbstractButton -> HoppyFHR.CBool -> HoppyP.IO ()))
+callbackOrientationVoid_newFunPtr :: (M164.QtOrientation -> HoppyP.IO ()) -> HoppyP.IO (HoppyF.FunPtr (HoppyFC.CInt -> HoppyP.IO ()))
 
-callbackPtrQAbstractButtonBoolVoid_new :: (M188.QAbstractButton -> HoppyP.Bool -> HoppyP.IO ()) -> HoppyP.IO (HoppyFHR.CCallback (HoppyF.Ptr M188.QAbstractButton -> HoppyFHR.CBool -> HoppyP.IO ()))
+callbackOrientationVoid_new :: (M164.QtOrientation -> HoppyP.IO ()) -> HoppyP.IO (HoppyFHR.CCallback (HoppyFC.CInt -> HoppyP.IO ()))
 
-callbackPtrQAbstractButtonVoid_newFunPtr :: (M188.QAbstractButton -> HoppyP.IO ()) -> HoppyP.IO (HoppyF.FunPtr (HoppyF.Ptr M188.QAbstractButton -> HoppyP.IO ()))
+callbackProcessErrorVoid_newFunPtr :: (M100.QProcessProcessError -> HoppyP.IO ()) -> HoppyP.IO (HoppyF.FunPtr (HoppyFC.CInt -> HoppyP.IO ()))
 
-callbackPtrQAbstractButtonVoid_new :: (M188.QAbstractButton -> HoppyP.IO ()) -> HoppyP.IO (HoppyFHR.CCallback (HoppyF.Ptr M188.QAbstractButton -> HoppyP.IO ()))
+callbackProcessErrorVoid_new :: (M100.QProcessProcessError -> HoppyP.IO ()) -> HoppyP.IO (HoppyFHR.CCallback (HoppyFC.CInt -> HoppyP.IO ()))
 
-callbackPtrQAbstractItemModelVoid_newFunPtr :: (M2.QAbstractItemModel -> HoppyP.IO ()) -> HoppyP.IO (HoppyF.FunPtr (HoppyF.Ptr M2.QAbstractItemModel -> HoppyP.IO ()))
+callbackProcessStateVoid_newFunPtr :: (M100.QProcessProcessState -> HoppyP.IO ()) -> HoppyP.IO (HoppyF.FunPtr (HoppyFC.CInt -> HoppyP.IO ()))
 
-callbackPtrQAbstractItemModelVoid_new :: (M2.QAbstractItemModel -> HoppyP.IO ()) -> HoppyP.IO (HoppyFHR.CCallback (HoppyF.Ptr M2.QAbstractItemModel -> HoppyP.IO ()))
+callbackProcessStateVoid_new :: (M100.QProcessProcessState -> HoppyP.IO ()) -> HoppyP.IO (HoppyFHR.CCallback (HoppyFC.CInt -> HoppyP.IO ()))
 
-callbackPtrQActionVoid_newFunPtr :: (M202.QAction -> HoppyP.IO ()) -> HoppyP.IO (HoppyF.FunPtr (HoppyF.Ptr M202.QAction -> HoppyP.IO ()))
+callbackPtrQAbstractButtonBoolVoid_newFunPtr :: (M300.QAbstractButton -> HoppyP.Bool -> HoppyP.IO ()) -> HoppyP.IO (HoppyF.FunPtr (HoppyF.Ptr M300.QAbstractButton -> HoppyFHR.CBool -> HoppyP.IO ()))
 
-callbackPtrQActionVoid_new :: (M202.QAction -> HoppyP.IO ()) -> HoppyP.IO (HoppyFHR.CCallback (HoppyF.Ptr M202.QAction -> HoppyP.IO ()))
+callbackPtrQAbstractButtonBoolVoid_new :: (M300.QAbstractButton -> HoppyP.Bool -> HoppyP.IO ()) -> HoppyP.IO (HoppyFHR.CCallback (HoppyF.Ptr M300.QAbstractButton -> HoppyFHR.CBool -> HoppyP.IO ()))
 
-callbackPtrQGraphicsItemPtrQEventBool_newFunPtr :: (M236.QGraphicsItem -> M20.QEvent -> HoppyP.IO HoppyP.Bool) -> HoppyP.IO (HoppyF.FunPtr (HoppyF.Ptr M236.QGraphicsItem -> HoppyF.Ptr M20.QEvent -> HoppyP.IO HoppyFHR.CBool))
+callbackPtrQAbstractButtonVoid_newFunPtr :: (M300.QAbstractButton -> HoppyP.IO ()) -> HoppyP.IO (HoppyF.FunPtr (HoppyF.Ptr M300.QAbstractButton -> HoppyP.IO ()))
 
-callbackPtrQGraphicsItemPtrQEventBool_new :: (M236.QGraphicsItem -> M20.QEvent -> HoppyP.IO HoppyP.Bool) -> HoppyP.IO (HoppyFHR.CCallback (HoppyF.Ptr M236.QGraphicsItem -> HoppyF.Ptr M20.QEvent -> HoppyP.IO HoppyFHR.CBool))
+callbackPtrQAbstractButtonVoid_new :: (M300.QAbstractButton -> HoppyP.IO ()) -> HoppyP.IO (HoppyFHR.CCallback (HoppyF.Ptr M300.QAbstractButton -> HoppyP.IO ()))
 
-callbackPtrQObjectPtrQEventBool_newFunPtr :: (M34.QObject -> M20.QEvent -> HoppyP.IO HoppyP.Bool) -> HoppyP.IO (HoppyF.FunPtr (HoppyF.Ptr M34.QObject -> HoppyF.Ptr M20.QEvent -> HoppyP.IO HoppyFHR.CBool))
+callbackPtrQAbstractItemModelVoid_newFunPtr :: (M4.QAbstractItemModel -> HoppyP.IO ()) -> HoppyP.IO (HoppyF.FunPtr (HoppyF.Ptr M4.QAbstractItemModel -> HoppyP.IO ()))
 
-callbackPtrQObjectPtrQEventBool_new :: (M34.QObject -> M20.QEvent -> HoppyP.IO HoppyP.Bool) -> HoppyP.IO (HoppyFHR.CCallback (HoppyF.Ptr M34.QObject -> HoppyF.Ptr M20.QEvent -> HoppyP.IO HoppyFHR.CBool))
+callbackPtrQAbstractItemModelVoid_new :: (M4.QAbstractItemModel -> HoppyP.IO ()) -> HoppyP.IO (HoppyFHR.CCallback (HoppyF.Ptr M4.QAbstractItemModel -> HoppyP.IO ()))
 
-callbackPtrQObjectVoid_newFunPtr :: (M34.QObject -> HoppyP.IO ()) -> HoppyP.IO (HoppyF.FunPtr (HoppyF.Ptr M34.QObject -> HoppyP.IO ()))
+callbackPtrQActionVoid_newFunPtr :: (M314.QAction -> HoppyP.IO ()) -> HoppyP.IO (HoppyF.FunPtr (HoppyF.Ptr M314.QAction -> HoppyP.IO ()))
 
-callbackPtrQObjectVoid_new :: (M34.QObject -> HoppyP.IO ()) -> HoppyP.IO (HoppyFHR.CCallback (HoppyF.Ptr M34.QObject -> HoppyP.IO ()))
+callbackPtrQActionVoid_new :: (M314.QAction -> HoppyP.IO ()) -> HoppyP.IO (HoppyFHR.CCallback (HoppyF.Ptr M314.QAction -> HoppyP.IO ()))
 
-callbackPtrQPaintEventVoid_newFunPtr :: (M142.QPaintEvent -> HoppyP.IO ()) -> HoppyP.IO (HoppyF.FunPtr (HoppyF.Ptr M142.QPaintEvent -> HoppyP.IO ()))
+callbackPtrQGraphicsItemPtrQEventBool_newFunPtr :: (M350.QGraphicsItem -> M34.QEvent -> HoppyP.IO HoppyP.Bool) -> HoppyP.IO (HoppyF.FunPtr (HoppyF.Ptr M350.QGraphicsItem -> HoppyF.Ptr M34.QEvent -> HoppyP.IO HoppyFHR.CBool))
 
-callbackPtrQPaintEventVoid_new :: (M142.QPaintEvent -> HoppyP.IO ()) -> HoppyP.IO (HoppyFHR.CCallback (HoppyF.Ptr M142.QPaintEvent -> HoppyP.IO ()))
+callbackPtrQGraphicsItemPtrQEventBool_new :: (M350.QGraphicsItem -> M34.QEvent -> HoppyP.IO HoppyP.Bool) -> HoppyP.IO (HoppyFHR.CCallback (HoppyF.Ptr M350.QGraphicsItem -> HoppyF.Ptr M34.QEvent -> HoppyP.IO HoppyFHR.CBool))
 
-callbackPtrQTreeWidgetItemIntVoid_newFunPtr :: (M326.QTreeWidgetItem -> HoppyP.Int -> HoppyP.IO ()) -> HoppyP.IO (HoppyF.FunPtr (HoppyF.Ptr M326.QTreeWidgetItem -> HoppyFC.CInt -> HoppyP.IO ()))
+callbackPtrQObjectPtrQEventBool_newFunPtr :: (M88.QObject -> M34.QEvent -> HoppyP.IO HoppyP.Bool) -> HoppyP.IO (HoppyF.FunPtr (HoppyF.Ptr M88.QObject -> HoppyF.Ptr M34.QEvent -> HoppyP.IO HoppyFHR.CBool))
 
-callbackPtrQTreeWidgetItemIntVoid_new :: (M326.QTreeWidgetItem -> HoppyP.Int -> HoppyP.IO ()) -> HoppyP.IO (HoppyFHR.CCallback (HoppyF.Ptr M326.QTreeWidgetItem -> HoppyFC.CInt -> HoppyP.IO ()))
+callbackPtrQObjectPtrQEventBool_new :: (M88.QObject -> M34.QEvent -> HoppyP.IO HoppyP.Bool) -> HoppyP.IO (HoppyFHR.CCallback (HoppyF.Ptr M88.QObject -> HoppyF.Ptr M34.QEvent -> HoppyP.IO HoppyFHR.CBool))
 
-callbackPtrQTreeWidgetItemPtrQTreeWidgetItemVoid_newFunPtr :: (M326.QTreeWidgetItem -> M326.QTreeWidgetItem -> HoppyP.IO ()) -> HoppyP.IO (HoppyF.FunPtr (HoppyF.Ptr M326.QTreeWidgetItem -> HoppyF.Ptr M326.QTreeWidgetItem -> HoppyP.IO ()))
+callbackPtrQObjectVoid_newFunPtr :: (M88.QObject -> HoppyP.IO ()) -> HoppyP.IO (HoppyF.FunPtr (HoppyF.Ptr M88.QObject -> HoppyP.IO ()))
 
-callbackPtrQTreeWidgetItemPtrQTreeWidgetItemVoid_new :: (M326.QTreeWidgetItem -> M326.QTreeWidgetItem -> HoppyP.IO ()) -> HoppyP.IO (HoppyFHR.CCallback (HoppyF.Ptr M326.QTreeWidgetItem -> HoppyF.Ptr M326.QTreeWidgetItem -> HoppyP.IO ()))
+callbackPtrQObjectVoid_new :: (M88.QObject -> HoppyP.IO ()) -> HoppyP.IO (HoppyFHR.CCallback (HoppyF.Ptr M88.QObject -> HoppyP.IO ()))
 
-callbackPtrQTreeWidgetItemVoid_newFunPtr :: (M326.QTreeWidgetItem -> HoppyP.IO ()) -> HoppyP.IO (HoppyF.FunPtr (HoppyF.Ptr M326.QTreeWidgetItem -> HoppyP.IO ()))
+callbackPtrQPaintEventVoid_newFunPtr :: (M252.QPaintEvent -> HoppyP.IO ()) -> HoppyP.IO (HoppyF.FunPtr (HoppyF.Ptr M252.QPaintEvent -> HoppyP.IO ()))
 
-callbackPtrQTreeWidgetItemVoid_new :: (M326.QTreeWidgetItem -> HoppyP.IO ()) -> HoppyP.IO (HoppyFHR.CCallback (HoppyF.Ptr M326.QTreeWidgetItem -> HoppyP.IO ()))
+callbackPtrQPaintEventVoid_new :: (M252.QPaintEvent -> HoppyP.IO ()) -> HoppyP.IO (HoppyFHR.CCallback (HoppyF.Ptr M252.QPaintEvent -> HoppyP.IO ()))
 
-callbackPtrQWidgetPtrQWidgetVoid_newFunPtr :: (M330.QWidget -> M330.QWidget -> HoppyP.IO ()) -> HoppyP.IO (HoppyF.FunPtr (HoppyF.Ptr M330.QWidget -> HoppyF.Ptr M330.QWidget -> HoppyP.IO ()))
+callbackPtrQTreeWidgetItemIntVoid_newFunPtr :: (M442.QTreeWidgetItem -> HoppyP.Int -> HoppyP.IO ()) -> HoppyP.IO (HoppyF.FunPtr (HoppyF.Ptr M442.QTreeWidgetItem -> HoppyFC.CInt -> HoppyP.IO ()))
 
-callbackPtrQWidgetPtrQWidgetVoid_new :: (M330.QWidget -> M330.QWidget -> HoppyP.IO ()) -> HoppyP.IO (HoppyFHR.CCallback (HoppyF.Ptr M330.QWidget -> HoppyF.Ptr M330.QWidget -> HoppyP.IO ()))
+callbackPtrQTreeWidgetItemIntVoid_new :: (M442.QTreeWidgetItem -> HoppyP.Int -> HoppyP.IO ()) -> HoppyP.IO (HoppyFHR.CCallback (HoppyF.Ptr M442.QTreeWidgetItem -> HoppyFC.CInt -> HoppyP.IO ()))
 
-callbackQAbstractSliderActionVoid_newFunPtr :: (M198.QAbstractSliderAction -> HoppyP.IO ()) -> HoppyP.IO (HoppyF.FunPtr (HoppyFC.CInt -> HoppyP.IO ()))
+callbackPtrQTreeWidgetItemPtrQTreeWidgetItemVoid_newFunPtr :: (M442.QTreeWidgetItem -> M442.QTreeWidgetItem -> HoppyP.IO ()) -> HoppyP.IO (HoppyF.FunPtr (HoppyF.Ptr M442.QTreeWidgetItem -> HoppyF.Ptr M442.QTreeWidgetItem -> HoppyP.IO ()))
 
-callbackQAbstractSliderActionVoid_new :: (M198.QAbstractSliderAction -> HoppyP.IO ()) -> HoppyP.IO (HoppyFHR.CCallback (HoppyFC.CInt -> HoppyP.IO ()))
+callbackPtrQTreeWidgetItemPtrQTreeWidgetItemVoid_new :: (M442.QTreeWidgetItem -> M442.QTreeWidgetItem -> HoppyP.IO ()) -> HoppyP.IO (HoppyFHR.CCallback (HoppyF.Ptr M442.QTreeWidgetItem -> HoppyF.Ptr M442.QTreeWidgetItem -> HoppyP.IO ()))
 
-callbackQClipboardModeVoid_newFunPtr :: (M102.QClipboardMode -> HoppyP.IO ()) -> HoppyP.IO (HoppyF.FunPtr (HoppyFC.CInt -> HoppyP.IO ()))
+callbackPtrQTreeWidgetItemVoid_newFunPtr :: (M442.QTreeWidgetItem -> HoppyP.IO ()) -> HoppyP.IO (HoppyF.FunPtr (HoppyF.Ptr M442.QTreeWidgetItem -> HoppyP.IO ()))
 
-callbackQClipboardModeVoid_new :: (M102.QClipboardMode -> HoppyP.IO ()) -> HoppyP.IO (HoppyFHR.CCallback (HoppyFC.CInt -> HoppyP.IO ()))
+callbackPtrQTreeWidgetItemVoid_new :: (M442.QTreeWidgetItem -> HoppyP.IO ()) -> HoppyP.IO (HoppyFHR.CCallback (HoppyF.Ptr M442.QTreeWidgetItem -> HoppyP.IO ()))
 
-callbackQDateVoid_newFunPtr :: (M16.QDate -> HoppyP.IO ()) -> HoppyP.IO (HoppyF.FunPtr (HoppyF.Ptr M16.QDateConst -> HoppyP.IO ()))
+callbackPtrQWidgetPtrQWidgetVoid_newFunPtr :: (M446.QWidget -> M446.QWidget -> HoppyP.IO ()) -> HoppyP.IO (HoppyF.FunPtr (HoppyF.Ptr M446.QWidget -> HoppyF.Ptr M446.QWidget -> HoppyP.IO ()))
 
-callbackQDateVoid_new :: (M16.QDate -> HoppyP.IO ()) -> HoppyP.IO (HoppyFHR.CCallback (HoppyF.Ptr M16.QDateConst -> HoppyP.IO ()))
+callbackPtrQWidgetPtrQWidgetVoid_new :: (M446.QWidget -> M446.QWidget -> HoppyP.IO ()) -> HoppyP.IO (HoppyFHR.CCallback (HoppyF.Ptr M446.QWidget -> HoppyF.Ptr M446.QWidget -> HoppyP.IO ()))
 
-callbackQDockWidgetFeaturesVoid_newFunPtr :: (M224.QDockWidgetDockWidgetFeatures -> HoppyP.IO ()) -> HoppyP.IO (HoppyF.FunPtr (HoppyFC.CInt -> HoppyP.IO ()))
+callbackQAbstractAnimationVoid_newFunPtr :: (M2.QAbstractAnimation -> HoppyP.IO ()) -> HoppyP.IO (HoppyF.FunPtr (HoppyF.Ptr M2.QAbstractAnimation -> HoppyP.IO ()))
 
-callbackQDockWidgetFeaturesVoid_new :: (M224.QDockWidgetDockWidgetFeatures -> HoppyP.IO ()) -> HoppyP.IO (HoppyFHR.CCallback (HoppyFC.CInt -> HoppyP.IO ()))
+callbackQAbstractAnimationVoid_new :: (M2.QAbstractAnimation -> HoppyP.IO ()) -> HoppyP.IO (HoppyFHR.CCallback (HoppyF.Ptr M2.QAbstractAnimation -> HoppyP.IO ()))
 
-callbackQModelIndexIntIntQModelIndexIntVoid_newFunPtr :: (M32.QModelIndex -> HoppyP.Int -> HoppyP.Int -> M32.QModelIndex -> HoppyP.Int -> HoppyP.IO ()) -> HoppyP.IO (HoppyF.FunPtr (HoppyF.Ptr M32.QModelIndexConst -> HoppyFC.CInt -> HoppyFC.CInt -> HoppyF.Ptr M32.QModelIndexConst -> HoppyFC.CInt -> HoppyP.IO ()))
+callbackQAbstractSliderActionVoid_newFunPtr :: (M310.QAbstractSliderAction -> HoppyP.IO ()) -> HoppyP.IO (HoppyF.FunPtr (HoppyFC.CInt -> HoppyP.IO ()))
 
-callbackQModelIndexIntIntQModelIndexIntVoid_new :: (M32.QModelIndex -> HoppyP.Int -> HoppyP.Int -> M32.QModelIndex -> HoppyP.Int -> HoppyP.IO ()) -> HoppyP.IO (HoppyFHR.CCallback (HoppyF.Ptr M32.QModelIndexConst -> HoppyFC.CInt -> HoppyFC.CInt -> HoppyF.Ptr M32.QModelIndexConst -> HoppyFC.CInt -> HoppyP.IO ()))
+callbackQAbstractSliderActionVoid_new :: (M310.QAbstractSliderAction -> HoppyP.IO ()) -> HoppyP.IO (HoppyFHR.CCallback (HoppyFC.CInt -> HoppyP.IO ()))
 
-callbackQModelIndexIntIntVoid_newFunPtr :: (M32.QModelIndex -> HoppyP.Int -> HoppyP.Int -> HoppyP.IO ()) -> HoppyP.IO (HoppyF.FunPtr (HoppyF.Ptr M32.QModelIndexConst -> HoppyFC.CInt -> HoppyFC.CInt -> HoppyP.IO ()))
+callbackQClipboardModeVoid_newFunPtr :: (M208.QClipboardMode -> HoppyP.IO ()) -> HoppyP.IO (HoppyF.FunPtr (HoppyFC.CInt -> HoppyP.IO ()))
 
-callbackQModelIndexIntIntVoid_new :: (M32.QModelIndex -> HoppyP.Int -> HoppyP.Int -> HoppyP.IO ()) -> HoppyP.IO (HoppyFHR.CCallback (HoppyF.Ptr M32.QModelIndexConst -> HoppyFC.CInt -> HoppyFC.CInt -> HoppyP.IO ()))
+callbackQClipboardModeVoid_new :: (M208.QClipboardMode -> HoppyP.IO ()) -> HoppyP.IO (HoppyFHR.CCallback (HoppyFC.CInt -> HoppyP.IO ()))
 
-callbackQModelIndexQModelIndexQVectorIntVoid_newFunPtr :: (M32.QModelIndex -> M32.QModelIndex -> M90.QVectorInt -> HoppyP.IO ()) -> HoppyP.IO (HoppyF.FunPtr (HoppyF.Ptr M32.QModelIndexConst -> HoppyF.Ptr M32.QModelIndexConst -> HoppyF.Ptr M90.QVectorInt -> HoppyP.IO ()))
+callbackQDateVoid_newFunPtr :: (M22.QDate -> HoppyP.IO ()) -> HoppyP.IO (HoppyF.FunPtr (HoppyF.Ptr M22.QDateConst -> HoppyP.IO ()))
 
-callbackQModelIndexQModelIndexQVectorIntVoid_new :: (M32.QModelIndex -> M32.QModelIndex -> M90.QVectorInt -> HoppyP.IO ()) -> HoppyP.IO (HoppyFHR.CCallback (HoppyF.Ptr M32.QModelIndexConst -> HoppyF.Ptr M32.QModelIndexConst -> HoppyF.Ptr M90.QVectorInt -> HoppyP.IO ()))
+callbackQDateVoid_new :: (M22.QDate -> HoppyP.IO ()) -> HoppyP.IO (HoppyFHR.CCallback (HoppyF.Ptr M22.QDateConst -> HoppyP.IO ()))
 
-callbackQModelIndexQModelIndexVoid_newFunPtr :: (M32.QModelIndex -> M32.QModelIndex -> HoppyP.IO ()) -> HoppyP.IO (HoppyF.FunPtr (HoppyF.Ptr M32.QModelIndexConst -> HoppyF.Ptr M32.QModelIndexConst -> HoppyP.IO ()))
+callbackQDockWidgetFeaturesVoid_newFunPtr :: (M338.QDockWidgetDockWidgetFeatures -> HoppyP.IO ()) -> HoppyP.IO (HoppyF.FunPtr (HoppyFC.CInt -> HoppyP.IO ()))
 
-callbackQModelIndexQModelIndexVoid_new :: (M32.QModelIndex -> M32.QModelIndex -> HoppyP.IO ()) -> HoppyP.IO (HoppyFHR.CCallback (HoppyF.Ptr M32.QModelIndexConst -> HoppyF.Ptr M32.QModelIndexConst -> HoppyP.IO ()))
+callbackQDockWidgetFeaturesVoid_new :: (M338.QDockWidgetDockWidgetFeatures -> HoppyP.IO ()) -> HoppyP.IO (HoppyFHR.CCallback (HoppyFC.CInt -> HoppyP.IO ()))
 
-callbackQModelIndexVoid_newFunPtr :: (M32.QModelIndex -> HoppyP.IO ()) -> HoppyP.IO (HoppyF.FunPtr (HoppyF.Ptr M32.QModelIndexConst -> HoppyP.IO ()))
+callbackQModelIndexIntIntQModelIndexIntVoid_newFunPtr :: (M86.QModelIndex -> HoppyP.Int -> HoppyP.Int -> M86.QModelIndex -> HoppyP.Int -> HoppyP.IO ()) -> HoppyP.IO (HoppyF.FunPtr (HoppyF.Ptr M86.QModelIndexConst -> HoppyFC.CInt -> HoppyFC.CInt -> HoppyF.Ptr M86.QModelIndexConst -> HoppyFC.CInt -> HoppyP.IO ()))
 
-callbackQModelIndexVoid_new :: (M32.QModelIndex -> HoppyP.IO ()) -> HoppyP.IO (HoppyFHR.CCallback (HoppyF.Ptr M32.QModelIndexConst -> HoppyP.IO ()))
+callbackQModelIndexIntIntQModelIndexIntVoid_new :: (M86.QModelIndex -> HoppyP.Int -> HoppyP.Int -> M86.QModelIndex -> HoppyP.Int -> HoppyP.IO ()) -> HoppyP.IO (HoppyFHR.CCallback (HoppyF.Ptr M86.QModelIndexConst -> HoppyFC.CInt -> HoppyFC.CInt -> HoppyF.Ptr M86.QModelIndexConst -> HoppyFC.CInt -> HoppyP.IO ()))
 
-callbackQPointVoid_newFunPtr :: (HPoint.HPoint -> HoppyP.IO ()) -> HoppyP.IO (HoppyF.FunPtr (HoppyF.Ptr M40.QPointConst -> HoppyP.IO ()))
+callbackQModelIndexIntIntVoid_newFunPtr :: (M86.QModelIndex -> HoppyP.Int -> HoppyP.Int -> HoppyP.IO ()) -> HoppyP.IO (HoppyF.FunPtr (HoppyF.Ptr M86.QModelIndexConst -> HoppyFC.CInt -> HoppyFC.CInt -> HoppyP.IO ()))
 
-callbackQPointVoid_new :: (HPoint.HPoint -> HoppyP.IO ()) -> HoppyP.IO (HoppyFHR.CCallback (HoppyF.Ptr M40.QPointConst -> HoppyP.IO ()))
+callbackQModelIndexIntIntVoid_new :: (M86.QModelIndex -> HoppyP.Int -> HoppyP.Int -> HoppyP.IO ()) -> HoppyP.IO (HoppyFHR.CCallback (HoppyF.Ptr M86.QModelIndexConst -> HoppyFC.CInt -> HoppyFC.CInt -> HoppyP.IO ()))
 
-callbackQSizeVoid_newFunPtr :: (HSize.HSize -> HoppyP.IO ()) -> HoppyP.IO (HoppyF.FunPtr (HoppyF.Ptr M50.QSizeConst -> HoppyP.IO ()))
+callbackQModelIndexQModelIndexQVectorIntVoid_newFunPtr :: (M86.QModelIndex -> M86.QModelIndex -> M188.QVectorInt -> HoppyP.IO ()) -> HoppyP.IO (HoppyF.FunPtr (HoppyF.Ptr M86.QModelIndexConst -> HoppyF.Ptr M86.QModelIndexConst -> HoppyF.Ptr M188.QVectorInt -> HoppyP.IO ()))
 
-callbackQSizeVoid_new :: (HSize.HSize -> HoppyP.IO ()) -> HoppyP.IO (HoppyFHR.CCallback (HoppyF.Ptr M50.QSizeConst -> HoppyP.IO ()))
+callbackQModelIndexQModelIndexQVectorIntVoid_new :: (M86.QModelIndex -> M86.QModelIndex -> M188.QVectorInt -> HoppyP.IO ()) -> HoppyP.IO (HoppyFHR.CCallback (HoppyF.Ptr M86.QModelIndexConst -> HoppyF.Ptr M86.QModelIndexConst -> HoppyF.Ptr M188.QVectorInt -> HoppyP.IO ()))
 
-callbackQStringVoid_newFunPtr :: (QtahP.String -> HoppyP.IO ()) -> HoppyP.IO (HoppyF.FunPtr (HoppyF.Ptr M54.QStringConst -> HoppyP.IO ()))
+callbackQModelIndexQModelIndexVoid_newFunPtr :: (M86.QModelIndex -> M86.QModelIndex -> HoppyP.IO ()) -> HoppyP.IO (HoppyF.FunPtr (HoppyF.Ptr M86.QModelIndexConst -> HoppyF.Ptr M86.QModelIndexConst -> HoppyP.IO ()))
 
-callbackQStringVoid_new :: (QtahP.String -> HoppyP.IO ()) -> HoppyP.IO (HoppyFHR.CCallback (HoppyF.Ptr M54.QStringConst -> HoppyP.IO ()))
+callbackQModelIndexQModelIndexVoid_new :: (M86.QModelIndex -> M86.QModelIndex -> HoppyP.IO ()) -> HoppyP.IO (HoppyFHR.CCallback (HoppyF.Ptr M86.QModelIndexConst -> HoppyF.Ptr M86.QModelIndexConst -> HoppyP.IO ()))
 
-callbackQSystemTrayIconActivationReasonVoid_newFunPtr :: (M310.QSystemTrayIconActivationReason -> HoppyP.IO ()) -> HoppyP.IO (HoppyF.FunPtr (HoppyFC.CInt -> HoppyP.IO ()))
+callbackQModelIndexVoid_newFunPtr :: (M86.QModelIndex -> HoppyP.IO ()) -> HoppyP.IO (HoppyF.FunPtr (HoppyF.Ptr M86.QModelIndexConst -> HoppyP.IO ()))
 
-callbackQSystemTrayIconActivationReasonVoid_new :: (M310.QSystemTrayIconActivationReason -> HoppyP.IO ()) -> HoppyP.IO (HoppyFHR.CCallback (HoppyFC.CInt -> HoppyP.IO ()))
+callbackQModelIndexVoid_new :: (M86.QModelIndex -> HoppyP.IO ()) -> HoppyP.IO (HoppyFHR.CCallback (HoppyF.Ptr M86.QModelIndexConst -> HoppyP.IO ()))
 
-callbackQWindowVisibilityVoid_newFunPtr :: (M176.QWindowVisibility -> HoppyP.IO ()) -> HoppyP.IO (HoppyF.FunPtr (HoppyFC.CInt -> HoppyP.IO ()))
+callbackQPointVoid_newFunPtr :: (HPoint.HPoint -> HoppyP.IO ()) -> HoppyP.IO (HoppyF.FunPtr (HoppyF.Ptr M108.QPointConst -> HoppyP.IO ()))
 
-callbackQWindowVisibilityVoid_new :: (M176.QWindowVisibility -> HoppyP.IO ()) -> HoppyP.IO (HoppyFHR.CCallback (HoppyFC.CInt -> HoppyP.IO ()))
+callbackQPointVoid_new :: (HPoint.HPoint -> HoppyP.IO ()) -> HoppyP.IO (HoppyFHR.CCallback (HoppyF.Ptr M108.QPointConst -> HoppyP.IO ()))
 
+callbackQSizeVoid_newFunPtr :: (HSize.HSize -> HoppyP.IO ()) -> HoppyP.IO (HoppyF.FunPtr (HoppyF.Ptr M126.QSizeConst -> HoppyP.IO ()))
+
+callbackQSizeVoid_new :: (HSize.HSize -> HoppyP.IO ()) -> HoppyP.IO (HoppyFHR.CCallback (HoppyF.Ptr M126.QSizeConst -> HoppyP.IO ()))
+
+callbackQStringVoid_newFunPtr :: (QtahP.String -> HoppyP.IO ()) -> HoppyP.IO (HoppyF.FunPtr (HoppyF.Ptr M132.QStringConst -> HoppyP.IO ()))
+
+callbackQStringVoid_new :: (QtahP.String -> HoppyP.IO ()) -> HoppyP.IO (HoppyFHR.CCallback (HoppyF.Ptr M132.QStringConst -> HoppyP.IO ()))
+
+callbackQSystemTrayIconActivationReasonVoid_newFunPtr :: (M426.QSystemTrayIconActivationReason -> HoppyP.IO ()) -> HoppyP.IO (HoppyF.FunPtr (HoppyFC.CInt -> HoppyP.IO ()))
+
+callbackQSystemTrayIconActivationReasonVoid_new :: (M426.QSystemTrayIconActivationReason -> HoppyP.IO ()) -> HoppyP.IO (HoppyFHR.CCallback (HoppyFC.CInt -> HoppyP.IO ()))
+
+callbackQVariantVoid_newFunPtr :: (M158.QVariantConst -> HoppyP.IO ()) -> HoppyP.IO (HoppyF.FunPtr (HoppyF.Ptr M158.QVariantConst -> HoppyP.IO ()))
+
+callbackQVariantVoid_new :: (M158.QVariantConst -> HoppyP.IO ()) -> HoppyP.IO (HoppyFHR.CCallback (HoppyF.Ptr M158.QVariantConst -> HoppyP.IO ()))
+
+callbackQWindowVisibilityVoid_newFunPtr :: (M288.QWindowVisibility -> HoppyP.IO ()) -> HoppyP.IO (HoppyF.FunPtr (HoppyFC.CInt -> HoppyP.IO ()))
+
+callbackQWindowVisibilityVoid_new :: (M288.QWindowVisibility -> HoppyP.IO ()) -> HoppyP.IO (HoppyFHR.CCallback (HoppyFC.CInt -> HoppyP.IO ()))
+
+callbackQlonglongVoid_newFunPtr :: (HoppyDI.Int64 -> HoppyP.IO ()) -> HoppyP.IO (HoppyF.FunPtr (HoppyDI.Int64 -> HoppyP.IO ()))
+
+callbackQlonglongVoid_new :: (HoppyDI.Int64 -> HoppyP.IO ()) -> HoppyP.IO (HoppyFHR.CCallback (HoppyDI.Int64 -> HoppyP.IO ()))
+
 callbackQrealVoid_newFunPtr :: (HoppyP.Double -> HoppyP.IO ()) -> HoppyP.IO (HoppyF.FunPtr (HoppyFC.CDouble -> HoppyP.IO ()))
 
 callbackQrealVoid_new :: (HoppyP.Double -> HoppyP.IO ()) -> HoppyP.IO (HoppyFHR.CCallback (HoppyFC.CDouble -> HoppyP.IO ()))
 
-callbackRefConstQIconVoid_newFunPtr :: (M124.QIconConst -> HoppyP.IO ()) -> HoppyP.IO (HoppyF.FunPtr (HoppyF.Ptr M124.QIconConst -> HoppyP.IO ()))
+callbackRefConstQIconVoid_newFunPtr :: (M234.QIconConst -> HoppyP.IO ()) -> HoppyP.IO (HoppyF.FunPtr (HoppyF.Ptr M234.QIconConst -> HoppyP.IO ()))
 
-callbackRefConstQIconVoid_new :: (M124.QIconConst -> HoppyP.IO ()) -> HoppyP.IO (HoppyFHR.CCallback (HoppyF.Ptr M124.QIconConst -> HoppyP.IO ()))
+callbackRefConstQIconVoid_new :: (M234.QIconConst -> HoppyP.IO ()) -> HoppyP.IO (HoppyFHR.CCallback (HoppyF.Ptr M234.QIconConst -> HoppyP.IO ()))
 
-callbackRefConstQItemSelectionRefConstQItemSelectionVoid_newFunPtr :: (M22.QItemSelectionConst -> M22.QItemSelectionConst -> HoppyP.IO ()) -> HoppyP.IO (HoppyF.FunPtr (HoppyF.Ptr M22.QItemSelectionConst -> HoppyF.Ptr M22.QItemSelectionConst -> HoppyP.IO ()))
+callbackRefConstQItemSelectionRefConstQItemSelectionVoid_newFunPtr :: (M48.QItemSelectionConst -> M48.QItemSelectionConst -> HoppyP.IO ()) -> HoppyP.IO (HoppyF.FunPtr (HoppyF.Ptr M48.QItemSelectionConst -> HoppyF.Ptr M48.QItemSelectionConst -> HoppyP.IO ()))
 
-callbackRefConstQItemSelectionRefConstQItemSelectionVoid_new :: (M22.QItemSelectionConst -> M22.QItemSelectionConst -> HoppyP.IO ()) -> HoppyP.IO (HoppyFHR.CCallback (HoppyF.Ptr M22.QItemSelectionConst -> HoppyF.Ptr M22.QItemSelectionConst -> HoppyP.IO ()))
+callbackRefConstQItemSelectionRefConstQItemSelectionVoid_new :: (M48.QItemSelectionConst -> M48.QItemSelectionConst -> HoppyP.IO ()) -> HoppyP.IO (HoppyFHR.CCallback (HoppyF.Ptr M48.QItemSelectionConst -> HoppyF.Ptr M48.QItemSelectionConst -> HoppyP.IO ()))
 
-callbackScreenOrientationVoid_newFunPtr :: (M68.QtScreenOrientation -> HoppyP.IO ()) -> HoppyP.IO (HoppyF.FunPtr (HoppyFC.CInt -> HoppyP.IO ()))
+callbackRefConstQListQModelIndexVoid_newFunPtr :: (M174.QListQModelIndexConst -> HoppyP.IO ()) -> HoppyP.IO (HoppyF.FunPtr (HoppyF.Ptr M174.QListQModelIndexConst -> HoppyP.IO ()))
 
-callbackScreenOrientationVoid_new :: (M68.QtScreenOrientation -> HoppyP.IO ()) -> HoppyP.IO (HoppyFHR.CCallback (HoppyFC.CInt -> HoppyP.IO ()))
+callbackRefConstQListQModelIndexVoid_new :: (M174.QListQModelIndexConst -> HoppyP.IO ()) -> HoppyP.IO (HoppyFHR.CCallback (HoppyF.Ptr M174.QListQModelIndexConst -> HoppyP.IO ()))
 
-callbackToolBarAreasVoid_newFunPtr :: (M68.QtToolBarAreas -> HoppyP.IO ()) -> HoppyP.IO (HoppyF.FunPtr (HoppyFC.CInt -> HoppyP.IO ()))
+callbackRefConstQModelIndexVoid_newFunPtr :: (M86.QModelIndexConst -> HoppyP.IO ()) -> HoppyP.IO (HoppyF.FunPtr (HoppyF.Ptr M86.QModelIndexConst -> HoppyP.IO ()))
 
-callbackToolBarAreasVoid_new :: (M68.QtToolBarAreas -> HoppyP.IO ()) -> HoppyP.IO (HoppyFHR.CCallback (HoppyFC.CInt -> HoppyP.IO ()))
+callbackRefConstQModelIndexVoid_new :: (M86.QModelIndexConst -> HoppyP.IO ()) -> HoppyP.IO (HoppyFHR.CCallback (HoppyF.Ptr M86.QModelIndexConst -> HoppyP.IO ()))
 
-callbackToolButtonStyleVoid_newFunPtr :: (M68.QtToolButtonStyle -> HoppyP.IO ()) -> HoppyP.IO (HoppyF.FunPtr (HoppyFC.CInt -> HoppyP.IO ()))
+callbackScreenOrientationVoid_newFunPtr :: (M164.QtScreenOrientation -> HoppyP.IO ()) -> HoppyP.IO (HoppyF.FunPtr (HoppyFC.CInt -> HoppyP.IO ()))
 
-callbackToolButtonStyleVoid_new :: (M68.QtToolButtonStyle -> HoppyP.IO ()) -> HoppyP.IO (HoppyFHR.CCallback (HoppyFC.CInt -> HoppyP.IO ()))
+callbackScreenOrientationVoid_new :: (M164.QtScreenOrientation -> HoppyP.IO ()) -> HoppyP.IO (HoppyFHR.CCallback (HoppyFC.CInt -> HoppyP.IO ()))
 
+callbackStateStateVoid_newFunPtr :: (M2.QAbstractAnimationState -> M2.QAbstractAnimationState -> HoppyP.IO ()) -> HoppyP.IO (HoppyF.FunPtr (HoppyFC.CInt -> HoppyFC.CInt -> HoppyP.IO ()))
+
+callbackStateStateVoid_new :: (M2.QAbstractAnimationState -> M2.QAbstractAnimationState -> HoppyP.IO ()) -> HoppyP.IO (HoppyFHR.CCallback (HoppyFC.CInt -> HoppyFC.CInt -> HoppyP.IO ()))
+
+callbackToolBarAreasVoid_newFunPtr :: (M164.QtToolBarAreas -> HoppyP.IO ()) -> HoppyP.IO (HoppyF.FunPtr (HoppyFC.CInt -> HoppyP.IO ()))
+
+callbackToolBarAreasVoid_new :: (M164.QtToolBarAreas -> HoppyP.IO ()) -> HoppyP.IO (HoppyFHR.CCallback (HoppyFC.CInt -> HoppyP.IO ()))
+
+callbackToolButtonStyleVoid_newFunPtr :: (M164.QtToolButtonStyle -> HoppyP.IO ()) -> HoppyP.IO (HoppyF.FunPtr (HoppyFC.CInt -> HoppyP.IO ()))
+
+callbackToolButtonStyleVoid_new :: (M164.QtToolButtonStyle -> HoppyP.IO ()) -> HoppyP.IO (HoppyFHR.CCallback (HoppyFC.CInt -> HoppyP.IO ()))
+
 callbackVoid_newFunPtr :: HoppyP.IO () -> HoppyP.IO (HoppyF.FunPtr (HoppyP.IO ()))
 
 callbackVoid_new :: HoppyP.IO () -> HoppyP.IO (HoppyFHR.CCallback (HoppyP.IO ()))
 
-callbackWindowModalityVoid_newFunPtr :: (M68.QtWindowModality -> HoppyP.IO ()) -> HoppyP.IO (HoppyF.FunPtr (HoppyFC.CInt -> HoppyP.IO ()))
+callbackWindowModalityVoid_newFunPtr :: (M164.QtWindowModality -> HoppyP.IO ()) -> HoppyP.IO (HoppyF.FunPtr (HoppyFC.CInt -> HoppyP.IO ()))
 
-callbackWindowModalityVoid_new :: (M68.QtWindowModality -> HoppyP.IO ()) -> HoppyP.IO (HoppyFHR.CCallback (HoppyFC.CInt -> HoppyP.IO ()))
+callbackWindowModalityVoid_new :: (M164.QtWindowModality -> HoppyP.IO ()) -> HoppyP.IO (HoppyFHR.CCallback (HoppyFC.CInt -> HoppyP.IO ()))
 
-callbackWindowStateVoid_newFunPtr :: (M68.QtWindowState -> HoppyP.IO ()) -> HoppyP.IO (HoppyF.FunPtr (HoppyFC.CInt -> HoppyP.IO ()))
+callbackWindowStateVoid_newFunPtr :: (M164.QtWindowState -> HoppyP.IO ()) -> HoppyP.IO (HoppyF.FunPtr (HoppyFC.CInt -> HoppyP.IO ()))
 
-callbackWindowStateVoid_new :: (M68.QtWindowState -> HoppyP.IO ()) -> HoppyP.IO (HoppyFHR.CCallback (HoppyFC.CInt -> HoppyP.IO ()))
+callbackWindowStateVoid_new :: (M164.QtWindowState -> HoppyP.IO ()) -> HoppyP.IO (HoppyFHR.CCallback (HoppyFC.CInt -> HoppyP.IO ()))
diff --git a/src/Graphics/UI/Qtah/SceneEvent.hs b/src/Graphics/UI/Qtah/SceneEvent.hs
--- a/src/Graphics/UI/Qtah/SceneEvent.hs
+++ b/src/Graphics/UI/Qtah/SceneEvent.hs
@@ -1,6 +1,6 @@
 -- This file is part of Qtah.
 --
--- Copyright 2015-2018 The Qtah Authors.
+-- Copyright 2015-2019 The Qtah Authors.
 --
 -- This program is free software: you can redistribute it and/or modify
 -- it under the terms of the GNU Lesser General Public License as published by
@@ -72,7 +72,7 @@
 onAnySceneEvent receiver filter = do
   liveVar <- newMVar True
   listener <- SceneEventListener.new receiver filter $ modifyMVar_ liveVar $ const $ return False
-  return $ SceneEventRegistration
+  return SceneEventRegistration
     { regListener = listener
     , regLive = liveVar
     }
diff --git a/src/Graphics/UI/Qtah/Signal.hs b/src/Graphics/UI/Qtah/Signal.hs
--- a/src/Graphics/UI/Qtah/Signal.hs
+++ b/src/Graphics/UI/Qtah/Signal.hs
@@ -1,6 +1,6 @@
 -- This file is part of Qtah.
 --
--- Copyright 2015-2018 The Qtah Authors.
+-- Copyright 2015-2019 The Qtah Authors.
 --
 -- This program is free software: you can redistribute it and/or modify
 -- it under the terms of the GNU Lesser General Public License as published by
@@ -15,35 +15,79 @@
 -- You should have received a copy of the GNU Lesser General Public License
 -- along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
-{-# LANGUAGE FlexibleContexts #-}
+{-# LANGUAGE ExistentialQuantification, FlexibleContexts #-}
 
 -- | General routines for managing Qt signals.
 module Graphics.UI.Qtah.Signal (
   Signal (..),
+  Connection,
   connect,
   connect_,
+  disconnect,
+  connectionIsValid,
+  -- * Internal
+  internalMakeConnection,
   ) where
 
+import Control.Concurrent (MVar, modifyMVar, newMVar, readMVar)
 import Control.Monad (unless)
+import Data.Maybe (isJust)
+import Foreign.Hoppy.Runtime (Deletable, delete)
 
+data SomeDeletable = forall a. Deletable a => SomeDeletable a
+
 -- | A signal that can be connected to an instance of the @object@ (C++) class,
 -- and when invoked will call a function of the given @handler@ type.
 data Signal object handler = Signal
-  { internalConnectSignal :: object -> handler -> IO Bool
+  { internalConnectSignal :: object -> handler -> IO (Maybe Connection)
   , internalName :: String
   }
 
 instance Show (Signal object handler) where
   show signal = concat ["<Signal ", internalName signal, ">"]
 
--- | Registers a handler function to listen to a signal an object emits.
--- Returns true if the connection succeeded.
-connect :: object -> Signal object handler -> handler -> IO Bool
+-- | A handle representing a callback function that has been connected to a Qt
+-- signal on a specific object.  A connection is created by 'connect' or
+-- 'connect_'.  The callback function may be unregistered by passing this object
+-- to the 'disconnect' function, after which 'connectionIsValid' will return
+-- false.
+newtype Connection = Connection (MVar (Maybe SomeDeletable))
+
+-- | Internal function.  Constructs a 'Connection' from a listener object.
+internalMakeConnection :: Deletable a => a -> IO Connection
+internalMakeConnection listener = do
+  listenerVar <- newMVar $ Just $ SomeDeletable listener
+  return $ Connection listenerVar
+
+-- | Registers a handler function to listen to a signal an object emits.  If the
+-- connection is made successfully, a handle representing the connection is
+-- returned, otherwise @Nothing@ is returned.
+connect :: object -> Signal object handler -> handler -> IO (Maybe Connection)
 connect = flip internalConnectSignal
 
 -- | Registers a handler function to listen to a signal an object emits, via
 -- 'connect'.  If the connection fails, then the program aborts.
-connect_ :: Show (Signal object handler) => object -> Signal object handler -> handler -> IO ()
+connect_ :: object -> Signal object handler -> handler -> IO ()
 connect_ object signal handler = do
-  success <- connect object signal handler
-  unless success $ fail $ "connect_: Failed to connect signal " ++ show signal ++ "."
+  maybeConnection <- connect object signal handler
+  unless (isJust maybeConnection) $
+    fail $ "connect_: Failed to connect signal " ++ show signal ++ "."
+
+-- | Disconnects a connection previously created through 'connect', returning
+-- true on success.
+--
+-- Passing a connection that has already been disconnected does nothing and
+-- returns false.
+disconnect :: Connection -> IO Bool
+disconnect (Connection listenerVar) =
+  modifyMVar listenerVar $ \maybeListener -> case maybeListener of
+    Just (SomeDeletable listener) -> do
+      delete listener
+      return (Nothing, True)
+    Nothing ->
+      return (Nothing, False)
+
+-- | Returns true if the connection is still valid, i.e. its callback function
+-- is still connected to its signal.
+connectionIsValid :: Connection -> IO Bool
+connectionIsValid (Connection listenerVar) = isJust <$> readMVar listenerVar
diff --git a/src/Graphics/UI/Qtah/Widgets/QComboBox.hs b/src/Graphics/UI/Qtah/Widgets/QComboBox.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/UI/Qtah/Widgets/QComboBox.hs
diff --git a/src/Graphics/UI/Qtah/Widgets/QGraphicsPixmapItem.hs b/src/Graphics/UI/Qtah/Widgets/QGraphicsPixmapItem.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/UI/Qtah/Widgets/QGraphicsPixmapItem.hs
diff --git a/tests/Graphics/UI/Qtah/EventTest.hs b/tests/Graphics/UI/Qtah/EventTest.hs
--- a/tests/Graphics/UI/Qtah/EventTest.hs
+++ b/tests/Graphics/UI/Qtah/EventTest.hs
@@ -1,6 +1,6 @@
 -- This file is part of Qtah.
 --
--- Copyright 2015-2018 The Qtah Authors.
+-- Copyright 2015-2019 The Qtah Authors.
 --
 -- This program is free software: you can redistribute it and/or modify
 -- it under the terms of the GNU Lesser General Public License as published by
diff --git a/tests/Main.hs b/tests/Main.hs
--- a/tests/Main.hs
+++ b/tests/Main.hs
@@ -1,6 +1,6 @@
 -- This file is part of Qtah.
 --
--- Copyright 2015-2018 The Qtah Authors.
+-- Copyright 2015-2019 The Qtah Authors.
 --
 -- This program is free software: you can redistribute it and/or modify
 -- it under the terms of the GNU Lesser General Public License as published by
