packages feed

qtah-generator 0.4.0 → 0.5.0

raw patch · 34 files changed

+1459/−68 lines, 34 filesdep ~hoppy-generatordep ~hoppy-stdsetup-changedPVP ok

version bump matches the API change (PVP)

Dependency ranges changed: hoppy-generator, hoppy-std

API changes (from Hackage documentation)

Files

Setup.hs view
@@ -16,6 +16,7 @@ -- along with this program.  If not, see <http://www.gnu.org/licenses/>.  {-# OPTIONS_GHC -W -fwarn-incomplete-patterns -fwarn-unused-do-bind #-}+{-# LANGUAGE CPP, RankNTypes #-}  import Control.Monad (unless, when) import Distribution.PackageDescription (PackageDescription)@@ -25,30 +26,41 @@   absoluteInstallDirs,   bindir,   pkgDescrFile,-  )-import Distribution.Simple.Program (runProgram)-import Distribution.Simple.Program.Types (-  ProgramLocation (FoundOnSystem),-  simpleConfiguredProgram,+  withPrograms,   )+import Distribution.Simple.Program (Program, runDbProgram, simpleProgram) import Distribution.Simple.Setup (+  ConfigFlags,   CleanFlags,   CopyDest (CopyTo, NoCopyDest),   cleanVerbosity,+  configVerbosity,   copyDest,+#if MIN_VERSION_Cabal(2,0,0)+  copyVerbosity,+#endif   flagToMaybe,   fromFlagOrDefault,   installDistPref,+#if MIN_VERSION_Cabal(2,0,0)+  installVerbosity,+#endif   ) import Distribution.Simple.UserHooks (   UserHooks (     cleanHook,     copyHook,+    hookedPrograms,     instHook,     postConf     ),   )-import Distribution.Simple.Utils (die, info, installExecutableFile)+#if MIN_VERSION_Cabal(2,0,0)+import Distribution.Simple.Utils (die')+#else+import Distribution.Simple.Utils (die)+#endif+import Distribution.Simple.Utils (info, installExecutableFile) import Distribution.Verbosity (normal, verbose) import System.Directory (   createDirectoryIfMissing,@@ -62,46 +74,75 @@   ) import System.FilePath ((</>), joinPath, takeDirectory) +type DieFn = forall a. String -> IO a+ main :: IO () main = defaultMainWithHooks qtahHooks  qtahHooks :: UserHooks qtahHooks = simpleUserHooks-  { postConf = \_ _ _ lbi -> generateSources lbi+  { hookedPrograms = [bashProgram]+  , postConf = \_ cf _ lbi -> generateSources cf lbi   , copyHook = \pd lbi uh cf -> do let dest = fromFlagOrDefault NoCopyDest $ copyDest cf                                    doInstall pd lbi dest+#if MIN_VERSION_Cabal(2,0,0)+                                     (die' $ fromFlagOrDefault normal $ copyVerbosity cf)+#else+                                     die+#endif+                                    copyHook simpleUserHooks pd lbi uh cf   , instHook = \pd lbi uh if' -> do let dest = maybe NoCopyDest CopyTo $                                                flagToMaybe $ installDistPref if'                                     doInstall pd lbi dest+#if MIN_VERSION_Cabal(2,0,0)+                                      (die' $ fromFlagOrDefault normal $ installVerbosity if')+#else+                                      die+#endif                                     instHook simpleUserHooks pd lbi uh if'   , cleanHook = \pd z uh cf -> do doClean cf                                   cleanHook simpleUserHooks pd z uh cf   } -findProjectRootDir :: LocalBuildInfo -> IO FilePath-findProjectRootDir localBuildInfo = case pkgDescrFile localBuildInfo of+bashProgram :: Program+bashProgram = simpleProgram "bash"++findProjectRootDir :: LocalBuildInfo -> DieFn -> IO FilePath+findProjectRootDir localBuildInfo dieFn = case pkgDescrFile localBuildInfo of   Just path -> return $ takeDirectory path-  Nothing -> die "Couldn't find the project root path."+  Nothing -> dieFn "Couldn't find the project root path." -generateSources :: LocalBuildInfo -> IO ()-generateSources localBuildInfo = do+generateSources :: ConfigFlags -> LocalBuildInfo -> IO ()+generateSources configFlags localBuildInfo = do   -- Generate binding sources for the generated C++ listener classes.-  projectRootDir <- findProjectRootDir localBuildInfo+  let verbosity = fromFlagOrDefault normal $ configVerbosity configFlags++  projectRootDir <-+    findProjectRootDir+    localBuildInfo+#if MIN_VERSION_Cabal(2,0,0)+    (die' verbosity)+#else+    die+#endif+   let genPath = projectRootDir </> "qtah-listener-gen"-      program = simpleConfiguredProgram "qtah-listener-gen" $ FoundOnSystem genPath+      programDb = withPrograms localBuildInfo    -- Cabal 1.24 (GHC 8?) seems to remove the executable bit from   -- qtah-listener-gen before configuring, so we have to re-add it.+  --+  -- See: https://github.com/haskell/cabal/issues/4170   perms <- getPermissions genPath   unless (executable perms) $     setPermissions genPath $ setOwnerExecutable True perms -  runProgram normal program ["--gen-hs-dir", "."]+  runDbProgram verbosity bashProgram programDb [genPath, "--gen-hs-dir", "."] -doInstall :: PackageDescription -> LocalBuildInfo -> CopyDest -> IO ()-doInstall packageDesc localBuildInfo copyDest = do-  projectRootDir <- findProjectRootDir localBuildInfo+doInstall :: PackageDescription -> LocalBuildInfo -> CopyDest -> DieFn -> IO ()+doInstall packageDesc localBuildInfo copyDest dieFn = do+  projectRootDir <- findProjectRootDir localBuildInfo dieFn   let binDir = bindir $ absoluteInstallDirs packageDesc localBuildInfo copyDest   createDirectoryIfMissing True binDir   installExecutableFile verbose
qtah-generator.cabal view
@@ -1,5 +1,5 @@ name: qtah-generator-version: 0.4.0+version: 0.5.0 synopsis: Generator for Qtah Qt bindings homepage: http://khumba.net/projects/qtah license: LGPL-3@@ -41,8 +41,8 @@     , containers >=0.5 && <0.6     , directory >=1.2 && <1.4     , filepath >=1.3 && <1.5-    , hoppy-generator >=0.4 && <0.5-    , hoppy-std >=0.4 && <0.5+    , hoppy-generator >=0.5 && <0.6+    , hoppy-std >=0.5 && <0.6     , haskell-src >=1.0 && <1.1     , mtl >=2.1 && <2.3     , process >=1.2 && <1.7@@ -60,6 +60,7 @@     , Graphics.UI.Qtah.Generator.Interface.Core.QChar     , Graphics.UI.Qtah.Generator.Interface.Core.QChildEvent     , Graphics.UI.Qtah.Generator.Interface.Core.QCoreApplication+    , Graphics.UI.Qtah.Generator.Interface.Core.QDate     , Graphics.UI.Qtah.Generator.Interface.Core.QDir     , Graphics.UI.Qtah.Generator.Interface.Core.QEvent     , Graphics.UI.Qtah.Generator.Interface.Core.QItemSelection@@ -75,6 +76,7 @@     , Graphics.UI.Qtah.Generator.Interface.Core.QPointF     , Graphics.UI.Qtah.Generator.Interface.Core.QRect     , Graphics.UI.Qtah.Generator.Interface.Core.QRectF+    , Graphics.UI.Qtah.Generator.Interface.Core.QSettings     , Graphics.UI.Qtah.Generator.Interface.Core.QSize     , Graphics.UI.Qtah.Generator.Interface.Core.QSizeF     , Graphics.UI.Qtah.Generator.Interface.Core.QString@@ -85,6 +87,7 @@     , Graphics.UI.Qtah.Generator.Interface.Core.QTimerEvent     , Graphics.UI.Qtah.Generator.Interface.Core.QVariant     , Graphics.UI.Qtah.Generator.Interface.Core.QVector+    , Graphics.UI.Qtah.Generator.Interface.Core.QPalette     , Graphics.UI.Qtah.Generator.Interface.Core.Types     , Graphics.UI.Qtah.Generator.Interface.Gui     , Graphics.UI.Qtah.Generator.Interface.Gui.QActionEvent@@ -92,6 +95,7 @@     , Graphics.UI.Qtah.Generator.Interface.Gui.QClipboard     , Graphics.UI.Qtah.Generator.Interface.Gui.QCloseEvent     , Graphics.UI.Qtah.Generator.Interface.Gui.QColor+    , Graphics.UI.Qtah.Generator.Interface.Gui.QCursor     , Graphics.UI.Qtah.Generator.Interface.Gui.QDoubleValidator     , Graphics.UI.Qtah.Generator.Interface.Gui.QEnterEvent     , Graphics.UI.Qtah.Generator.Interface.Gui.QExposeEvent@@ -135,6 +139,7 @@     , Graphics.UI.Qtah.Generator.Interface.Widgets     , Graphics.UI.Qtah.Generator.Interface.Widgets.QAbstractButton     , Graphics.UI.Qtah.Generator.Interface.Widgets.QAbstractGraphicsShapeItem+    , Graphics.UI.Qtah.Generator.Interface.Widgets.QAbstractItemDelegate     , Graphics.UI.Qtah.Generator.Interface.Widgets.QAbstractItemView     , Graphics.UI.Qtah.Generator.Interface.Widgets.QAbstractScrollArea     , Graphics.UI.Qtah.Generator.Interface.Widgets.QAbstractSlider@@ -145,9 +150,12 @@     , Graphics.UI.Qtah.Generator.Interface.Widgets.QBoxLayout     , Graphics.UI.Qtah.Generator.Interface.Widgets.QButtonGroup     , Graphics.UI.Qtah.Generator.Interface.Widgets.QCheckBox+    , Graphics.UI.Qtah.Generator.Interface.Widgets.QDateEdit+    , Graphics.UI.Qtah.Generator.Interface.Widgets.QDateTimeEdit     , Graphics.UI.Qtah.Generator.Interface.Widgets.QDial     , Graphics.UI.Qtah.Generator.Interface.Widgets.QDialog     , Graphics.UI.Qtah.Generator.Interface.Widgets.QDialogButtonBox+    , Graphics.UI.Qtah.Generator.Interface.Widgets.QDockWidget     , Graphics.UI.Qtah.Generator.Interface.Widgets.QDoubleSpinBox     , Graphics.UI.Qtah.Generator.Interface.Widgets.QFileDialog     , Graphics.UI.Qtah.Generator.Interface.Widgets.QFormLayout@@ -189,10 +197,13 @@     , Graphics.UI.Qtah.Generator.Interface.Widgets.QStackedLayout     , Graphics.UI.Qtah.Generator.Interface.Widgets.QStackedWidget     , Graphics.UI.Qtah.Generator.Interface.Widgets.QStatusBar+    , Graphics.UI.Qtah.Generator.Interface.Widgets.QStyledItemDelegate     , Graphics.UI.Qtah.Generator.Interface.Widgets.QSystemTrayIcon     , Graphics.UI.Qtah.Generator.Interface.Widgets.QTabWidget     , Graphics.UI.Qtah.Generator.Interface.Widgets.QTextEdit     , Graphics.UI.Qtah.Generator.Interface.Widgets.QToolBar+    , Graphics.UI.Qtah.Generator.Interface.Widgets.QToolBox+    , Graphics.UI.Qtah.Generator.Interface.Widgets.QToolButton     , Graphics.UI.Qtah.Generator.Interface.Widgets.QTreeView     , Graphics.UI.Qtah.Generator.Interface.Widgets.QTreeWidget     , Graphics.UI.Qtah.Generator.Interface.Widgets.QVBoxLayout
qtah-listener-gen view
@@ -77,6 +77,8 @@      # Keep the includes in the C++ section up-to-date with the types used here.     $fn Bool "bool"+    $fn DockWidgetArea "Qt::DockWidgetArea"+    $fn DockWidgetAreas "Qt::DockWidgetAreas"     $fn Double "double"     $fn Int "int"     $fn IntBool "int|bool"@@ -93,6 +95,8 @@     $fn PtrQWidgetPtrQWidget "QWidget*|QWidget*"     $fn QAbstractSliderAction "QAbstractSlider::SliderAction"     $fn QClipboardMode "QClipboard::Mode"+    $fn QDate "QDate"+    $fn QDockWidgetFeatures "QDockWidget::DockWidgetFeatures"     $fn QModelIndex "QModelIndex"     $fn QModelIndexIntInt "QModelIndex|int|int"     $fn QModelIndexIntIntQModelIndexInt "QModelIndex|int|int|QModelIndex|int"@@ -136,6 +140,7 @@     sayHpp '#include <QAbstractSlider>'     sayHpp '#include <QAction>'     sayHpp '#include <QClipboard>'+    sayHpp '#include <QDockWidget>'     sayHpp '#include <QIcon>'     sayHpp '#include <QItemSelection>'     sayHpp '#include <QModelIndex>'
src/Graphics/UI/Qtah/Generator/Interface/Core.hs view
@@ -24,6 +24,7 @@ import qualified Graphics.UI.Qtah.Generator.Interface.Core.QChar as QChar import qualified Graphics.UI.Qtah.Generator.Interface.Core.QChildEvent as QChildEvent import qualified Graphics.UI.Qtah.Generator.Interface.Core.QCoreApplication as QCoreApplication+import qualified Graphics.UI.Qtah.Generator.Interface.Core.QDate as QDate import qualified Graphics.UI.Qtah.Generator.Interface.Core.QDir as QDir import qualified Graphics.UI.Qtah.Generator.Interface.Core.QEvent as QEvent import qualified Graphics.UI.Qtah.Generator.Interface.Core.QItemSelection as QItemSelection@@ -34,11 +35,13 @@ import qualified Graphics.UI.Qtah.Generator.Interface.Core.QMarginsF as QMarginsF import qualified Graphics.UI.Qtah.Generator.Interface.Core.QModelIndex as QModelIndex import qualified Graphics.UI.Qtah.Generator.Interface.Core.QObject as QObject+import qualified Graphics.UI.Qtah.Generator.Interface.Core.QPalette as QPalette import qualified Graphics.UI.Qtah.Generator.Interface.Core.QPersistentModelIndex as QPersistentModelIndex import qualified Graphics.UI.Qtah.Generator.Interface.Core.QPoint as QPoint import qualified Graphics.UI.Qtah.Generator.Interface.Core.QPointF as QPointF import qualified Graphics.UI.Qtah.Generator.Interface.Core.QRect as QRect import qualified Graphics.UI.Qtah.Generator.Interface.Core.QRectF as QRectF+import qualified Graphics.UI.Qtah.Generator.Interface.Core.QSettings as QSettings import qualified Graphics.UI.Qtah.Generator.Interface.Core.QSize as QSize import qualified Graphics.UI.Qtah.Generator.Interface.Core.QSizeF as QSizeF import qualified Graphics.UI.Qtah.Generator.Interface.Core.QString as QString@@ -64,6 +67,7 @@     , QChar.aModule     , QChildEvent.aModule     , QCoreApplication.aModule+    , QDate.aModule     , QDir.aModule     , QEvent.aModule     , QItemSelection.aModule@@ -73,11 +77,13 @@     , QMarginsF.aModule     , QModelIndex.aModule     , QObject.aModule+    , QPalette.aModule     , QPersistentModelIndex.aModule     , QPoint.aModule     , QPointF.aModule     , QRect.aModule     , QRectF.aModule+    , QSettings.aModule     , QSize.aModule     , QSizeF.aModule     , QString.aModule
src/Graphics/UI/Qtah/Generator/Interface/Core/QCoreApplication.hs view
@@ -40,6 +40,7 @@ import Graphics.UI.Qtah.Generator.Flags (qtVersion) import Graphics.UI.Qtah.Generator.Interface.Core.QEvent (c_QEvent) import Graphics.UI.Qtah.Generator.Interface.Core.QObject (c_QObject)+import Graphics.UI.Qtah.Generator.Interface.Core.QString (c_QString) import Graphics.UI.Qtah.Generator.Interface.Core.QStringList (c_QStringList) import Graphics.UI.Qtah.Generator.Module (AModule (AQtModule), makeQtModule) import Graphics.UI.Qtah.Generator.Types@@ -60,15 +61,25 @@   collect   [ just $ makeFnMethod (ident2 "qtah" "qcoreapplication" "create") "new" MStatic Nonpure     [objT c_QStringList] $ ptrT $ objT c_QCoreApplication+  , just $ mkStaticMethod "applicationName" [] $ objT c_QString+  , just $ mkStaticMethod "applicationVersion" [] $ objT c_QString   , test (qtVersion >= [4, 1]) $ mkStaticMethod "arguments" [] $ objT c_QStringList   , just $ mkStaticMethod "exec" [] voidT   , just $ mkStaticMethod "exit" [intT] voidT   , just $ mkStaticMethod' "instance" "getInstance" [] $ ptrT $ objT c_QCoreApplication+  , test (qtVersion >= [5, 0]) $ mkStaticMethod "isQuitLockEnabled" [] boolT+  , just $ mkStaticMethod "organizationDomain" [] $ objT c_QString+  , just $ mkStaticMethod "organizationName" [] $ objT c_QString   , test (qtVersion >= [4, 3]) $ mkStaticMethod' "postEvent" "postEvent"     [ptrT $ objT c_QObject, ptrT $ objT c_QEvent] voidT   , test (qtVersion >= [4, 3]) $ mkStaticMethod' "postEvent" "postEventWithPriority"     [ptrT $ objT c_QObject, ptrT $ objT c_QEvent, intT] voidT   , just $ mkStaticMethod "quit" [] voidT   , just $ mkStaticMethod "sendEvent" [ptrT $ objT c_QObject, ptrT $ objT c_QEvent] boolT+  , just $ mkStaticMethod "setApplicationName" [objT c_QString] voidT+  , just $ mkStaticMethod "setApplicationVersion" [objT c_QString] voidT+  , just $ mkStaticMethod "setOrganizationDomain" [objT c_QString] voidT+  , just $ mkStaticMethod "setOrganizationName" [objT c_QString] voidT+  , test (qtVersion >= [5, 0]) $ mkStaticMethod "setQuitLockEnabled" [boolT] voidT     -- TODO Other methods.   ]
+ src/Graphics/UI/Qtah/Generator/Interface/Core/QDate.hs view
@@ -0,0 +1,108 @@+-- This file is part of Qtah.+--+-- Copyright 2018 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/>.++module Graphics.UI.Qtah.Generator.Interface.Core.QDate (+  aModule,+  c_QDate,+  ) where++import Foreign.Hoppy.Generator.Spec (+  Export (ExportClass),+  addReqIncludes,+  classSetConversionToGc,+  classSetEntityPrefix,+  ident,+  includeStd,+  makeClass,+  mkConstMethod,+  mkConstMethod',+  mkCtor,+  mkMethod,+  mkStaticMethod,+  mkStaticMethod',+  )+import Foreign.Hoppy.Generator.Spec.ClassFeature (+  ClassFeature (Assignable, Copyable, Equatable),+  classAddFeatures,+  )+import Foreign.Hoppy.Generator.Types (+  boolT, intT, int64T, objT,+  )+import Foreign.Hoppy.Generator.Version (collect, just, test)+import Graphics.UI.Qtah.Generator.Flags (qtVersion)+import Graphics.UI.Qtah.Generator.Interface.Core.QString (c_QString)+import Graphics.UI.Qtah.Generator.Module (AModule (AQtModule), makeQtModule)+import Graphics.UI.Qtah.Generator.Types++{-# ANN module "HLint: ignore Use camelCase" #-}++aModule =+  AQtModule $+  makeQtModule ["Core", "QDate"]+  [ QtExport $ ExportClass c_QDate+  ]++c_QDate =+  addReqIncludes [includeStd "QDate"] $+  classSetConversionToGc $+  classAddFeatures [Assignable, Copyable, Equatable] $+  classSetEntityPrefix "" $+  makeClass (ident "QDate") Nothing [] $+  collect+  [+  -- Public Functions+    just $ mkCtor "new" []+  , just $ mkCtor "newWithYmd" [intT, intT, intT]+  , just $ mkConstMethod "addDays" [int64T] (objT c_QDate)+  , just $ mkConstMethod "addMonths" [intT] (objT c_QDate)+  , just $ mkConstMethod "addYears" [intT] (objT c_QDate)+  , just $ mkConstMethod "day" [] intT+  , just $ mkConstMethod "dayOfWeek" [] intT+  , just $ mkConstMethod "dayOfYear" [] intT+  , just $ mkConstMethod "daysInMonth" [] intT+  , just $ mkConstMethod "daysInYear" [] intT+  , just $ mkConstMethod "daysTo" [objT c_QDate] int64T+  -- TODO test (qtVersion >= [4, 5]) $ mkConstMethod "getDate"+  --      (intT *year, intT *month, intT *day) voidT+  , just $ mkConstMethod "isNull" [] boolT+  , just $ mkConstMethod "isValid" [] boolT+  , just $ mkConstMethod "month" [] intT+  , test (qtVersion >= [4, 2]) $ mkMethod "setDate" [intT, intT, intT] boolT+  , just $ mkConstMethod "toJulianDay" [] int64T+  , just $ mkConstMethod'+      "toString" "toStringWithStringFormat" [objT c_QString] (objT c_QString)+  , just $ mkConstMethod "toString" [] (objT c_QString)+  -- TODO just $ mkConstMethod' "toString" "toStringWithDateFormat"+  --      [DateFormat] (objT c_QString)+  -- TODO just $ mkConstMethod' "toString" "toStringWithStringViewFormat"+  --      [objT c_QStringView] (objT c_QString)+  , just $ mkConstMethod "weekNumber" [] intT+  -- TODO just $ mkConstMethod' "weekNumber" "weekNumberWithYearNumber"+  --      (intT *yearNumber = Q_NULLPTR) intT+  , just $ mkConstMethod "year" [] intT++  -- Static Public Members+  , just $ mkStaticMethod "currentDate" [] (objT c_QDate)+  , just $ mkStaticMethod "fromJulianDay" [int64T] (objT c_QDate)+  , just $ mkStaticMethod "fromString" [objT c_QString] (objT c_QDate)+  -- TODO just $ mkStaticMethod' "fromString" "fromStringWithDateFormat"+  --      [objT c_QString, Qt::DateFormat] (objT c_QDate)+  , just $ mkStaticMethod' "fromString" "fromStringWithStringFormat"+    [objT c_QString, objT c_QString] (objT c_QDate)+  , just $ mkStaticMethod "isLeapYear" [intT] boolT+  , just $ mkStaticMethod' "isValid" "isValidYmd" [intT, intT, intT] boolT+  ]
+ src/Graphics/UI/Qtah/Generator/Interface/Core/QPalette.hs view
@@ -0,0 +1,59 @@+-- This file is part of Qtah.+--+-- Copyright 2015-2018 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/>.++-- | Top-level bindings and bindings in the @Qt::@ namespace.+module Graphics.UI.Qtah.Generator.Interface.Core.QPalette (+  aModule,+  e_ColorRole+  ) where++import Foreign.Hoppy.Generator.Spec (Export (ExportEnum), Include, ident1, includeStd)+import Foreign.Hoppy.Generator.Version (collect, just)+import Graphics.UI.Qtah.Generator.Module (AModule(AQtModule), makeQtModule)+import Graphics.UI.Qtah.Generator.Types++{-# ANN module "HLint: ignore Use camelCase" #-}++qPaletteInclude :: [Include]+qPaletteInclude = [includeStd "Qt", includeStd "QPalette"]++aModule :: AModule+aModule = AQtModule $ makeQtModule ["Core", "QPalette"] exports++exports :: [QtExport]+exports =+  QtExportSpecials :+  (map QtExport . collect)+  [ just $ ExportEnum e_ColorRole+  ]++-- TODO QPalette++e_ColorRole =+  makeQtEnum (ident1 "QPalette" "ColorRole") qPaletteInclude+  [ (10, ["window"])+  , (0,  ["window", "text"])+  , (9,  ["base"])+  , (16, ["alternate", "base"])+  , (18, ["tool", "tip", "base"])+  , (19, ["tool", "tip", "text"])+  , (6,  ["text"])+  , (1,  ["button"])+  , (8,  ["button", "text"])+  , (7,  ["bright", "text"])+  ]+
+ src/Graphics/UI/Qtah/Generator/Interface/Core/QSettings.hs view
@@ -0,0 +1,70 @@+-- This file is part of Qtah.+--+-- Copyright 2018 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/>.++module Graphics.UI.Qtah.Generator.Interface.Core.QSettings (+  aModule,+  ) where++import Foreign.Hoppy.Generator.Spec (+  Class,+  Export (ExportClass),+  addReqIncludes,+  classSetEntityPrefix,+  ident,+  includeStd,+  makeClass,+  mkConstMethod,+  mkConstMethod',+  mkCtor,+  mkMethod,+  )+import Foreign.Hoppy.Generator.Types (objT, ptrT, voidT)+import Graphics.UI.Qtah.Generator.Interface.Core.QObject (c_QObject)+import Graphics.UI.Qtah.Generator.Interface.Core.QString (c_QString)+import Graphics.UI.Qtah.Generator.Interface.Core.QVariant (c_QVariant)+import Graphics.UI.Qtah.Generator.Module (AModule (AQtModule), makeQtModule)+import Graphics.UI.Qtah.Generator.Types++{-# ANN module "HLint: ignore Use camelCase" #-}++aModule :: AModule+aModule =+  AQtModule $+  makeQtModule ["Core", "QSettings"]+  [QtExport $ ExportClass c_QSettings]++c_QSettings :: Class+c_QSettings =+  addReqIncludes [includeStd "QSettings"] $+  classSetEntityPrefix "" $+  makeClass (ident "QSettings") Nothing [c_QObject]+  [ mkCtor "new" []+  , mkCtor "newWithOrganization" [objT c_QString]+  , mkCtor "newWithOrganizationAndApplication" [objT c_QString, objT c_QString]+  , mkCtor "newWithOrganizationAndApplicationAndParent"+    [objT c_QString, objT c_QString, ptrT $ objT c_QObject]+  , mkCtor "newWithParent" [ptrT $ objT c_QObject]+  -- TODO QSettings(Scope scope, const QString &organization,+  --      const QString &application = QString(), QObject *parent = Q_NULLPTR)+  -- TODO QSettings(Format format, Scope scope, const QString &organization,+  --      const QString &application = QString(), QObject *parent = Q_NULLPTR)+  -- TODO QSettings(const QString &fileName, Format format, QObject *parent = Q_NULLPTR)+  , mkMethod "setValue" [objT c_QString, objT c_QVariant] voidT+  , mkConstMethod "value" [objT c_QString] (objT c_QVariant)+  , mkConstMethod' "value" "valueWithDefault" [objT c_QString, objT c_QVariant] (objT c_QVariant)+  -- TODO Other methods.+  ]
src/Graphics/UI/Qtah/Generator/Interface/Core/QVariant.hs view
@@ -54,6 +54,7 @@   ) import Foreign.Hoppy.Generator.Version (collect, just, test) import Graphics.UI.Qtah.Generator.Flags (qtVersion)+import Graphics.UI.Qtah.Generator.Interface.Core.QByteArray (c_QByteArray) import Graphics.UI.Qtah.Generator.Interface.Core.QChar (c_QChar) import {-# SOURCE #-} Graphics.UI.Qtah.Generator.Interface.Core.QList (c_QListQVariant) import Graphics.UI.Qtah.Generator.Interface.Core.QPoint (c_QPoint)@@ -91,6 +92,7 @@   collect   [ just $ mkCtor "new" []   , just $ mkCtor "newWithBool" [boolT]+  , just $ mkCtor "newWithByteArray" [objT c_QByteArray]   , just $ mkCtor "newWithChar" [objT c_QChar]   , just $ mkCtor "newWithDouble" [doubleT]   , test (qtVersion >= [4, 6]) $ mkCtor "newWithFloat" [floatT]@@ -135,6 +137,7 @@   , just $ mkMethod' "setValue" "setToULongLong" [ullongT] voidT   , test (qtVersion >= [4, 8]) $ mkMethod' "setValue" "swap" [refT $ objT c_QVariant] voidT   , just $ mkConstMethod "toBool" [] boolT+  , just $ mkConstMethod "toByteArray" [] (objT c_QByteArray)   , just $ mkConstMethod "toChar" [] $ objT c_QChar   , just $ mkConstMethod "toDouble" [] doubleT   , test (qtVersion >= [4, 6]) $ mkConstMethod "toFloat" [] floatT@@ -146,6 +149,7 @@   , just $ mkConstMethod "toRectF" [] $ objT c_QRectF   , just $ mkConstMethod "toSize" [] $ objT c_QSize   , just $ mkConstMethod "toSizeF" [] $ objT c_QSizeF+  , just $ mkConstMethod "toList" [] $ objT c_QListQVariant   , just $ mkConstMethod "toStringList" [] $ objT c_QStringList   , just $ mkConstMethod "toString" [] $ objT c_QString   , just $ mkConstMethod "toUInt" [] uintT
src/Graphics/UI/Qtah/Generator/Interface/Core/Types.hs view
@@ -22,6 +22,7 @@   gluint,   e_AlignmentFlag,   bs_Alignment,+  e_ArrowType,   e_AspectRatioMode,   e_BrushStyle,   e_CaseSensitivity,@@ -29,6 +30,9 @@   e_ContextMenuPolicy,   e_Corner,   e_CursorMoveStyle,+  e_CursorShape,+  e_DockWidgetArea,+  bs_DockWidgetAreas,   e_DropAction,   bs_DropActions,   e_EventPriority,@@ -47,6 +51,8 @@   bs_KeyboardModifiers,   e_LayoutDirection,   e_MaskMode,+  e_MatchFlag,+  bs_MatchFlags,   e_MouseButton,   bs_MouseButtons,   e_MouseEventFlag,@@ -109,6 +115,7 @@   (map QtExport . collect)   [ just $ ExportEnum e_AlignmentFlag   , just $ ExportBitspace bs_Alignment+  , just $ ExportEnum e_ArrowType   , just $ ExportEnum e_AspectRatioMode   , just $ ExportEnum e_BrushStyle   , just $ ExportEnum e_CaseSensitivity@@ -116,6 +123,9 @@   , just $ ExportEnum e_ContextMenuPolicy   , just $ ExportEnum e_Corner   , just $ ExportEnum e_CursorMoveStyle+  , just $ ExportEnum e_CursorShape+  , just $ ExportEnum e_DockWidgetArea+  , just $ ExportBitspace bs_DockWidgetAreas   , just $ ExportEnum e_DropAction   , just $ ExportBitspace bs_DropActions   , just $ ExportEnum e_EventPriority@@ -134,6 +144,8 @@   , just $ ExportBitspace bs_KeyboardModifiers   , just $ ExportEnum e_LayoutDirection   , just $ ExportEnum e_MaskMode+  , just $ ExportEnum e_MatchFlag+  , just $ ExportBitspace bs_MatchFlags   , just $ ExportEnum e_MouseButton   , just $ ExportBitspace bs_MouseButtons   , test (qtVersion >= e_MouseEventFlag_minVersion) $ ExportEnum e_MouseEventFlag@@ -187,6 +199,15 @@   , (0x10, ["align", "absolute"])   ] +e_ArrowType =+  makeQtEnum (ident1 "Qt" "ArrowType") qtInclude+  [ (0, ["no", "arrow"])+  , (1, ["up", "arrow"])+  , (2, ["down", "arrow"])+  , (3, ["left", "arrow"])+  , (4, ["right", "arrow"])+  ]+ e_AspectRatioMode =   makeQtEnum (ident1 "Qt" "AspectRatioMode") qtInclude   [ (0, ["ignore", "aspect", "ratio"])@@ -254,6 +275,43 @@   , (1, ["visual", "move", "style"])   ] +e_CursorShape =+  makeQtEnum (ident1 "Qt" "CursorShape") qtInclude+  [ (0,  ["arrow", "cursor"])+  , (1,  ["up", "arrow", "cursor"])+  , (2,  ["cross", "cursor"])+  , (3,  ["wait", "cursor"])+  , (4,  ["i", "beam", "cursor"])+  , (5,  ["size", "ver", "cursor"])+  , (6,  ["size", "hor", "cursor"])+  , (7,  ["size", "b", "diag", "cursor"])+  , (8,  ["size", "f", "diag", "cursor"])+  , (9,  ["size", "all", "cursor"])+  , (10, ["blank", "cursor"])+  , (11, ["split", "v", "cursor"])+  , (12, ["split", "h", "cursor"])+  , (13, ["pointing", "hand", "cursor"])+  , (14, ["forbidden", "cursor"])+  , (15, ["whats", "this", "cursor"])+  , (16, ["busy", "cursor"])+  , (17, ["open", "hand", "cursor"])+  , (18, ["closed", "hand", "cursor"])+  , (19, ["drag", "copy", "cursor"])+  , (20, ["drag", "move", "cursor"])+  , (21, ["drag", "link", "cursor"])+  , (24, ["bitmap", "cursor"])+  ]++(e_DockWidgetArea, bs_DockWidgetAreas) =+  makeQtEnumBitspace (ident1 "Qt" "DockWidgetArea") "DockWidgetAreas" qtInclude+  [ (0x0, ["no", "dock", "widget", "area"])+  , (0x1, ["left", "dock", "widget", "area"])+  , (0x2, ["right", "dock", "widget", "area"])+  , (0x4, ["top", "dock", "widget", "area"])+  , (0x8, ["bottom", "dock", "widget", "area"])+  , (0xf, ["all", "dock", "widget", "areas"])+  ]+ (e_DropAction, bs_DropActions) =   makeQtEnumBitspace (ident1 "Qt" "DropAction") "DropActions" qtInclude   [ (0x0, ["ignore", "action"])@@ -569,6 +627,20 @@   makeQtEnum (ident1 "Qt" "MaskMode") qtInclude   [ (0, ["mask", "in", "color"])   , (1, ["mask", "out", "color"])+  ]++(e_MatchFlag, bs_MatchFlags) =+  makeQtEnumBitspace (ident1 "Qt" "MatchFlag") "MatchFlags" qtInclude+  [ ( 0, ["match", "exactly"])+  , ( 8, ["match", "fixed", "string"])+  , ( 1, ["match", "contains"])+  , ( 2, ["match", "starts", "with"])+  , ( 3, ["match", "ends", "with"])+  , (16, ["match", "case", "sensitive"])+  , ( 4, ["match", "reg", "exp"])+  , ( 5, ["match", "wildcard"])+  , (32, ["match", "wrap"])+  , (64, ["match", "recursive"])   ]  (e_MouseButton, bs_MouseButtons) =
src/Graphics/UI/Qtah/Generator/Interface/Gui.hs view
@@ -22,6 +22,7 @@ import qualified Graphics.UI.Qtah.Generator.Interface.Gui.QClipboard as QClipboard import qualified Graphics.UI.Qtah.Generator.Interface.Gui.QCloseEvent as QCloseEvent import qualified Graphics.UI.Qtah.Generator.Interface.Gui.QColor as QColor+import qualified Graphics.UI.Qtah.Generator.Interface.Gui.QCursor as QCursor import qualified Graphics.UI.Qtah.Generator.Interface.Gui.QDoubleValidator as QDoubleValidator import qualified Graphics.UI.Qtah.Generator.Interface.Gui.QEnterEvent as QEnterEvent import qualified Graphics.UI.Qtah.Generator.Interface.Gui.QExposeEvent as QExposeEvent@@ -67,6 +68,7 @@   , QClipboard.aModule   , QCloseEvent.aModule   , QColor.aModule+  , QCursor.aModule   , QDoubleValidator.aModule   , QEnterEvent.aModule   , QExposeEvent.aModule
+ src/Graphics/UI/Qtah/Generator/Interface/Gui/QCursor.hs view
@@ -0,0 +1,74 @@+-- This file is part of Qtah.+--+-- Copyright 2015-2018 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/>.++module Graphics.UI.Qtah.Generator.Interface.Gui.QCursor (+  aModule,+  c_QCursor,+  ) where++import Foreign.Hoppy.Generator.Spec (+  Export (ExportClass),+  addReqIncludes,+  classSetConversionToGc,+  classSetEntityPrefix,+  ident,+  includeStd,+  makeClass,+  mkCtor,+  mkStaticMethod,+  mkStaticMethod',+  )+import Foreign.Hoppy.Generator.Spec.ClassFeature (+  ClassFeature (Assignable, Copyable, Equatable),+  classAddFeatures,+  )+import Foreign.Hoppy.Generator.Types (enumT, intT, objT, voidT)+import Foreign.Hoppy.Generator.Version (collect, just)+import Graphics.UI.Qtah.Generator.Flags (qtVersion)+import Graphics.UI.Qtah.Generator.Interface.Core.QPoint (c_QPoint)+import Graphics.UI.Qtah.Generator.Interface.Core.Types (e_CursorShape)+import Graphics.UI.Qtah.Generator.Module (AModule (AQtModule), makeQtModule)+import Graphics.UI.Qtah.Generator.Types++{-# ANN module "HLint: ignore Use camelCase" #-}++aModule =+  AQtModule $+  makeQtModule ["Gui", "QCursor"]+  [ QtExport $ ExportClass c_QCursor ]++c_QCursor =+  addReqIncludes [includeStd "QCursor"] $+  classSetConversionToGc $+  classAddFeatures (if qtVersion >= [5, 11]+                    then [Assignable, Copyable, Equatable]+                    else [Assignable, Copyable]) $+  classSetEntityPrefix "" $+  makeClass (ident "QCursor") Nothing [] $+  collect+  [ just $ mkCtor "new" []+  , just $ mkCtor "newWithCursorShape" [enumT e_CursorShape]+    -- TODO Methods.++    -- Static methods.+  , just $ mkStaticMethod "pos" [] $ objT c_QPoint+    -- TODO QPoint pos(const QScreen*)+  , just $ mkStaticMethod "setPos" [objT c_QPoint] voidT+  , just $ mkStaticMethod' "setPos" "setPosRaw" [intT, intT] voidT+    -- TODO void setPos(QScreen*, int, int)+    -- TODO void setPos(QScreen*, const QPoint&)+  ]
src/Graphics/UI/Qtah/Generator/Interface/Gui/QFont.hs view
@@ -29,13 +29,14 @@   includeStd,   makeClass,   mkCtor,+  mkConstMethod,   mkMethod,   ) import Foreign.Hoppy.Generator.Spec.ClassFeature (   ClassFeature (Assignable, Copyable, Equatable),   classAddFeatures,   )-import Foreign.Hoppy.Generator.Types (intT, voidT)+import Foreign.Hoppy.Generator.Types (boolT, intT, voidT) import Foreign.Hoppy.Generator.Version (collect, just) import Graphics.UI.Qtah.Generator.Module (AModule (AQtModule), makeQtModule) import Graphics.UI.Qtah.Generator.Types@@ -56,8 +57,12 @@   makeClass (ident "QFont") Nothing [] $   collect   [ just $ mkCtor "new" []+  , just $ mkConstMethod "bold" [] boolT+  , just $ mkMethod "setBold" [boolT] voidT   , just $ mkMethod "setPixelSize" [intT] voidT   , just $ mkMethod "setPointSize" [intT] voidT+  , just $ mkMethod "setWeight" [intT] voidT+  , just $ mkConstMethod "weight" [] intT   ]  -- TODO The rest of QFont.
src/Graphics/UI/Qtah/Generator/Interface/Gui/QStandardItemModel.hs view
@@ -31,23 +31,35 @@   includeStd,   makeClass,   mkConstMethod,+  mkConstMethod',   mkCtor,+  mkMethod,   mkMethod',   mkProp,   ) import Foreign.Hoppy.Generator.Types (-  bitspaceT, intT, objT, ptrT, voidT,+  constT, bitspaceT, boolT, enumT, intT, objT, ptrT, voidT,   ) import Foreign.Hoppy.Generator.Version (collect, just, test) import Graphics.UI.Qtah.Generator.Flags (qtVersion) import Graphics.UI.Qtah.Generator.Interface.Core.QAbstractItemModel (   c_QAbstractItemModel,   )+-- import Graphics.UI.Qtah.Generator.Interface.Core.QDataStream (c_QDataStream) import Graphics.UI.Qtah.Generator.Interface.Core.QList (   Contents, c_QList, instantiate,   )+import Graphics.UI.Qtah.Generator.Interface.Core.QModelIndex (c_QModelIndex)+import Graphics.UI.Qtah.Generator.Interface.Core.QObject (c_QObject)+import Graphics.UI.Qtah.Generator.Interface.Core.QSize (c_QSize) import Graphics.UI.Qtah.Generator.Interface.Core.QString (c_QString)-import Graphics.UI.Qtah.Generator.Interface.Core.Types (bs_Alignment)+import Graphics.UI.Qtah.Generator.Interface.Core.QStringList (c_QStringList)+import Graphics.UI.Qtah.Generator.Interface.Core.QVariant (c_QVariant)+import Graphics.UI.Qtah.Generator.Interface.Core.Types (+  bs_Alignment, bs_ItemFlags, bs_MatchFlags, e_CheckState, e_SortOrder,+  )+import Graphics.UI.Qtah.Generator.Interface.Gui.QBrush (c_QBrush)+import Graphics.UI.Qtah.Generator.Interface.Gui.QFont (c_QFont) import Graphics.UI.Qtah.Generator.Interface.Gui.QIcon (c_QIcon) import Graphics.UI.Qtah.Generator.Module (   AModule (AQtModule), makeQtModule, makeQtModuleWithMinVersion,@@ -84,10 +96,98 @@   classSetEntityPrefix "" $   makeClass (ident "QStandardItemModel") Nothing [c_QAbstractItemModel] $   collect-  [ test (qtVersion >= [4, 2]) $+  [+  -- Properties+    test (qtVersion >= [4, 2]) $ mkProp "sortRole" intT+  -- Public Functions+  , just $ mkCtor "new" []+  , just $ mkCtor "newWithParent" [ptrT $ objT c_QObject]+  , just $ mkCtor "newWithRowsAndColumns" [intT, intT]+  , just $+    mkCtor "newWithRowsAndColumnsAndParent" [intT, intT, ptrT $ objT c_QObject]+  , test (qtVersion >= [4, 2]) $+    mkMethod "appendColumn" [objT c_QListQStandardItem] voidT+  , test (qtVersion >= [4, 2]) $     mkMethod' "appendRow" "appendRowItems" [objT c_QListQStandardItem] voidT   , test (qtVersion >= [4, 2]) $     mkMethod' "appendRow" "appendRowItem" [ptrT $ objT c_QStandardItem] voidT+  , just $ mkMethod "clear" [] voidT+  , test (qtVersion >= [4, 2]) $+    mkConstMethod "findItems" [objT c_QString] (objT c_QListQStandardItem)+  , test (qtVersion >= [4, 2]) $ mkConstMethod'+      "findItems"+      "findItemsWithFlags"+      [objT c_QString, bitspaceT bs_MatchFlags]+      (objT c_QListQStandardItem)+  , test (qtVersion >= [4, 2]) $ mkConstMethod'+      "findItems"+      "findItemsWithFlagsAndColumn"+      [objT c_QString, bitspaceT bs_MatchFlags, intT]+      (objT c_QListQStandardItem)+  , test (qtVersion >= [4, 2]) $+    mkConstMethod "horizontalHeaderItem" [intT] (ptrT $ objT c_QStandardItem)+  , test (qtVersion >= [4, 2]) $ mkConstMethod+      "indexFromItem"+      [ptrT . constT $ objT c_QStandardItem]+      (objT c_QModelIndex)+  , test (qtVersion >= [4, 2]) $ mkMethod'+      "insertColumn"+      "insertColumnWithItems"+      [intT, objT c_QListQStandardItem]+      voidT+  , just $ mkMethod "insertColumn" [intT] boolT+  , just $ mkMethod'+      "insertColumn" "insertColumnWithParent" [intT, objT c_QModelIndex] boolT+  , test (qtVersion >= [4, 2]) $ mkMethod'+      "insertRow" "insertRowWithItems" [intT, objT c_QListQStandardItem] voidT+  , test (qtVersion >= [4, 2]) $ mkMethod'+      "insertRow" "insertRowWithItem" [intT, ptrT $ objT c_QStandardItem] voidT+  , just $ mkMethod "insertRow" [intT] boolT+  , just $+    mkMethod' "insertRow" "insertRowWithParent" [intT, objT c_QModelIndex] boolT+  , test (qtVersion >= [4, 2]) $+    mkConstMethod "invisibleRootItem" [] (ptrT $ objT c_QStandardItem)+  , test (qtVersion >= [4, 2]) $+    mkConstMethod "item" [intT] (ptrT $ objT c_QStandardItem)+  , test (qtVersion >= [4, 2]) $ mkConstMethod'+      "item" "itemWithColumn" [intT, intT] (ptrT $ objT c_QStandardItem)+  , test (qtVersion >= [4, 2]) $ mkConstMethod+      "itemFromIndex" [objT c_QModelIndex] (ptrT $ objT c_QStandardItem)+  , test (qtVersion >= [4, 2]) $+    mkConstMethod "itemPrototype" [] (ptrT . constT $ objT c_QStandardItem)+  , test (qtVersion >= [4, 2]) $ mkMethod "setColumnCount" [intT] voidT+  , test (qtVersion >= [4, 2]) $+    mkMethod "setHorizontalHeaderItem" [intT, ptrT $ objT c_QStandardItem] voidT+  , test (qtVersion >= [4, 2]) $+    mkMethod "setHorizontalHeaderLabels" [objT c_QStringList] voidT+  , test (qtVersion >= [4, 2]) $ mkMethod'+      "setItem"+      "setItemWithColumn"+      [intT, intT, ptrT $ objT c_QStandardItem]+      voidT+  , just $ mkMethod "setItem" [intT, ptrT $ objT c_QStandardItem] voidT+  , test (qtVersion >= [4, 2]) $+    mkMethod "setItemPrototype" [ptrT . constT $ objT c_QStandardItem] voidT+  -- TODO just $ mkMethod "setItemRoleNames" [objT c_QHash_int_QByteArray] voidT+  , test (qtVersion >= [4, 2]) $ mkMethod "setRowCount" [intT] voidT+  , test (qtVersion >= [4, 2]) $+    mkMethod "setVerticalHeaderItem" [intT, ptrT $ objT c_QStandardItem] voidT+  , test (qtVersion >= [4, 2]) $+    mkMethod "setVerticalHeaderLabels" [objT c_QStringList] voidT+  , test (qtVersion >= [4, 2]) $+    mkMethod "takeColumn" [intT] (objT c_QListQStandardItem)+  , test (qtVersion >= [4, 2]) $+    mkMethod "takeHorizontalHeaderItem" [intT] (ptrT $ objT c_QStandardItem)+  , test (qtVersion >= [4, 2]) $+    mkMethod "takeItem" [intT] (ptrT $ objT c_QStandardItem)+  , test (qtVersion >= [4, 2]) $ mkMethod'+      "takeItem" "takeItemWithColumn" [intT, intT] (ptrT $ objT c_QStandardItem)+  , test (qtVersion >= [4, 2]) $+    mkMethod "takeRow" [intT] (objT c_QListQStandardItem)+  , test (qtVersion >= [4, 2]) $+    mkMethod "takeVerticalHeaderItem" [intT] (ptrT $ objT c_QStandardItem)+  , test (qtVersion >= [4, 2]) $+    mkConstMethod "verticalHeaderItem" [intT] (ptrT $ objT c_QStandardItem)   ]  c_QStandardItem :: Class@@ -101,10 +201,107 @@   , just $ mkCtor "newWithIconAndText" [objT c_QIcon, objT c_QString]   , just $ mkCtor "newWithRows" [intT]   , just $ mkCtor "newWithRowsAndColumns" [intT, intT]-  , just $ mkConstMethod "model" [] (ptrT $ objT c_QAbstractItemModel)-  , just $ mkProp "text" $ objT c_QString-  , just $ mkProp "textAlignment" $ bitspaceT bs_Alignment-  -- TODO other methods+  , just $ mkConstMethod "accessibleDescription" [] (objT c_QString)+  , just $ mkConstMethod "accessibleText" [] (objT c_QString)+  , just $ mkMethod "appendColumn" [objT c_QListQStandardItem] voidT+  , just $+    mkMethod' "appendRow" "appendRowItems" [objT c_QListQStandardItem] voidT+  , just $+    mkMethod' "appendRow" "appendRowItem" [ptrT $ objT c_QStandardItem] voidT+  , just $ mkMethod "appendRows" [objT c_QListQStandardItem] voidT+  , just $ mkConstMethod "background" [] (objT c_QBrush)+  , just $ mkConstMethod "checkState" [] (enumT e_CheckState)+  , just $ mkConstMethod "child" [intT] (ptrT $ objT c_QStandardItem)+  , just $ mkConstMethod'+      "child" "childWithColumn" [intT, intT] (ptrT $ objT c_QStandardItem)+  , just $ mkConstMethod "clone" [] (ptrT $ objT c_QStandardItem)+  , just $ mkConstMethod "column" [] intT+  , just $ mkConstMethod "columnCount" [] intT+  , just $ mkConstMethod' "data" "getData" [] (objT c_QVariant)+  , just $ mkConstMethod' "data" "getDataWithRole" [intT] (objT c_QVariant)+  , just $ mkConstMethod "flags" [] (bitspaceT bs_ItemFlags)+  , just $ mkConstMethod "font" [] (objT c_QFont)+  , just $ mkConstMethod "foreground" [] (objT c_QBrush)+  , just $ mkConstMethod "hasChildren" [] boolT+  , just $ mkConstMethod "icon" [] (objT c_QIcon)+  , just $ mkConstMethod "index" [] (objT c_QModelIndex)+  , just $ mkMethod "insertColumn" [intT, objT c_QListQStandardItem] voidT+  , just $ mkMethod "insertColumns" [intT, intT] voidT+  , just $ mkMethod'+      "insertRow" "insertRowItems" [intT, objT c_QListQStandardItem] voidT+  , just $ mkMethod'+      "insertRow" "insertRowItem" [intT, ptrT $ objT c_QStandardItem] voidT+  , just $ mkMethod'+      "insertRows" "insertRowsItems" [intT, objT c_QListQStandardItem] voidT+  , just $ mkMethod' "insertRows" "insertRowsCount" [intT, intT] voidT+  , test (qtVersion >= [5, 6]) $ mkConstMethod "isAutoTristate" [] boolT+  , just $ mkConstMethod "isCheckable" [] boolT+  , just $ mkConstMethod "isDragEnabled" [] boolT+  , just $ mkConstMethod "isDropEnabled" [] boolT+  , just $ mkConstMethod "isEditable" [] boolT+  , just $ mkConstMethod "isEnabled" [] boolT+  , just $ mkConstMethod "isSelectable" [] boolT+  , test (qtVersion >= [5, 6]) $ mkConstMethod "isUserTristate" [] boolT+  , just $ mkConstMethod "model" [] (ptrT $ objT c_QStandardItemModel)+  , just $ mkConstMethod "parent" [] (ptrT $ objT c_QStandardItem)+  -- TODO mkMethod "read" [objT c_QDataStream] voidT+  , just $ mkMethod "removeColumn" [intT] voidT+  , just $ mkMethod "removeColumns" [intT, intT] voidT+  , just $ mkMethod "removeRow" [intT] voidT+  , just $ mkMethod "removeRows" [intT, intT] voidT+  , just $ mkConstMethod "row" [] intT+  , just $ mkConstMethod "rowCount" [] intT+  , just $ mkMethod "setAccessibleDescription" [objT c_QString] voidT+  , just $ mkMethod "setAccessibleText" [objT c_QString] voidT+  , test (qtVersion >= [5, 6]) $ mkMethod "setAutoTristate" [boolT] voidT+  , just $ mkMethod "setBackground" [objT c_QBrush] voidT+  , just $ mkMethod "setCheckState" [enumT e_CheckState] voidT+  , just $ mkMethod "setCheckable" [boolT] voidT+  , just $ mkMethod'+      "setChild"+      "setChildWithColumn"+      [intT, intT, ptrT $ objT c_QStandardItem]+      voidT+  , just $ mkMethod "setChild" [intT, ptrT $ objT c_QStandardItem] voidT+  , just $ mkMethod "setColumnCount" [intT] voidT+  , just $ mkMethod "setData" [objT c_QVariant] voidT+  , just $ mkMethod' "setData" "setDataWithRole" [objT c_QVariant, intT] voidT+  , just $ mkMethod "setDragEnabled" [boolT] voidT+  , just $ mkMethod "setDropEnabled" [boolT] voidT+  , just $ mkMethod "setEditable" [boolT] voidT+  , just $ mkMethod "setEnabled" [boolT] voidT+  , just $ mkMethod "setFlags" [bitspaceT bs_ItemFlags] voidT+  , just $ mkMethod "setFont" [objT c_QFont] voidT+  , just $ mkMethod "setForeground" [objT c_QBrush] voidT+  , just $ mkMethod "setIcon" [objT c_QIcon] voidT+  , just $ mkMethod "setRowCount" [intT] voidT+  , just $ mkMethod "setSelectable" [boolT] voidT+  , just $ mkMethod "setSizeHint" [objT c_QSize] voidT+  , just $ mkMethod "setStatusTip" [objT c_QString] voidT+  , just $ mkMethod "setText" [objT c_QString] voidT+  , just $ mkMethod "setTextAlignment" [bitspaceT bs_Alignment] voidT+  , just $ mkMethod "setToolTip" [objT c_QString] voidT+  , test (qtVersion >= [5, 6]) $ mkMethod "setUserTristate" [boolT] voidT+  , just $ mkMethod "setWhatsThis" [objT c_QString] voidT+  , just $ mkConstMethod "sizeHint" [] (objT c_QSize)+  , just $ mkMethod "sortChildren" [intT] voidT+  , just $ mkMethod'+      "sortChildren" "sortChildrenWithOrder" [intT, enumT e_SortOrder] voidT+  , just $ mkConstMethod "statusTip" [] (objT c_QString)+  , just $ mkMethod "takeChild" [intT] (ptrT $ objT c_QStandardItem)+  , just $ mkMethod'+      "takeChild"+      "takeChildWithColumn"+      [intT, intT]+      (ptrT $ objT c_QStandardItem)+  , just $ mkMethod "takeColumn" [intT] (objT c_QListQStandardItem)+  , just $ mkMethod "takeRow" [intT] (objT c_QListQStandardItem)+  , just $ mkConstMethod "text" [] (objT c_QString)+  , just $ mkConstMethod "textAlignment" [] (bitspaceT bs_Alignment)+  , just $ mkConstMethod "toolTip" [] (objT c_QString)+  , just $ mkConstMethod' "type" "getType" [] intT+  , just $ mkConstMethod "whatsThis" [] (objT c_QString)+  -- TODO mkConstMethod "write" [objT c_QDataStream] voidT   ]  c_QListQStandardItem :: Class
src/Graphics/UI/Qtah/Generator/Interface/Gui/QWindow.hs view
@@ -55,6 +55,7 @@   e_WindowType,   qreal,   )+import Graphics.UI.Qtah.Generator.Interface.Gui.QCursor (c_QCursor) import Graphics.UI.Qtah.Generator.Interface.Gui.QIcon (c_QIcon) import Graphics.UI.Qtah.Generator.Interface.Gui.QRegion (c_QRegion) import Graphics.UI.Qtah.Generator.Interface.Gui.QSurface (c_QSurface, e_SurfaceType)@@ -99,7 +100,7 @@   , just $ mkMethod "close" [] voidT   , just $ mkConstMethod "contentOrientation" [] $ enumT e_ScreenOrientation   , just $ mkMethod "create" [] voidT-    -- TODO mkProp "cursor" $ objT c_QCursor+  , just $ mkProp "cursor" $ objT c_QCursor   , just $ mkMethod "destroy" [] voidT   , just $ mkConstMethod "devicePixelRatio" [] qreal   , just $ mkProp "filePath" $ objT c_QString@@ -134,7 +135,7 @@   , just $ mkMethod "raise" [] voidT   , just $ mkMethod "reportContentOrientationChange" [enumT e_ScreenOrientation] voidT   , just $ mkMethod "requestActivate" [] voidT-  , test (qtVersion >= [5, 1]) $ mkMethod "requestUpdate" [] voidT+  , test (qtVersion >= [5, 5]) $ mkMethod "requestUpdate" [] voidT     -- TODO mkConstMethod "requestedFormat" [] $ objT c_QSurfaceFormat   , just $ mkMethod' "resize" "resize" [objT c_QSize] voidT   , just $ mkMethod' "resize" "resizeRaw" [intT, intT] voidT
src/Graphics/UI/Qtah/Generator/Interface/Internal/Callback.hs view
@@ -20,6 +20,8 @@ import Foreign.Hoppy.Generator.Spec (   Callback,   Export (ExportCallback),+  addReqIncludes,+  includeStd,   makeCallback,   makeModule,   moduleAddExports,@@ -43,6 +45,7 @@ import Foreign.Hoppy.Generator.Version (collect, just, test) import Graphics.UI.Qtah.Generator.Flags (qtVersion) import Graphics.UI.Qtah.Generator.Interface.Core.QAbstractItemModel (c_QAbstractItemModel)+import Graphics.UI.Qtah.Generator.Interface.Core.QDate (c_QDate) import Graphics.UI.Qtah.Generator.Interface.Core.QEvent (c_QEvent) import Graphics.UI.Qtah.Generator.Interface.Core.QItemSelection (c_QItemSelection) import Graphics.UI.Qtah.Generator.Interface.Core.QModelIndex (c_QModelIndex)@@ -52,6 +55,8 @@ import Graphics.UI.Qtah.Generator.Interface.Core.QString (c_QString) import {-# SOURCE #-} Graphics.UI.Qtah.Generator.Interface.Core.QVector (c_QVectorInt) import Graphics.UI.Qtah.Generator.Interface.Core.Types (+  e_DockWidgetArea,+  bs_DockWidgetAreas,   bs_ToolBarAreas,   e_Orientation,   e_ScreenOrientation,@@ -69,6 +74,9 @@   (c_QAbstractButton) import {-# SOURCE #-} Graphics.UI.Qtah.Generator.Interface.Widgets.QAbstractSlider (e_SliderAction) import {-# SOURCE #-} Graphics.UI.Qtah.Generator.Interface.Widgets.QAction (c_QAction)+import {-# SOURCE #-} Graphics.UI.Qtah.Generator.Interface.Widgets.QDockWidget (+  bs_DockWidgetFeatures,+  ) import Graphics.UI.Qtah.Generator.Interface.Widgets.QGraphicsItem (c_QGraphicsItem) import {-# SOURCE #-} Graphics.UI.Qtah.Generator.Interface.Widgets.QSystemTrayIcon (   e_ActivationReason,@@ -85,6 +93,8 @@     moduleAddHaskellName ["Internal", "Callback"]     moduleAddExports $ collect       [ just $ ExportCallback cb_BoolVoid+      , just $ ExportCallback cb_DockWidgetAreaVoid+      , just $ ExportCallback cb_DockWidgetAreasVoid       , just $ ExportCallback cb_DoubleVoid       , just $ ExportCallback cb_IntVoid       , just $ ExportCallback cb_IntBoolVoid@@ -104,6 +114,8 @@       , just $ ExportCallback cb_PtrQWidgetPtrQWidgetVoid       , just $ ExportCallback cb_QAbstractSliderActionVoid       , just $ ExportCallback cb_QClipboardModeVoid+      , just $ ExportCallback cb_QDateVoid+      , just $ ExportCallback cb_QDockWidgetFeaturesVoid       , just $ ExportCallback cb_QModelIndexVoid       , just $ ExportCallback cb_QModelIndexIntIntVoid       , just $ ExportCallback cb_QModelIndexIntIntQModelIndexIntVoid@@ -129,6 +141,14 @@   makeCallback (toExtName "CallbackBoolVoid")   [boolT] voidT +cb_DockWidgetAreaVoid =+  makeCallback (toExtName "CallbackDockWidgetAreaVoid")+  [enumT e_DockWidgetArea] voidT++cb_DockWidgetAreasVoid =+  makeCallback (toExtName "CallbackDockWidgetAreasVoid")+  [bitspaceT bs_DockWidgetAreas] voidT+ cb_DoubleVoid =   makeCallback (toExtName "CallbackDoubleVoid")   [doubleT] voidT@@ -207,6 +227,15 @@ cb_QClipboardModeVoid =   makeCallback (toExtName "CallbackQClipboardModeVoid")   [enumT QClipboard.e_Mode] voidT++cb_QDateVoid =+  makeCallback (toExtName "CallbackQDateVoid")+  [objT c_QDate] voidT++cb_QDockWidgetFeaturesVoid =+  addReqIncludes [includeStd "QDockWidget"] $+  makeCallback (toExtName "CallbackQDockWidgetFeaturesVoid")+  [bitspaceT bs_DockWidgetFeatures] voidT  cb_QModelIndexVoid =   makeCallback (toExtName "CallbackQModelIndexVoid")
src/Graphics/UI/Qtah/Generator/Interface/Internal/Listener.hs view
@@ -22,6 +22,24 @@     [S.ptrT $ S.objT QObject.c_QObject, S.objT String.c_string] S.boolT   ] +c_ListenerDockWidgetArea =+  S.makeClass (S.ident "ListenerDockWidgetArea") Nothing [QObject.c_QObject]+  [ S.mkCtor "new" [S.callbackT C.cb_DockWidgetAreaVoid]+  , S.mkCtor "newWithParent"+    [S.callbackT C.cb_DockWidgetAreaVoid, S.ptrT $ S.objT QObject.c_QObject]+  , S.mkMethod "connectListener"+    [S.ptrT $ S.objT QObject.c_QObject, S.objT String.c_string] S.boolT+  ]++c_ListenerDockWidgetAreas =+  S.makeClass (S.ident "ListenerDockWidgetAreas") Nothing [QObject.c_QObject]+  [ S.mkCtor "new" [S.callbackT C.cb_DockWidgetAreasVoid]+  , S.mkCtor "newWithParent"+    [S.callbackT C.cb_DockWidgetAreasVoid, S.ptrT $ S.objT QObject.c_QObject]+  , S.mkMethod "connectListener"+    [S.ptrT $ S.objT QObject.c_QObject, S.objT String.c_string] S.boolT+  ]+ c_ListenerDouble =   S.makeClass (S.ident "ListenerDouble") Nothing [QObject.c_QObject]   [ S.mkCtor "new" [S.callbackT C.cb_DoubleVoid]@@ -166,6 +184,24 @@     [S.ptrT $ S.objT QObject.c_QObject, S.objT String.c_string] S.boolT   ] +c_ListenerQDate =+  S.makeClass (S.ident "ListenerQDate") Nothing [QObject.c_QObject]+  [ S.mkCtor "new" [S.callbackT C.cb_QDateVoid]+  , S.mkCtor "newWithParent"+    [S.callbackT C.cb_QDateVoid, S.ptrT $ S.objT QObject.c_QObject]+  , S.mkMethod "connectListener"+    [S.ptrT $ S.objT QObject.c_QObject, S.objT String.c_string] S.boolT+  ]++c_ListenerQDockWidgetFeatures =+  S.makeClass (S.ident "ListenerQDockWidgetFeatures") Nothing [QObject.c_QObject]+  [ S.mkCtor "new" [S.callbackT C.cb_QDockWidgetFeaturesVoid]+  , S.mkCtor "newWithParent"+    [S.callbackT C.cb_QDockWidgetFeaturesVoid, S.ptrT $ S.objT QObject.c_QObject]+  , S.mkMethod "connectListener"+    [S.ptrT $ S.objT QObject.c_QObject, S.objT String.c_string] S.boolT+  ]+ c_ListenerQModelIndex =   S.makeClass (S.ident "ListenerQModelIndex") Nothing [QObject.c_QObject]   [ S.mkCtor "new" [S.callbackT C.cb_QModelIndexVoid]@@ -345,6 +381,8 @@     S.moduleAddHaskellName ["Internal", "Listener"]     S.moduleAddExports $ V.collect       [ V.just $ S.ExportClass c_ListenerBool+      , V.just $ S.ExportClass c_ListenerDockWidgetArea+      , V.just $ S.ExportClass c_ListenerDockWidgetAreas       , V.just $ S.ExportClass c_ListenerDouble       , V.just $ S.ExportClass c_ListenerInt       , V.just $ S.ExportClass c_ListenerIntBool@@ -361,6 +399,8 @@       , V.just $ S.ExportClass c_ListenerPtrQWidgetPtrQWidget       , V.just $ S.ExportClass c_ListenerQAbstractSliderAction       , V.just $ S.ExportClass c_ListenerQClipboardMode+      , V.just $ S.ExportClass c_ListenerQDate+      , V.just $ S.ExportClass c_ListenerQDockWidgetFeatures       , V.just $ S.ExportClass c_ListenerQModelIndex       , V.just $ S.ExportClass c_ListenerQModelIndexIntInt       , V.just $ S.ExportClass c_ListenerQModelIndexIntIntQModelIndexInt
src/Graphics/UI/Qtah/Generator/Interface/Internal/Listener.hs-boot view
@@ -5,6 +5,8 @@ import Foreign.Hoppy.Generator.Spec (Class)  c_ListenerBool :: Class+c_ListenerDockWidgetArea :: Class+c_ListenerDockWidgetAreas :: Class c_ListenerDouble :: Class c_ListenerInt :: Class c_ListenerIntBool :: Class@@ -21,6 +23,8 @@ c_ListenerPtrQWidgetPtrQWidget :: Class c_ListenerQAbstractSliderAction :: Class c_ListenerQClipboardMode :: Class+c_ListenerQDate :: Class+c_ListenerQDockWidgetFeatures :: Class c_ListenerQModelIndex :: Class c_ListenerQModelIndexIntInt :: Class c_ListenerQModelIndexIntIntQModelIndexInt :: Class
src/Graphics/UI/Qtah/Generator/Interface/Widgets.hs view
@@ -19,6 +19,7 @@  import qualified Graphics.UI.Qtah.Generator.Interface.Widgets.QAbstractButton as QAbstractButton import qualified Graphics.UI.Qtah.Generator.Interface.Widgets.QAbstractGraphicsShapeItem as QAbstractGraphicsShapeItem+import qualified Graphics.UI.Qtah.Generator.Interface.Widgets.QAbstractItemDelegate as QAbstractItemDelegate import qualified Graphics.UI.Qtah.Generator.Interface.Widgets.QAbstractItemView as QAbstractItemView import qualified Graphics.UI.Qtah.Generator.Interface.Widgets.QAbstractScrollArea as QAbstractScrollArea import qualified Graphics.UI.Qtah.Generator.Interface.Widgets.QAbstractSlider as QAbstractSlider@@ -29,9 +30,12 @@ import qualified Graphics.UI.Qtah.Generator.Interface.Widgets.QBoxLayout as QBoxLayout import qualified Graphics.UI.Qtah.Generator.Interface.Widgets.QButtonGroup as QButtonGroup import qualified Graphics.UI.Qtah.Generator.Interface.Widgets.QCheckBox as QCheckBox+import qualified Graphics.UI.Qtah.Generator.Interface.Widgets.QDateEdit as QDateEdit+import qualified Graphics.UI.Qtah.Generator.Interface.Widgets.QDateTimeEdit as QDateTimeEdit import qualified Graphics.UI.Qtah.Generator.Interface.Widgets.QDial as QDial import qualified Graphics.UI.Qtah.Generator.Interface.Widgets.QDialog as QDialog import qualified Graphics.UI.Qtah.Generator.Interface.Widgets.QDialogButtonBox as QDialogButtonBox+import qualified Graphics.UI.Qtah.Generator.Interface.Widgets.QDockWidget as QDockWidget import qualified Graphics.UI.Qtah.Generator.Interface.Widgets.QDoubleSpinBox as QDoubleSpinBox import qualified Graphics.UI.Qtah.Generator.Interface.Widgets.QFileDialog as QFileDialog import qualified Graphics.UI.Qtah.Generator.Interface.Widgets.QFormLayout as QFormLayout@@ -73,10 +77,13 @@ import qualified Graphics.UI.Qtah.Generator.Interface.Widgets.QStackedLayout as QStackedLayout import qualified Graphics.UI.Qtah.Generator.Interface.Widgets.QStackedWidget as QStackedWidget import qualified Graphics.UI.Qtah.Generator.Interface.Widgets.QStatusBar as QStatusBar+import qualified Graphics.UI.Qtah.Generator.Interface.Widgets.QStyledItemDelegate as QStyledItemDelegate import qualified Graphics.UI.Qtah.Generator.Interface.Widgets.QSystemTrayIcon as QSystemTrayIcon import qualified Graphics.UI.Qtah.Generator.Interface.Widgets.QTabWidget as QTabWidget import qualified Graphics.UI.Qtah.Generator.Interface.Widgets.QTextEdit as QTextEdit import qualified Graphics.UI.Qtah.Generator.Interface.Widgets.QToolBar as QToolBar+import qualified Graphics.UI.Qtah.Generator.Interface.Widgets.QToolBox as QToolBox+import qualified Graphics.UI.Qtah.Generator.Interface.Widgets.QToolButton as QToolButton import qualified Graphics.UI.Qtah.Generator.Interface.Widgets.QTreeView as QTreeView import qualified Graphics.UI.Qtah.Generator.Interface.Widgets.QTreeWidget as QTreeWidget import qualified Graphics.UI.Qtah.Generator.Interface.Widgets.QVBoxLayout as QVBoxLayout@@ -89,6 +96,7 @@ modules =   [ QAbstractButton.aModule   , QAbstractGraphicsShapeItem.aModule+  , QAbstractItemDelegate.aModule   , QAbstractItemView.aModule   , QAbstractScrollArea.aModule   , QAbstractSlider.aModule@@ -99,9 +107,12 @@   , QBoxLayout.aModule   , QButtonGroup.aModule   , QCheckBox.aModule+  , QDateEdit.aModule+  , QDateTimeEdit.aModule   , QDial.aModule   , QDialog.aModule   , QDialogButtonBox.aModule+  , QDockWidget.aModule   , QDoubleSpinBox.aModule   , QFileDialog.aModule   , QFormLayout.aModule@@ -143,10 +154,13 @@   , QStackedLayout.aModule   , QStackedWidget.aModule   , QStatusBar.aModule+  , QStyledItemDelegate.aModule   , QSystemTrayIcon.aModule   , QTabWidget.aModule   , QTextEdit.aModule   , QToolBar.aModule+  , QToolBox.aModule+  , QToolButton.aModule   , QTreeView.aModule   , QTreeWidget.aModule   , QTreeWidget.itemModule
+ src/Graphics/UI/Qtah/Generator/Interface/Widgets/QAbstractItemDelegate.hs view
@@ -0,0 +1,52 @@+-- This file is part of Qtah.+--+-- Copyright 2018 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/>.++module Graphics.UI.Qtah.Generator.Interface.Widgets.QAbstractItemDelegate (+  aModule,+  c_QAbstractItemDelegate,+  ) where++import Foreign.Hoppy.Generator.Spec (+  Export (ExportClass),+  addReqIncludes,+  classSetEntityPrefix,+  ident,+  includeStd,+  makeClass,+  )+import Graphics.UI.Qtah.Generator.Interface.Core.QObject (c_QObject)+import Graphics.UI.Qtah.Generator.Module (AModule (AQtModule), makeQtModule)+import Graphics.UI.Qtah.Generator.Types++{-# ANN module "HLint: ignore Use camelCase" #-}++aModule =+  AQtModule $+  makeQtModule ["Widgets", "QAbstractItemDelegate"] $+  QtExport (ExportClass c_QAbstractItemDelegate) :+  map QtExportSignal signals++c_QAbstractItemDelegate =+  addReqIncludes [includeStd "QAbstractItemDelegate"] $+  classSetEntityPrefix "" $+  makeClass (ident "QAbstractItemDelegate") Nothing [c_QObject] $+  [ -- TODO Methods.+  ]++signals =+  [ -- TODO Signals.+  ]
src/Graphics/UI/Qtah/Generator/Interface/Widgets/QAbstractItemView.hs view
@@ -30,6 +30,7 @@   makeClass,   mkBoolHasProp,   mkConstMethod,+  mkConstMethod',   mkMethod,   mkMethod',   mkProp,@@ -59,6 +60,7 @@   c_ListenerQModelIndex,   c_ListenerQSize,   )+import Graphics.UI.Qtah.Generator.Interface.Widgets.QAbstractItemDelegate (c_QAbstractItemDelegate) import Graphics.UI.Qtah.Generator.Interface.Widgets.QAbstractScrollArea (c_QAbstractScrollArea) import Graphics.UI.Qtah.Generator.Interface.Widgets.QWidget (c_QWidget) import Graphics.UI.Qtah.Generator.Module (AModule (AQtModule), makeQtModule)@@ -100,11 +102,14 @@   , mkProp "iconSize" $ objT c_QSize   , mkConstMethod "indexAt" [objT c_QPoint] $ objT c_QModelIndex   , mkConstMethod "indexWidget" [objT c_QModelIndex] $ ptrT $ objT c_QWidget-    -- TODO mkConstMethod' "itemDelegate" "itemDelegate" [] $ ptrT $ objT c_QAbstractItemDelegate-    -- TODO mkConstMethod' "itemDelegate" "itemDelegateAt" [objT c_QModelIndex] $-    --      ptrT $ objT c_QAbstractItemDelegate-    -- TODO mkConstMethod "itemDelegateForColumn" [intT] $ ptrT $ objT c_QAbstractItemDelegate-    -- TODO mkConstMethod "itemDelegateForRow" [intT] $ ptrT $ objT c_QAbstractItemDelegate+  , mkConstMethod' "itemDelegate" "itemDelegate" [] $+    ptrT $ objT c_QAbstractItemDelegate+  , mkConstMethod' "itemDelegate" "itemDelegateAt" [objT c_QModelIndex] $+    ptrT $ objT c_QAbstractItemDelegate+  , mkConstMethod "itemDelegateForColumn" [intT] $+    ptrT $ objT c_QAbstractItemDelegate+  , mkConstMethod "itemDelegateForRow" [intT] $+    ptrT $ objT c_QAbstractItemDelegate   , mkMethod "keyboardSearch" [objT c_QString] voidT   , mkProp "model" $ ptrT $ objT c_QAbstractItemModel   , mkMethod "openPersistentEditor" [objT c_QModelIndex] voidT@@ -120,9 +125,9 @@   , mkProp "selectionModel" $ ptrT $ objT c_QItemSelectionModel   , mkMethod "setDropIndicatorShown" [boolT] voidT   , mkMethod "setIndexWidget" [objT c_QModelIndex, ptrT $ objT c_QWidget] voidT-    -- TODO mkMethod "setItemDelegate" [ptrT $ objT c_QAbstractItemDelegate] voidT-    -- TODO mkMethod "setItemDelegateForColumn" [intT, ptrT $ objT c_QAbstractItemDelegate] voidT-    -- TODO mkMethod "setItemDelegateForRow" [intT, ptrT $ objT c_QAbstractItemDelegate] voidT+  , mkMethod "setItemDelegate" [ptrT $ objT c_QAbstractItemDelegate] voidT+  , mkMethod "setItemDelegateForColumn" [intT, ptrT $ objT c_QAbstractItemDelegate] voidT+  , mkMethod "setItemDelegateForRow" [intT, ptrT $ objT c_QAbstractItemDelegate] voidT   , mkConstMethod "showDropIndicator" [] boolT   , mkConstMethod "sizeHintForColumn" [intT] intT   , mkConstMethod "sizeHintForIndex" [objT c_QModelIndex] $ objT c_QSize
src/Graphics/UI/Qtah/Generator/Interface/Widgets/QAction.hs view
@@ -67,11 +67,11 @@   classSetEntityPrefix "" $   makeClass (ident "QAction") Nothing [c_QObject] $   collect-  [ test (qtVersion >= [5, 0]) $ mkCtor "new" []+  [ test (qtVersion >= [5, 7]) $ mkCtor "new" []   , just $ mkCtor "newWithParent" [ptrT $ objT c_QObject]-  , test (qtVersion >= [5, 0]) $ mkCtor "newWithText" [objT c_QString]+  , test (qtVersion >= [5, 7]) $ mkCtor "newWithText" [objT c_QString]   , just $ mkCtor "newWithTextAndParent" [objT c_QString, ptrT $ objT c_QObject]-  , test (qtVersion >= [5, 0]) $ mkCtor "newWithIconAndText" [objT c_QIcon, objT c_QString]+  , test (qtVersion >= [5, 7]) $ mkCtor "newWithIconAndText" [objT c_QIcon, objT c_QString]   , just $ mkCtor "newWithIconAndTextAndParent"     [objT c_QIcon, objT c_QString, ptrT $ objT c_QObject]   , just $ mkProp "actionGroup" $ ptrT $ objT c_QActionGroup
+ src/Graphics/UI/Qtah/Generator/Interface/Widgets/QDateEdit.hs view
@@ -0,0 +1,58 @@+-- This file is part of Qtah.+--+-- Copyright 2018 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/>.++module Graphics.UI.Qtah.Generator.Interface.Widgets.QDateEdit (+  aModule,+  c_QDateEdit,+  ) where++import Foreign.Hoppy.Generator.Spec (+  Export (ExportClass),+  addReqIncludes,+  classSetEntityPrefix,+  ident,+  includeStd,+  makeClass,+  mkCtor,+  )+import Foreign.Hoppy.Generator.Types (objT, ptrT)+import Foreign.Hoppy.Generator.Version (collect, just)+import Graphics.UI.Qtah.Generator.Interface.Core.QDate (c_QDate)+import Graphics.UI.Qtah.Generator.Interface.Widgets.QDateTimeEdit (+  c_QDateTimeEdit,+  )+import Graphics.UI.Qtah.Generator.Interface.Widgets.QWidget (c_QWidget)+import Graphics.UI.Qtah.Generator.Module (AModule (AQtModule), makeQtModule)+import Graphics.UI.Qtah.Generator.Types++{-# ANN module "HLint: ignore Use camelCase" #-}++aModule =+  AQtModule $+  makeQtModule ["Widgets", "QDateEdit"]+  [ QtExport $ ExportClass c_QDateEdit ]++c_QDateEdit =+  addReqIncludes [includeStd "QDateEdit"] $+  classSetEntityPrefix "" $+  makeClass (ident "QDateEdit") Nothing [c_QDateTimeEdit] $+  collect+  [ just $ mkCtor "new" []+  , just $ mkCtor "newWithParent" [ptrT $ objT c_QWidget]+  , just $ mkCtor "newWithDate" [objT c_QDate]+  , just $ mkCtor "newWithDateAndParent" [objT c_QDate, ptrT $ objT c_QWidget]+  ]
+ src/Graphics/UI/Qtah/Generator/Interface/Widgets/QDateTimeEdit.hs view
@@ -0,0 +1,108 @@+-- This file is part of Qtah.+--+-- Copyright 2018 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/>.++module Graphics.UI.Qtah.Generator.Interface.Widgets.QDateTimeEdit (+  aModule,+  c_QDateTimeEdit,+  ) where++import Foreign.Hoppy.Generator.Spec (+  Export (ExportBitspace, ExportClass, ExportEnum),+  addReqIncludes,+  classSetEntityPrefix,+  ident,+  ident1,+  includeStd,+  makeClass,+  mkConstMethod,+  mkCtor,+  mkProp,+  )+import Foreign.Hoppy.Generator.Types (bitspaceT, boolT, enumT, intT, objT)+import Foreign.Hoppy.Generator.Version (collect, just, test)+import Graphics.UI.Qtah.Generator.Flags (qtVersion)+import Graphics.UI.Qtah.Generator.Interface.Core.QDate (c_QDate)+import Graphics.UI.Qtah.Generator.Interface.Core.QString (c_QString)+import Graphics.UI.Qtah.Generator.Interface.Internal.Listener (c_ListenerQDate)+import Graphics.UI.Qtah.Generator.Interface.Widgets.QAbstractSpinBox (+  c_QAbstractSpinBox,+  )+import Graphics.UI.Qtah.Generator.Module (AModule (AQtModule), makeQtModule)+import Graphics.UI.Qtah.Generator.Types++{-# ANN module "HLint: ignore Use camelCase" #-}++aModule =+  AQtModule $+  makeQtModule ["Widgets", "QDateTimeEdit"] $+  QtExport (ExportClass c_QDateTimeEdit) :+  map QtExportSignal signals +++  (map QtExport . collect)+  [ just $ ExportEnum e_Section+  , just $ ExportBitspace bs_Sections+  ]++c_QDateTimeEdit =+  addReqIncludes [includeStd "QDateTimeEdit"] $+  classSetEntityPrefix "" $+  makeClass (ident "QDateTimeEdit") Nothing [c_QAbstractSpinBox] $+  collect+  [+  -- Properties+    test (qtVersion >= [4, 2]) $ mkProp "calendarPopup" boolT+  , just $ mkProp "currentSection" (enumT e_Section)+  , test (qtVersion >= [4, 3]) $ mkProp "currentSectionIndex" intT+  , just $ mkProp "date" (objT c_QDate)+  -- TODO just $ mkProp "dateTime" (objT c_QDateTime)+  , just $ mkProp "displayFormat" (objT c_QString)+  , just $ mkConstMethod "displayedSections" [] (bitspaceT bs_Sections)+  , just $ mkProp "maximumDate" (objT c_QDate)+  -- TODO test (qtVersion >= [4, 4]) $+  --      mkProp "maximumDateTime" (objT c_QDateTime)+  -- TODO just $ mkProp "maximumTime" c_QTime+  , just $ mkProp "minimumDate" (objT c_QDate)+  -- TODO test (qtVersion >= [4, 4]) $+  --      mkProp "minimumDateTime" (objT c_QDateTime)+  -- TODO just $ mkProp "minimumTime" c_QTime+  , test (qtVersion >= [4, 3]) $ mkConstMethod "sectionCount" [] intT+  -- TODO just $ mkProp "time" c_QTime+  -- TODO test (qtVersion >= [4, 4]) $ mkProp "timeSpec" Qt.TimeSpec+  -- Public Functions+  , just $ mkCtor "new" []+  -- TODO Other methods.+  ]++signals =+  [ makeSignal c_QDateTimeEdit "dateChanged" c_ListenerQDate+  -- TODO void dateTimeChanged(const QDateTime &datetime)+  -- TODO void timeChanged(const QTime &time)+  ]++(e_Section, bs_Sections) = makeQtEnumBitspace+  (ident1 "QDateTimeEdit" "Section")+  "Sections"+  [includeStd "QDateTimeEdit"]+  [ (0x0000, ["no", "section"])+  , (0x0001, ["am", "pm", "section"])+  , (0x0002, ["m", "sec", "section"])+  , (0x0004, ["second", "section"])+  , (0x0008, ["minute", "section"])+  , (0x0010, ["hour", "section"])+  , (0x0100, ["day", "section"])+  , (0x0200, ["month", "section"])+  , (0x0400, ["year", "section"])+  ]
+ src/Graphics/UI/Qtah/Generator/Interface/Widgets/QDockWidget.hs view
@@ -0,0 +1,107 @@+-- This file is part of Qtah.+--+-- Copyright 2015-2018 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/>.++module Graphics.UI.Qtah.Generator.Interface.Widgets.QDockWidget (+  aModule,+  c_QDockWidget,+  e_DockWidgetFeature,+  bs_DockWidgetFeatures,+  ) where++import Foreign.Hoppy.Generator.Spec (+  Export (ExportBitspace, ExportClass, ExportEnum),+  addReqIncludes,+  classSetEntityPrefix,+  ident,+  ident1,+  includeStd,+  makeClass,+  mkBoolIsProp,+  mkConstMethod,+  mkCtor,+  mkProp,+  )+import Foreign.Hoppy.Generator.Types (bitspaceT, boolT, enumT, objT, ptrT)+import Foreign.Hoppy.Generator.Version (collect, just, test)+import Graphics.UI.Qtah.Generator.Flags (qtVersion)+import Graphics.UI.Qtah.Generator.Interface.Core.Types (+  e_DockWidgetArea,+  bs_DockWidgetAreas,+  )+import Graphics.UI.Qtah.Generator.Interface.Core.QString (c_QString)+import Graphics.UI.Qtah.Generator.Interface.Internal.Listener (+  c_ListenerBool,+  c_ListenerDockWidgetArea,+  c_ListenerDockWidgetAreas,+  c_ListenerQDockWidgetFeatures,+  )+import Graphics.UI.Qtah.Generator.Interface.Widgets.QAction (c_QAction)+import Graphics.UI.Qtah.Generator.Interface.Widgets.QWidget (c_QWidget)+import Graphics.UI.Qtah.Generator.Module (AModule (AQtModule), makeQtModule)+import Graphics.UI.Qtah.Generator.Types++{-# ANN module "HLint: ignore Use camelCase" #-}++aModule =+  AQtModule $+  makeQtModule ["Widgets", "QDockWidget"] $+  map QtExport+  [ ExportClass c_QDockWidget+  , ExportEnum e_DockWidgetFeature+  , ExportBitspace bs_DockWidgetFeatures+  ] +++  map QtExportSignal signals++c_QDockWidget =+  addReqIncludes [includeStd "QDockWidget"] $+  classSetEntityPrefix "" $+  makeClass (ident "QDockWidget") Nothing [c_QWidget] $+  collect+  [ just $ mkCtor "new" []+  , just $ mkCtor "newWithParent" [ptrT $ objT c_QWidget]+  , just $ mkCtor "newWithText" [objT c_QString]+  , just $ mkCtor "newWithTextAndParent" [objT c_QString, ptrT $ objT c_QWidget]+    -- TODO Ctor with Qt::WindowFlags.+  , just $ mkProp "allowedAreas" $ bitspaceT bs_DockWidgetAreas+  , just $ mkConstMethod "isAreaAllowed" [enumT e_DockWidgetArea] $ boolT+  , just $ mkProp "features" $ bitspaceT bs_DockWidgetFeatures+  , just $ mkBoolIsProp "floating"+  , test (qtVersion >= [4, 3]) $ mkProp "titleBarWidget" $ ptrT $ objT c_QWidget+  , just $ mkConstMethod "toggleViewAction" [] $ ptrT $ objT c_QAction+  , just $ mkProp "widget" $ ptrT $ objT c_QWidget+  ]++signals =+  collect+  [ just $ makeSignal c_QDockWidget "allowedAreasChanged" c_ListenerDockWidgetAreas+  , test (qtVersion >= [4, 3]) $+    makeSignal c_QDockWidget "dockLocationChanged" c_ListenerDockWidgetArea+  , just $ makeSignal c_QDockWidget "featuresChanged" c_ListenerQDockWidgetFeatures+  , just $ makeSignal c_QDockWidget "topLevelChanged" c_ListenerBool+  , just $ makeSignal c_QDockWidget "visibilityChanged" c_ListenerBool+  ]++(e_DockWidgetFeature, bs_DockWidgetFeatures) =+  makeQtEnumBitspace (ident1 "QDockWidget" "DockWidgetFeature") "DockWidgetFeatures"+  [includeStd "QDockWidget"] $+  [ (0x0, ["no", "dock", "widget", "features"])+  , (0x1, ["dock", "widget", "closable"])+  , (0x2, ["dock", "widget", "movable"])+  , (0x4, ["dock", "widget", "floatable"])+  , (0x7, ["all", "dock", "widget", "features"])  -- Deprecated+  , (0x8, ["dock", "widget", "vertical", "title", "bar"])+  ]
+ src/Graphics/UI/Qtah/Generator/Interface/Widgets/QDockWidget.hs-boot view
@@ -0,0 +1,24 @@+-- This file is part of Qtah.+--+-- Copyright 2015-2018 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/>.++module Graphics.UI.Qtah.Generator.Interface.Widgets.QDockWidget (+  bs_DockWidgetFeatures,+  ) where++import Foreign.Hoppy.Generator.Spec (Bitspace)++bs_DockWidgetFeatures :: Bitspace
src/Graphics/UI/Qtah/Generator/Interface/Widgets/QGraphicsItem.hs view
@@ -32,10 +32,11 @@   ident1,   includeStd,   makeClass,-  mkMethod,   mkConstMethod,+  mkConstMethod',+  mkMethod,   mkMethod',-  mkConstMethod'+  mkProp,   ) import Foreign.Hoppy.Generator.Types (voidT, objT, ptrT, boolT, constT, intT) import Foreign.Hoppy.Generator.Version (collect, just, test)@@ -44,6 +45,7 @@ import Graphics.UI.Qtah.Generator.Interface.Core.QPointF (c_QPointF) import Graphics.UI.Qtah.Generator.Interface.Core.QRectF (c_QRectF) import Graphics.UI.Qtah.Generator.Interface.Core.QString (c_QString)+import Graphics.UI.Qtah.Generator.Interface.Gui.QCursor (c_QCursor) -- import Graphics.UI.Qtah.Generator.Interface.Gui.QPolygonF (c_QPolygonF) import Graphics.UI.Qtah.Generator.Interface.Gui.QPainterPath (c_QPainterPath) -- import Graphics.UI.Qtah.Generator.Interface.Gui.QTransform (c_QTransform)@@ -95,7 +97,7 @@   , mkConstMethod "commonAncestorItem" [ptrT $ constT $ objT c_QGraphicsItem] $       ptrT $ objT c_QGraphicsItem   , mkConstMethod "contains" [objT c_QPointF] boolT-  -- TODO mkConstMethod "cursor" [] $ objT c_QCursor+  , mkProp "cursor" $ objT c_QCursor   -- TODO mkConstMethod "data" [intT] $ objT c_QVariant   -- TODO mkConstMethod "deviceTransform" [objT c_QTransform] $ objT c_QTransform   , mkConstMethod "effectiveOpacity" [] qreal@@ -270,7 +272,6 @@   , mkMethod "setBoundingRegionGranularity" [qreal] voidT   -- TODO mkMethod "setCacheMode" [objT c_CacheMode] voidT   -- TODO mkMethod' "setCacheMode" "setCacheModeAll" [objT c_CacheMode, objT c_QSize] voidT-  -- TODO mkMethod "setCursor" [objT c_QCursor] voidT   -- TODO mkMethod "setData" [intT, objT c_QVariant] voidT   , mkMethod "setEnabled" [boolT] voidT   , mkMethod "setFiltersChildEvents" [boolT] voidT
src/Graphics/UI/Qtah/Generator/Interface/Widgets/QLabel.hs view
@@ -45,7 +45,11 @@   voidT,   ) import Graphics.UI.Qtah.Generator.Interface.Core.QString (c_QString)-import Graphics.UI.Qtah.Generator.Interface.Core.Types (bs_Alignment, e_TextFormat)+import Graphics.UI.Qtah.Generator.Interface.Core.Types (+  bs_Alignment,+  bs_TextInteractionFlags,+  e_TextFormat,+  ) import Graphics.UI.Qtah.Generator.Interface.Gui.QPixmap (c_QPixmap) import Graphics.UI.Qtah.Generator.Interface.Internal.Listener (c_ListenerQString) import Graphics.UI.Qtah.Generator.Interface.Widgets.QFrame (c_QFrame)@@ -90,7 +94,7 @@   , mkMethod "setSelection" [intT, intT] voidT   , mkProp "text" $ objT c_QString   , mkProp "textFormat" $ enumT e_TextFormat-    -- TODO textInteractionFlags+  , mkProp "textInteractionFlags" $ bitspaceT bs_TextInteractionFlags   , mkProp "wordWrap" boolT   ] 
src/Graphics/UI/Qtah/Generator/Interface/Widgets/QMainWindow.hs view
@@ -28,15 +28,24 @@   includeStd,   makeClass,   mkBoolIsProp,+  mkConstMethod,+  mkConstMethod',   mkCtor,   mkMethod,   mkMethod',   mkProp,   )-import Foreign.Hoppy.Generator.Types (boolT, objT, ptrT, voidT)+import Foreign.Hoppy.Generator.Types (boolT, enumT, intT, objT, ptrT, voidT)+import Graphics.UI.Qtah.Generator.Interface.Core.QByteArray (c_QByteArray) import Graphics.UI.Qtah.Generator.Interface.Core.QSize (c_QSize) import Graphics.UI.Qtah.Generator.Interface.Core.QString (c_QString)+import Graphics.UI.Qtah.Generator.Interface.Core.Types (+  e_Corner,+  e_DockWidgetArea,+  e_Orientation,+  ) import Graphics.UI.Qtah.Generator.Interface.Internal.Listener (c_ListenerQSize)+import Graphics.UI.Qtah.Generator.Interface.Widgets.QDockWidget (c_QDockWidget) import Graphics.UI.Qtah.Generator.Interface.Widgets.QMenu (c_QMenu) import Graphics.UI.Qtah.Generator.Interface.Widgets.QMenuBar (c_QMenuBar) import Graphics.UI.Qtah.Generator.Interface.Widgets.QStatusBar (c_QStatusBar)@@ -62,7 +71,9 @@   [ mkCtor "new" []   , mkCtor "newWithParent" [ptrT $ objT c_QWidget]     -- TODO Ctor with Qt::WindowFlags.-    -- TODO addDockWidget+  , mkMethod "addDockWidget" [enumT e_DockWidgetArea, ptrT $ objT c_QDockWidget] voidT+  , mkMethod' "addDockWidget" "addDockWidgetWithOrientation"+    [enumT e_DockWidgetArea, ptrT $ objT c_QDockWidget, enumT e_Orientation] voidT     -- TODO mkMethod' "addToolBar" "addToolBarWithArea" [e_ToolBarArea, ptrT $ objT c_QToolBar]     --      voidT   , mkMethod "addToolBar" [ptrT $ objT c_QToolBar] voidT@@ -70,24 +81,28 @@     -- TODO addToolBarBreak   , mkBoolIsProp "animated"   , mkProp "centralWidget" $ ptrT $ objT c_QWidget-    -- TODO corner+  , mkConstMethod "corner" [enumT e_Corner] $ enumT e_DockWidgetArea   , mkMethod "createPopupMenu" [] $ ptrT $ objT c_QMenu   , mkBoolIsProp "dockNestingEnabled"     -- TODO dockOptions-    -- TODO dockWidgetArea+  , mkConstMethod "dockWidgetArea" [ptrT $ objT c_QDockWidget] $ enumT e_DockWidgetArea   , mkProp "documentMode" boolT   , mkProp "iconSize" $ objT c_QSize     -- TODO insertToolBar     -- TODO insertToolBarBreak   , mkProp "menuBar" $ ptrT $ objT c_QMenuBar   , mkProp "menuWidget" $ ptrT $ objT c_QWidget-    -- TODO removeDockWidget-    -- TODO restoreState-    -- TODO saveState-    -- TODO setCorner+  , mkMethod "removeDockWidget" [ptrT $ objT c_QDockWidget] voidT+  , mkMethod "restoreDockWidget" [ptrT $ objT c_QDockWidget] boolT+  , mkMethod "restoreState" [objT c_QByteArray] boolT+  , mkMethod' "restoreState" "restoreStateWithVersion" [objT c_QByteArray, intT] boolT+  , mkConstMethod "saveState" [] (objT c_QByteArray)+  , mkConstMethod' "saveState" "saveStateWithVersion" [intT] (objT c_QByteArray)+  , mkMethod "setCorner" [enumT e_Corner, enumT e_DockWidgetArea] voidT     -- TODO setTabPosition     -- TODO setTabShape-    -- TODO splitDockWidget+  , mkMethod "splitDockWidget"+    [ptrT $ objT c_QDockWidget, ptrT $ objT c_QDockWidget, enumT e_Orientation] voidT   , mkProp "statusBar" $ ptrT $ objT c_QStatusBar     -- TODO tabifiedDockWidgets     -- TODO tabifyDockWidget
+ src/Graphics/UI/Qtah/Generator/Interface/Widgets/QStyledItemDelegate.hs view
@@ -0,0 +1,60 @@+-- This file is part of Qtah.+--+-- Copyright 2018 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/>.++module Graphics.UI.Qtah.Generator.Interface.Widgets.QStyledItemDelegate (+  aModule,+  c_QStyledItemDelegate,+  ) where++import Foreign.Hoppy.Generator.Spec (+  Export (ExportClass),+  addReqIncludes,+  classSetEntityPrefix,+  ident,+  includeStd,+  makeClass,+  mkCtor,+  )+import Foreign.Hoppy.Generator.Types (objT, ptrT)+-- import Graphics.UI.Qtah.Generator.Interface.Core.QLocale (c_QLocale)+import Graphics.UI.Qtah.Generator.Interface.Core.QObject (c_QObject)+import Graphics.UI.Qtah.Generator.Interface.Widgets.QAbstractItemDelegate (c_QAbstractItemDelegate)+import Graphics.UI.Qtah.Generator.Module (AModule (AQtModule), makeQtModuleWithMinVersion)+import Graphics.UI.Qtah.Generator.Types++{-# ANN module "HLint: ignore Use camelCase" #-}++minVersion = [4, 4]++aModule =+  AQtModule $+  makeQtModuleWithMinVersion ["Widgets", "QStyledItemDelegate"] minVersion+  [ QtExport $ ExportClass c_QStyledItemDelegate ]++c_QStyledItemDelegate =+  addReqIncludes [includeStd "QStyledItemDelegate"] $+  classSetEntityPrefix "" $+  makeClass (ident "QStyledItemDelegate") Nothing [c_QAbstractItemDelegate] $+  [+  -- Public Functions+    mkCtor "new" []+  , mkCtor "newWithParent" [ptrT $ objT c_QObject]+  -- TODO mkConstMethod+  --     "displayText" [objT c_QVariant, objT c_QLocale] (objT c_QString)+  -- TODO QItemEditorFactory * itemEditorFactory() const+  -- TODO void setItemEditorFactory(QItemEditorFactory *factory)+  ]
+ src/Graphics/UI/Qtah/Generator/Interface/Widgets/QToolBox.hs view
@@ -0,0 +1,103 @@+-- This file is part of Qtah.+--+-- Copyright 2018 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/>.++module Graphics.UI.Qtah.Generator.Interface.Widgets.QToolBox (+  aModule,+  c_QToolBox,+  ) where++import Foreign.Hoppy.Generator.Spec (+  Class,+  Export (ExportClass),+  addReqIncludes,+  classSetEntityPrefix,+  ident,+  includeStd,+  makeClass,+  mkConstMethod,+  mkCtor,+  mkMethod,+  mkMethod',+  )+import Foreign.Hoppy.Generator.Types (+  bitspaceT, boolT, intT, objT, ptrT, voidT,+  )+import Graphics.UI.Qtah.Generator.Interface.Core.QString (c_QString)+import Graphics.UI.Qtah.Generator.Interface.Core.Types (bs_WindowFlags)+import Graphics.UI.Qtah.Generator.Interface.Gui.QIcon (c_QIcon)+import Graphics.UI.Qtah.Generator.Interface.Internal.Listener (c_ListenerInt)+import Graphics.UI.Qtah.Generator.Interface.Widgets.QFrame (c_QFrame)+import Graphics.UI.Qtah.Generator.Interface.Widgets.QWidget (c_QWidget)+import Graphics.UI.Qtah.Generator.Module (AModule (AQtModule), makeQtModule)+import Graphics.UI.Qtah.Generator.Types++{-# ANN module "HLint: ignore Use camelCase" #-}++aModule :: AModule+aModule =+  AQtModule $+  makeQtModule ["Widgets", "QToolBox"] $+  QtExport (ExportClass c_QToolBox) :+  map QtExportSignal signals++c_QToolBox :: Class+c_QToolBox =+  addReqIncludes [includeStd "QToolBox"] $+  classSetEntityPrefix "" $+  makeClass (ident "QToolBox") Nothing [c_QFrame]+  [+  -- Properties+    mkConstMethod "count" [] intT+  , mkConstMethod "currentIndex" [] intT+  -- Public Functions+  , mkCtor "new" []+  , mkCtor "newWithParent" [ptrT $ objT c_QWidget]+  , mkCtor+      "newWithParentAndFlags" [ptrT $ objT c_QWidget, bitspaceT bs_WindowFlags]+  , mkMethod'+      "addItem"+      "addItemWithIcon"+      [ptrT $ objT c_QWidget, objT c_QIcon, objT c_QString]+      intT+  , mkMethod "addItem" [ptrT $ objT c_QWidget, objT c_QString] intT+  , mkConstMethod "currentWidget" [] (ptrT $ objT c_QWidget)+  , mkConstMethod "indexOf" [ptrT $ objT c_QWidget] intT+  , mkMethod'+      "insertItem"+      "insertItemWithIcon"+      [intT, ptrT $ objT c_QWidget, objT c_QIcon, objT c_QString]+      intT+  , mkMethod "insertItem" [intT, ptrT $ objT c_QWidget, objT c_QString] intT+  , mkConstMethod "isItemEnabled" [intT] boolT+  , mkConstMethod "itemIcon" [intT] (objT c_QIcon)+  , mkConstMethod "itemText" [intT] (objT c_QString)+  , mkConstMethod "itemToolTip" [intT] (objT c_QString)+  , mkMethod "removeItem" [intT] voidT+  , mkMethod "setItemEnabled" [intT, boolT] voidT+  , mkMethod "setItemIcon" [intT, objT c_QIcon] voidT+  , mkMethod "setItemText" [intT, objT c_QString] voidT+  , mkMethod "setItemToolTip" [intT, objT c_QString] voidT+  , mkConstMethod "widget" [intT] (ptrT $ objT c_QWidget)+  -- Public Slots+  , mkMethod "setCurrentIndex" [intT] voidT+  , mkMethod "setCurrentWidget" [ptrT $ objT c_QWidget] voidT+  ]++signals :: [Signal]+signals =+  [ makeSignal c_QToolBox "currentChanged" c_ListenerInt+  ]
+ src/Graphics/UI/Qtah/Generator/Interface/Widgets/QToolButton.hs view
@@ -0,0 +1,74 @@+-- This file is part of Qtah.+--+-- Copyright 2015-2018 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/>.++module Graphics.UI.Qtah.Generator.Interface.Widgets.QToolButton (+  aModule,+  c_QToolButton,+  ) where++import Foreign.Hoppy.Generator.Spec (+  Export (ExportEnum, ExportClass),+  addReqIncludes,+  classSetEntityPrefix,+  ident,+  ident1,+  includeStd,+  makeClass,+  mkCtor,+  mkMethod,+  mkProp,+  )+import Foreign.Hoppy.Generator.Types (boolT, enumT, objT, ptrT, voidT)+import Graphics.UI.Qtah.Generator.Interface.Core.Types (e_ArrowType, e_ToolButtonStyle)+import Graphics.UI.Qtah.Generator.Interface.Widgets.QAbstractButton (c_QAbstractButton)+import Graphics.UI.Qtah.Generator.Interface.Widgets.QAction (c_QAction)+import Graphics.UI.Qtah.Generator.Interface.Widgets.QMenu (c_QMenu)+import Graphics.UI.Qtah.Generator.Interface.Widgets.QWidget (c_QWidget)+import Graphics.UI.Qtah.Generator.Module (AModule (AQtModule), makeQtModule)+import Graphics.UI.Qtah.Generator.Types++{-# ANN module "HLint: ignore Use camelCase" #-}++aModule =+  AQtModule $+  makeQtModule ["Widgets", "QToolButton"]+  [ QtExport $ ExportClass c_QToolButton+  , QtExport $ ExportEnum e_ToolButtonPopupMode+  ]++c_QToolButton =+  addReqIncludes [includeStd "QToolButton"] $+  classSetEntityPrefix "" $+  makeClass (ident "QToolButton") Nothing+  [ c_QAbstractButton ]+  [ mkCtor "new" []+  , mkCtor "newWithParent" [ptrT $ objT c_QWidget]+  , mkProp "arrowType" $ enumT e_ArrowType+  , mkProp "autoRaise" boolT+  , mkProp "defaultAction" $ ptrT $ objT c_QAction+  , mkProp "menu" $ ptrT $ objT c_QMenu+  , mkProp "popupMode" $ enumT e_ToolButtonPopupMode+  , mkProp "toolButtonStyle" $ enumT e_ToolButtonStyle+  , mkMethod "showMenu" [] voidT+  ]++e_ToolButtonPopupMode =+  makeQtEnum (ident1 "QToolButton" "ToolButtonPopupMode") [includeStd "QToolButton"]+  [ (0, ["delayed", "popup"])+  , (1, ["menu", "button", "popup"])+  , (2, ["instant", "popup"])+  ]
src/Graphics/UI/Qtah/Generator/Interface/Widgets/QTreeView.hs view
@@ -28,13 +28,15 @@   ident,   includeStd,   makeClass,-  mkCtor,   mkBoolIsProp,+  mkCtor,   mkMethod,+  mkProp,   )-import Foreign.Hoppy.Generator.Types (intT, voidT)+import Foreign.Hoppy.Generator.Types (boolT, intT, objT, voidT) import Foreign.Hoppy.Generator.Version (collect, just, test) import Graphics.UI.Qtah.Generator.Flags (qtVersion)+import Graphics.UI.Qtah.Generator.Interface.Core.QModelIndex (c_QModelIndex) import Graphics.UI.Qtah.Generator.Interface.Widgets.QAbstractItemView (c_QAbstractItemView) import Graphics.UI.Qtah.Generator.Module (AModule (AQtModule), makeQtModule) import Graphics.UI.Qtah.Generator.Types@@ -54,11 +56,31 @@   classSetEntityPrefix "" $   makeClass (ident "QTreeView") Nothing [c_QAbstractItemView] $   collect-  [ just $ mkCtor "new" []-  , just $ mkBoolIsProp "headerHidden"-  , just $ mkMethod "resizeColumnToContents" [intT] voidT+  [+  -- Properties+    test (qtVersion >= [4, 2]) $ mkProp "allColumnsShowFocus" boolT+  , test (qtVersion >= [4, 2]) $ mkBoolIsProp "animated"+  , test (qtVersion >= [4, 3]) $ mkProp "autoExpandDelay" intT+  , test (qtVersion >= [4, 4]) $ mkProp "expandsOnDoubleClick" boolT+  , test (qtVersion >= [4, 4]) $ mkBoolIsProp "headerHidden"+  , just $ mkProp "indentation" intT+  , just $ mkProp "itemsExpandable" boolT+  , just $ mkProp "rootIsDecorated" boolT   , test (qtVersion >= [4, 2]) $ mkBoolIsProp "sortingEnabled"-  -- TODO add more methods+  , just $ mkProp "uniformRowHeights" boolT+  , test (qtVersion >= [4, 3]) $ mkProp "wordWrap" boolT+  -- Public Functions+  , just $ mkCtor "new" []+  -- Public Slots+  , just $ mkMethod "collapse" [objT c_QModelIndex] voidT+  , test (qtVersion >= [4, 2]) $ mkMethod "collapseAll" [] voidT+  , just $ mkMethod "expand" [objT c_QModelIndex] voidT+  , test (qtVersion >= [4, 2]) $ mkMethod "expandAll" [] voidT+  , test (qtVersion >= [4, 3]) $ mkMethod "expandToDepth" [intT] voidT+  , just $ mkMethod "hideColumn" [intT] voidT+  , just $ mkMethod "resizeColumnToContents" [intT] voidT+  , just $ mkMethod "showColumn" [intT] voidT+  -- TODO Other methods.   ]  signals :: [Signal]
src/Graphics/UI/Qtah/Generator/Interface/Widgets/QWidget.hs view
@@ -38,6 +38,7 @@ import Foreign.Hoppy.Generator.Types (bitspaceT, boolT, enumT, intT, objT, ptrT, voidT) import Foreign.Hoppy.Generator.Version (collect, just, test) import Graphics.UI.Qtah.Generator.Flags (keypadNavigation, qdoc, qtVersion)+import Graphics.UI.Qtah.Generator.Interface.Core.QByteArray (c_QByteArray) import Graphics.UI.Qtah.Generator.Interface.Core.QMargins (c_QMargins) import Graphics.UI.Qtah.Generator.Interface.Core.QObject (c_QObject) import Graphics.UI.Qtah.Generator.Interface.Core.QPoint (c_QPoint)@@ -53,6 +54,10 @@   e_WindowType,   qreal,   )+import Graphics.UI.Qtah.Generator.Interface.Core.QPalette (+  e_ColorRole+  )+import Graphics.UI.Qtah.Generator.Interface.Gui.QCursor (c_QCursor) import Graphics.UI.Qtah.Generator.Interface.Gui.QFont (c_QFont) import Graphics.UI.Qtah.Generator.Interface.Gui.QIcon (c_QIcon) import Graphics.UI.Qtah.Generator.Interface.Gui.QPaintDevice (c_QPaintDevice)@@ -93,7 +98,7 @@     -- TODO addActions   , just $ mkMethod "adjustSize" [] voidT   , just $ mkConstMethod "autoFillBackground" [] boolT-    -- TODO backgroundRole+  , just $ mkProp "backgroundRole" $ enumT e_ColorRole   , just $ mkConstMethod "baseSize" [] $ objT c_QSize   , just $ mkConstMethod' "childAt" "childAtRaw" [intT, intT] $ ptrT $ objT c_QWidget   , just $ mkConstMethod' "childAt" "childAtPoint" [objT c_QPoint] $ ptrT $ objT c_QWidget@@ -105,7 +110,7 @@   , just $ mkConstMethod "contentsMargins" [] $ objT c_QMargins   , just $ mkConstMethod "contentsRect" [] $ objT c_QRect   , just $ mkProp "contextMenuPolicy" $ enumT e_ContextMenuPolicy-    -- TODO cursor+  , just $ mkProp "cursor" $ objT c_QCursor     -- TODO effectiveWinId   , just $ mkConstMethod "ensurePolished" [] voidT     -- TODO find@@ -125,7 +130,7 @@     -- TODO grabGesture   , just $ mkMethod "grabKeyboard" [] voidT   , just $ mkMethod "grabMouse" [] voidT-    -- TODO grabMouse(const QCursor&)+  , just $ mkMethod' "grabMouse" "grabMouseWithCursor" [objT c_QCursor] voidT     -- TODO grabShortcut     -- TODO graphicsEffect     -- TODO graphicsProxyWidget@@ -215,8 +220,8 @@     -- TODO repaint(const QRegion&)   , just $ mkMethod' "resize" "resize" [objT c_QSize] voidT   , just $ mkMethod' "resize" "resizeRaw" [intT, intT] voidT-    -- TODO restoreGeometry-    -- TODO saveGeometry+  , just $ mkMethod "restoreGeometry" [objT c_QByteArray] boolT+  , just $ mkConstMethod "saveGeometry" [] (objT c_QByteArray)   , just $ mkMethod' "scroll" "scrollRaw" [intT, intT] voidT   , just $ mkMethod' "scroll" "scrollRect" [intT, intT, objT c_QRect] voidT   , just $ mkMethod "setAcceptDrops" [boolT] voidT