module Graphics.UI.Qtah.Generator.Interface.Core.QList (
Options (..),
defaultOptions,
Contents (..),
inheritHasContents,
instantiate,
allModules,
c_QListInt,
c_QListQAbstractButton,
c_QListQByteArray,
c_QListQItemSelectionRange,
c_QListQModelIndex,
c_QListQObject,
c_QListQSize,
c_QListQString,
c_QListQUrl,
c_QListQVariant,
c_QListQWidget,
c_QListQTreeWidgetItem,
) where
import Control.Monad (forM_, when)
import Foreign.Hoppy.Generator.Language.Haskell (
Generator,
HsTypeSide (HsHsSide),
addImports,
cppTypeToHsTypeAndUse,
indent,
ln,
prettyPrint,
sayLn,
saysLn,
)
import Foreign.Hoppy.Generator.Spec (
Class,
ClassHaskellConversion (
ClassHaskellConversion,
classHaskellConversionFromCppFn,
classHaskellConversionToCppFn,
classHaskellConversionType
),
Constness (Const, Nonconst),
Operator (OpAdd, OpArray),
Reqs,
Type,
addReqs,
addAddendumHaskell,
classSetEntityPrefix,
classSetHaskellConversion,
classSetMonomorphicSuperclass,
hsImport1,
identT,
includeStd,
makeClass,
mkConstMethod,
mkConstMethod',
mkCtor,
mkMethod,
mkMethod',
np,
reqInclude,
toExtName,
)
import Foreign.Hoppy.Generator.Spec.Class (
toHsCastMethodName,
toHsClassEntityName',
toHsDataTypeName,
)
import Foreign.Hoppy.Generator.Spec.ClassFeature (
ClassFeature (Assignable, Copyable),
classAddFeatures,
)
import Foreign.Hoppy.Generator.Types (boolT, constT, intT, objT, ptrT, refT, toGcT, voidT)
import Foreign.Hoppy.Generator.Version (collect, just, test)
import Graphics.UI.Qtah.Generator.Config (qtVersion)
import Graphics.UI.Qtah.Generator.Interface.Core.QByteArray (c_QByteArray)
import Graphics.UI.Qtah.Generator.Interface.Core.QItemSelectionRange (c_QItemSelectionRange)
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 {-# SOURCE #-} Graphics.UI.Qtah.Generator.Interface.Core.QUrl (c_QUrl)
import {-# SOURCE #-} Graphics.UI.Qtah.Generator.Interface.Widgets.QTreeWidgetItem (c_QTreeWidgetItem)
import Graphics.UI.Qtah.Generator.Interface.Core.QString (c_QString)
import {-# SOURCE #-} Graphics.UI.Qtah.Generator.Interface.Core.QVariant (c_QVariant)
import Graphics.UI.Qtah.Generator.Interface.Imports
import {-# SOURCE #-} Graphics.UI.Qtah.Generator.Interface.Widgets.QAbstractButton (
c_QAbstractButton,
)
import {-# SOURCE #-} Graphics.UI.Qtah.Generator.Interface.Widgets.QWidget (c_QWidget)
import Graphics.UI.Qtah.Generator.Module (AModule (AQtModule), QtModule, makeQtModule)
import Graphics.UI.Qtah.Generator.Types
import Language.Haskell.Syntax (
HsQName (Special),
HsSpecialCon (HsListCon),
HsType (HsTyApp, HsTyCon),
)
{-# ANN module "HLint: ignore Use camelCase" #-}
newtype Options = Options
{ Options -> [ClassFeature]
optListClassFeatures :: [ClassFeature]
}
defaultOptions :: Options
defaultOptions :: Options
defaultOptions = [ClassFeature] -> Options
Options []
newtype Contents = Contents
{ Contents -> Class
c_QList :: Class
}
instantiate :: String -> Type -> Reqs -> Contents
instantiate :: ErrorMsg -> Type -> Reqs -> Contents
instantiate ErrorMsg
listName Type
t Reqs
tReqs = ErrorMsg -> Type -> Reqs -> Options -> Contents
instantiate' ErrorMsg
listName Type
t Reqs
tReqs Options
defaultOptions
instantiate' :: String -> Type -> Reqs -> Options -> Contents
instantiate' :: ErrorMsg -> Type -> Reqs -> Options -> Contents
instantiate' ErrorMsg
listName Type
t Reqs
tReqs Options
opts =
let reqs :: Reqs
reqs = [Reqs] -> Reqs
forall a. Monoid a => [a] -> a
mconcat [ Reqs
tReqs
, Include -> Reqs
reqInclude (Include -> Reqs) -> Include -> Reqs
forall a b. (a -> b) -> a -> b
$ ErrorMsg -> Include
includeStd ErrorMsg
"QList"
]
features :: [ClassFeature]
features = ClassFeature
Assignable ClassFeature -> [ClassFeature] -> [ClassFeature]
forall a. a -> [a] -> [a]
: ClassFeature
Copyable ClassFeature -> [ClassFeature] -> [ClassFeature]
forall a. a -> [a] -> [a]
: Options -> [ClassFeature]
optListClassFeatures Options
opts
hasReserve :: Bool
hasReserve = Version
qtVersion Version -> Version -> Bool
forall a. Ord a => a -> a -> Bool
>= [Int
4, Int
7]
list :: Class
list =
Reqs -> Class -> Class
forall a. HasReqs a => Reqs -> a -> a
addReqs Reqs
reqs (Class -> Class) -> Class -> Class
forall a b. (a -> b) -> a -> b
$
Generator () -> Class -> Class
forall a. HasAddendum a => Generator () -> a -> a
addAddendumHaskell Generator ()
addendum (Class -> Class) -> Class -> Class
forall a b. (a -> b) -> a -> b
$
ClassHaskellConversion -> Class -> Class
classSetHaskellConversion ClassHaskellConversion
conversion (Class -> Class) -> Class -> Class
forall a b. (a -> b) -> a -> b
$
[ClassFeature] -> Class -> Class
classAddFeatures [ClassFeature]
features (Class -> Class) -> Class -> Class
forall a b. (a -> b) -> a -> b
$
Class -> Class
classSetMonomorphicSuperclass (Class -> Class) -> Class -> Class
forall a b. (a -> b) -> a -> b
$
ErrorMsg -> Class -> Class
classSetEntityPrefix ErrorMsg
"" (Class -> Class) -> Class -> Class
forall a b. (a -> b) -> a -> b
$
Identifier -> Maybe ExtName -> [Class] -> [ClassEntity] -> Class
makeClass (ErrorMsg -> [Type] -> Identifier
identT ErrorMsg
"QList" [Type
t]) (ExtName -> Maybe ExtName
forall a. a -> Maybe a
Just (ExtName -> Maybe ExtName) -> ExtName -> Maybe ExtName
forall a b. (a -> b) -> a -> b
$ HasCallStack => ErrorMsg -> ExtName
ErrorMsg -> ExtName
toExtName ErrorMsg
listName) [] ([ClassEntity] -> Class) -> [ClassEntity] -> Class
forall a b. (a -> b) -> a -> b
$ [Filtered ClassEntity] -> [ClassEntity]
forall a. [Filtered a] -> [a]
collect
[ ClassEntity -> Filtered ClassEntity
forall a. a -> Maybe a
just (ClassEntity -> Filtered ClassEntity)
-> ClassEntity -> Filtered ClassEntity
forall a b. (a -> b) -> a -> b
$ ErrorMsg -> [Parameter] -> ClassEntity
forall p. IsParameter p => ErrorMsg -> [p] -> ClassEntity
mkCtor ErrorMsg
"new" [Parameter]
np
, ClassEntity -> Filtered ClassEntity
forall a. a -> Maybe a
just (ClassEntity -> Filtered ClassEntity)
-> ClassEntity -> Filtered ClassEntity
forall a b. (a -> b) -> a -> b
$ ErrorMsg -> ErrorMsg -> [Type] -> Type -> ClassEntity
forall name p.
(IsFnName ErrorMsg name, IsParameter p) =>
name -> ErrorMsg -> [p] -> Type -> ClassEntity
mkMethod' ErrorMsg
"append" ErrorMsg
"append" [Type
t] Type
voidT
, Bool -> ClassEntity -> Filtered ClassEntity
forall a. Bool -> a -> Filtered a
test (Version
qtVersion Version -> Version -> Bool
forall a. Ord a => a -> a -> Bool
>= [Int
4, Int
5]) (ClassEntity -> Filtered ClassEntity)
-> ClassEntity -> Filtered ClassEntity
forall a b. (a -> b) -> a -> b
$ ErrorMsg -> ErrorMsg -> [Type] -> Type -> ClassEntity
forall name p.
(IsFnName ErrorMsg name, IsParameter p) =>
name -> ErrorMsg -> [p] -> Type -> ClassEntity
mkMethod' ErrorMsg
"append" ErrorMsg
"appendList" [Class -> Type
objT Class
list] Type
voidT
, ClassEntity -> Filtered ClassEntity
forall a. a -> Maybe a
just (ClassEntity -> Filtered ClassEntity)
-> ClassEntity -> Filtered ClassEntity
forall a b. (a -> b) -> a -> b
$ Operator -> ErrorMsg -> [Type] -> Type -> ClassEntity
forall name p.
(IsFnName ErrorMsg name, IsParameter p) =>
name -> ErrorMsg -> [p] -> Type -> ClassEntity
mkMethod' Operator
OpArray ErrorMsg
"at" [Type
intT] (Type -> ClassEntity) -> Type -> ClassEntity
forall a b. (a -> b) -> a -> b
$ Type -> Type
refT Type
t
, ClassEntity -> Filtered ClassEntity
forall a. a -> Maybe a
just (ClassEntity -> Filtered ClassEntity)
-> ClassEntity -> Filtered ClassEntity
forall a b. (a -> b) -> a -> b
$ ErrorMsg -> ErrorMsg -> [Type] -> Type -> ClassEntity
forall name p.
(IsFnName ErrorMsg name, IsParameter p) =>
name -> ErrorMsg -> [p] -> Type -> ClassEntity
mkConstMethod' ErrorMsg
"at" ErrorMsg
"atConst" [Type
intT] (Type -> ClassEntity) -> Type -> ClassEntity
forall a b. (a -> b) -> a -> b
$ Type -> Type
refT (Type -> Type) -> Type -> Type
forall a b. (a -> b) -> a -> b
$ Type -> Type
constT Type
t
, ClassEntity -> Filtered ClassEntity
forall a. a -> Maybe a
just (ClassEntity -> Filtered ClassEntity)
-> ClassEntity -> Filtered ClassEntity
forall a b. (a -> b) -> a -> b
$ ErrorMsg -> [Parameter] -> Type -> ClassEntity
forall name p.
(IsFnName ErrorMsg name, IsParameter p) =>
name -> [p] -> Type -> ClassEntity
mkMethod ErrorMsg
"clear" [Parameter]
np Type
voidT
, ClassEntity -> Filtered ClassEntity
forall a. a -> Maybe a
just (ClassEntity -> Filtered ClassEntity)
-> ClassEntity -> Filtered ClassEntity
forall a b. (a -> b) -> a -> b
$ ErrorMsg -> [Type] -> Type -> ClassEntity
forall name p.
(IsFnName ErrorMsg name, IsParameter p) =>
name -> [p] -> Type -> ClassEntity
mkConstMethod ErrorMsg
"contains" [Type
t] Type
boolT
, ClassEntity -> Filtered ClassEntity
forall a. a -> Maybe a
just (ClassEntity -> Filtered ClassEntity)
-> ClassEntity -> Filtered ClassEntity
forall a b. (a -> b) -> a -> b
$ ErrorMsg -> [Type] -> Type -> ClassEntity
forall name p.
(IsFnName ErrorMsg name, IsParameter p) =>
name -> [p] -> Type -> ClassEntity
mkConstMethod ErrorMsg
"count" [Type
t] Type
intT
, Bool -> ClassEntity -> Filtered ClassEntity
forall a. Bool -> a -> Filtered a
test (Version
qtVersion Version -> Version -> Bool
forall a. Ord a => a -> a -> Bool
>= [Int
4, Int
5]) (ClassEntity -> Filtered ClassEntity)
-> ClassEntity -> Filtered ClassEntity
forall a b. (a -> b) -> a -> b
$ ErrorMsg -> [Type] -> Type -> ClassEntity
forall name p.
(IsFnName ErrorMsg name, IsParameter p) =>
name -> [p] -> Type -> ClassEntity
mkConstMethod ErrorMsg
"endsWith" [Type
t] Type
boolT
, ClassEntity -> Filtered ClassEntity
forall a. a -> Maybe a
just (ClassEntity -> Filtered ClassEntity)
-> ClassEntity -> Filtered ClassEntity
forall a b. (a -> b) -> a -> b
$ ErrorMsg -> ErrorMsg -> [Parameter] -> Type -> ClassEntity
forall name p.
(IsFnName ErrorMsg name, IsParameter p) =>
name -> ErrorMsg -> [p] -> Type -> ClassEntity
mkMethod' ErrorMsg
"first" ErrorMsg
"first" [Parameter]
np (Type -> ClassEntity) -> Type -> ClassEntity
forall a b. (a -> b) -> a -> b
$ Type -> Type
refT Type
t
, ClassEntity -> Filtered ClassEntity
forall a. a -> Maybe a
just (ClassEntity -> Filtered ClassEntity)
-> ClassEntity -> Filtered ClassEntity
forall a b. (a -> b) -> a -> b
$ ErrorMsg -> ErrorMsg -> [Parameter] -> Type -> ClassEntity
forall name p.
(IsFnName ErrorMsg name, IsParameter p) =>
name -> ErrorMsg -> [p] -> Type -> ClassEntity
mkConstMethod' ErrorMsg
"first" ErrorMsg
"firstConst" [Parameter]
np (Type -> ClassEntity) -> Type -> ClassEntity
forall a b. (a -> b) -> a -> b
$ Type -> Type
refT (Type -> Type) -> Type -> Type
forall a b. (a -> b) -> a -> b
$ Type -> Type
constT Type
t
, ClassEntity -> Filtered ClassEntity
forall a. a -> Maybe a
just (ClassEntity -> Filtered ClassEntity)
-> ClassEntity -> Filtered ClassEntity
forall a b. (a -> b) -> a -> b
$ Operator -> ErrorMsg -> [Type] -> Type -> ClassEntity
forall name p.
(IsFnName ErrorMsg name, IsParameter p) =>
name -> ErrorMsg -> [p] -> Type -> ClassEntity
mkConstMethod' Operator
OpArray ErrorMsg
"get" [Type
intT] Type
t
, ClassEntity -> Filtered ClassEntity
forall a. a -> Maybe a
just (ClassEntity -> Filtered ClassEntity)
-> ClassEntity -> Filtered ClassEntity
forall a b. (a -> b) -> a -> b
$ ErrorMsg -> ErrorMsg -> [Type] -> Type -> ClassEntity
forall name p.
(IsFnName ErrorMsg name, IsParameter p) =>
name -> ErrorMsg -> [p] -> Type -> ClassEntity
mkConstMethod' ErrorMsg
"indexOf" ErrorMsg
"indexOf" [Type
t] Type
intT
, ClassEntity -> Filtered ClassEntity
forall a. a -> Maybe a
just (ClassEntity -> Filtered ClassEntity)
-> ClassEntity -> Filtered ClassEntity
forall a b. (a -> b) -> a -> b
$ ErrorMsg -> ErrorMsg -> [Type] -> Type -> ClassEntity
forall name p.
(IsFnName ErrorMsg name, IsParameter p) =>
name -> ErrorMsg -> [p] -> Type -> ClassEntity
mkConstMethod' ErrorMsg
"indexOf" ErrorMsg
"indexOfFrom" [Type
t, Type
intT] Type
intT
, ClassEntity -> Filtered ClassEntity
forall a. a -> Maybe a
just (ClassEntity -> Filtered ClassEntity)
-> ClassEntity -> Filtered ClassEntity
forall a b. (a -> b) -> a -> b
$ ErrorMsg -> [Type] -> Type -> ClassEntity
forall name p.
(IsFnName ErrorMsg name, IsParameter p) =>
name -> [p] -> Type -> ClassEntity
mkMethod ErrorMsg
"insert" [Type
intT, Type
t] Type
voidT
, ClassEntity -> Filtered ClassEntity
forall a. a -> Maybe a
just (ClassEntity -> Filtered ClassEntity)
-> ClassEntity -> Filtered ClassEntity
forall a b. (a -> b) -> a -> b
$ ErrorMsg -> [Parameter] -> Type -> ClassEntity
forall name p.
(IsFnName ErrorMsg name, IsParameter p) =>
name -> [p] -> Type -> ClassEntity
mkConstMethod ErrorMsg
"isEmpty" [Parameter]
np Type
boolT
, ClassEntity -> Filtered ClassEntity
forall a. a -> Maybe a
just (ClassEntity -> Filtered ClassEntity)
-> ClassEntity -> Filtered ClassEntity
forall a b. (a -> b) -> a -> b
$ ErrorMsg -> ErrorMsg -> [Parameter] -> Type -> ClassEntity
forall name p.
(IsFnName ErrorMsg name, IsParameter p) =>
name -> ErrorMsg -> [p] -> Type -> ClassEntity
mkMethod' ErrorMsg
"last" ErrorMsg
"last" [Parameter]
np (Type -> ClassEntity) -> Type -> ClassEntity
forall a b. (a -> b) -> a -> b
$ Type -> Type
refT Type
t
, ClassEntity -> Filtered ClassEntity
forall a. a -> Maybe a
just (ClassEntity -> Filtered ClassEntity)
-> ClassEntity -> Filtered ClassEntity
forall a b. (a -> b) -> a -> b
$ ErrorMsg -> ErrorMsg -> [Parameter] -> Type -> ClassEntity
forall name p.
(IsFnName ErrorMsg name, IsParameter p) =>
name -> ErrorMsg -> [p] -> Type -> ClassEntity
mkConstMethod' ErrorMsg
"last" ErrorMsg
"lastConst" [Parameter]
np (Type -> ClassEntity) -> Type -> ClassEntity
forall a b. (a -> b) -> a -> b
$ Type -> Type
refT (Type -> Type) -> Type -> Type
forall a b. (a -> b) -> a -> b
$ Type -> Type
constT Type
t
, ClassEntity -> Filtered ClassEntity
forall a. a -> Maybe a
just (ClassEntity -> Filtered ClassEntity)
-> ClassEntity -> Filtered ClassEntity
forall a b. (a -> b) -> a -> b
$ ErrorMsg -> ErrorMsg -> [Type] -> Type -> ClassEntity
forall name p.
(IsFnName ErrorMsg name, IsParameter p) =>
name -> ErrorMsg -> [p] -> Type -> ClassEntity
mkConstMethod' ErrorMsg
"lastIndexOf" ErrorMsg
"lastIndexOf" [Type
t] Type
intT
, ClassEntity -> Filtered ClassEntity
forall a. a -> Maybe a
just (ClassEntity -> Filtered ClassEntity)
-> ClassEntity -> Filtered ClassEntity
forall a b. (a -> b) -> a -> b
$ ErrorMsg -> ErrorMsg -> [Type] -> Type -> ClassEntity
forall name p.
(IsFnName ErrorMsg name, IsParameter p) =>
name -> ErrorMsg -> [p] -> Type -> ClassEntity
mkConstMethod' ErrorMsg
"lastIndexOf" ErrorMsg
"lastIndexOfFrom" [Type
t, Type
intT] Type
intT
, ClassEntity -> Filtered ClassEntity
forall a. a -> Maybe a
just (ClassEntity -> Filtered ClassEntity)
-> ClassEntity -> Filtered ClassEntity
forall a b. (a -> b) -> a -> b
$ ErrorMsg -> ErrorMsg -> [Type] -> Type -> ClassEntity
forall name p.
(IsFnName ErrorMsg name, IsParameter p) =>
name -> ErrorMsg -> [p] -> Type -> ClassEntity
mkConstMethod' ErrorMsg
"mid" ErrorMsg
"mid" [Type
intT] (Type -> ClassEntity) -> Type -> ClassEntity
forall a b. (a -> b) -> a -> b
$ Type -> Type
toGcT (Type -> Type) -> Type -> Type
forall a b. (a -> b) -> a -> b
$ Class -> Type
objT Class
list
, ClassEntity -> Filtered ClassEntity
forall a. a -> Maybe a
just (ClassEntity -> Filtered ClassEntity)
-> ClassEntity -> Filtered ClassEntity
forall a b. (a -> b) -> a -> b
$ ErrorMsg -> ErrorMsg -> [Type] -> Type -> ClassEntity
forall name p.
(IsFnName ErrorMsg name, IsParameter p) =>
name -> ErrorMsg -> [p] -> Type -> ClassEntity
mkConstMethod' ErrorMsg
"mid" ErrorMsg
"midLength" [Type
intT, Type
intT] (Type -> ClassEntity) -> Type -> ClassEntity
forall a b. (a -> b) -> a -> b
$ Type -> Type
toGcT (Type -> Type) -> Type -> Type
forall a b. (a -> b) -> a -> b
$ Class -> Type
objT Class
list
, ClassEntity -> Filtered ClassEntity
forall a. a -> Maybe a
just (ClassEntity -> Filtered ClassEntity)
-> ClassEntity -> Filtered ClassEntity
forall a b. (a -> b) -> a -> b
$ ErrorMsg -> [Type] -> Type -> ClassEntity
forall name p.
(IsFnName ErrorMsg name, IsParameter p) =>
name -> [p] -> Type -> ClassEntity
mkMethod ErrorMsg
"move" [Type
intT, Type
intT] Type
voidT
, ClassEntity -> Filtered ClassEntity
forall a. a -> Maybe a
just (ClassEntity -> Filtered ClassEntity)
-> ClassEntity -> Filtered ClassEntity
forall a b. (a -> b) -> a -> b
$ ErrorMsg -> [Type] -> Type -> ClassEntity
forall name p.
(IsFnName ErrorMsg name, IsParameter p) =>
name -> [p] -> Type -> ClassEntity
mkMethod ErrorMsg
"prepend" [Type
t] Type
voidT
, ClassEntity -> Filtered ClassEntity
forall a. a -> Maybe a
just (ClassEntity -> Filtered ClassEntity)
-> ClassEntity -> Filtered ClassEntity
forall a b. (a -> b) -> a -> b
$ ErrorMsg -> [Type] -> Type -> ClassEntity
forall name p.
(IsFnName ErrorMsg name, IsParameter p) =>
name -> [p] -> Type -> ClassEntity
mkMethod ErrorMsg
"removeAll" [Type
t] Type
intT
, ClassEntity -> Filtered ClassEntity
forall a. a -> Maybe a
just (ClassEntity -> Filtered ClassEntity)
-> ClassEntity -> Filtered ClassEntity
forall a b. (a -> b) -> a -> b
$ ErrorMsg -> [Type] -> Type -> ClassEntity
forall name p.
(IsFnName ErrorMsg name, IsParameter p) =>
name -> [p] -> Type -> ClassEntity
mkMethod ErrorMsg
"removeAt" [Type
intT] Type
voidT
, ClassEntity -> Filtered ClassEntity
forall a. a -> Maybe a
just (ClassEntity -> Filtered ClassEntity)
-> ClassEntity -> Filtered ClassEntity
forall a b. (a -> b) -> a -> b
$ ErrorMsg -> [Parameter] -> Type -> ClassEntity
forall name p.
(IsFnName ErrorMsg name, IsParameter p) =>
name -> [p] -> Type -> ClassEntity
mkMethod ErrorMsg
"removeFirst" [Parameter]
np Type
voidT
, ClassEntity -> Filtered ClassEntity
forall a. a -> Maybe a
just (ClassEntity -> Filtered ClassEntity)
-> ClassEntity -> Filtered ClassEntity
forall a b. (a -> b) -> a -> b
$ ErrorMsg -> [Parameter] -> Type -> ClassEntity
forall name p.
(IsFnName ErrorMsg name, IsParameter p) =>
name -> [p] -> Type -> ClassEntity
mkMethod ErrorMsg
"removeLast" [Parameter]
np Type
voidT
, Bool -> ClassEntity -> Filtered ClassEntity
forall a. Bool -> a -> Filtered a
test (Version
qtVersion Version -> Version -> Bool
forall a. Ord a => a -> a -> Bool
>= [Int
4, Int
4]) (ClassEntity -> Filtered ClassEntity)
-> ClassEntity -> Filtered ClassEntity
forall a b. (a -> b) -> a -> b
$ ErrorMsg -> [Type] -> Type -> ClassEntity
forall name p.
(IsFnName ErrorMsg name, IsParameter p) =>
name -> [p] -> Type -> ClassEntity
mkMethod ErrorMsg
"removeOne" [Type
t] Type
boolT
, ClassEntity -> Filtered ClassEntity
forall a. a -> Maybe a
just (ClassEntity -> Filtered ClassEntity)
-> ClassEntity -> Filtered ClassEntity
forall a b. (a -> b) -> a -> b
$ ErrorMsg -> [Type] -> Type -> ClassEntity
forall name p.
(IsFnName ErrorMsg name, IsParameter p) =>
name -> [p] -> Type -> ClassEntity
mkMethod ErrorMsg
"replace" [Type
intT, Type
t] Type
voidT
, Bool -> ClassEntity -> Filtered ClassEntity
forall a. Bool -> a -> Filtered a
test Bool
hasReserve (ClassEntity -> Filtered ClassEntity)
-> ClassEntity -> Filtered ClassEntity
forall a b. (a -> b) -> a -> b
$ ErrorMsg -> [Type] -> Type -> ClassEntity
forall name p.
(IsFnName ErrorMsg name, IsParameter p) =>
name -> [p] -> Type -> ClassEntity
mkMethod ErrorMsg
"reserve" [Type
intT] Type
voidT
, ClassEntity -> Filtered ClassEntity
forall a. a -> Maybe a
just (ClassEntity -> Filtered ClassEntity)
-> ClassEntity -> Filtered ClassEntity
forall a b. (a -> b) -> a -> b
$ ErrorMsg -> [Parameter] -> Type -> ClassEntity
forall name p.
(IsFnName ErrorMsg name, IsParameter p) =>
name -> [p] -> Type -> ClassEntity
mkConstMethod ErrorMsg
"size" [Parameter]
np Type
intT
, Bool -> ClassEntity -> Filtered ClassEntity
forall a. Bool -> a -> Filtered a
test (Version
qtVersion Version -> Version -> Bool
forall a. Ord a => a -> a -> Bool
>= [Int
4, Int
5]) (ClassEntity -> Filtered ClassEntity)
-> ClassEntity -> Filtered ClassEntity
forall a b. (a -> b) -> a -> b
$ ErrorMsg -> [Type] -> Type -> ClassEntity
forall name p.
(IsFnName ErrorMsg name, IsParameter p) =>
name -> [p] -> Type -> ClassEntity
mkConstMethod ErrorMsg
"startsWith" [Type
t] Type
boolT
, Bool -> ClassEntity -> Filtered ClassEntity
forall a. Bool -> a -> Filtered a
test (Version
qtVersion Version -> Version -> Bool
forall a. Ord a => a -> a -> Bool
< [Int
6]) (ClassEntity -> Filtered ClassEntity)
-> ClassEntity -> Filtered ClassEntity
forall a b. (a -> b) -> a -> b
$ ErrorMsg -> [Type] -> Type -> ClassEntity
forall name p.
(IsFnName ErrorMsg name, IsParameter p) =>
name -> [p] -> Type -> ClassEntity
mkMethod ErrorMsg
"swap" [Type
intT, Type
intT] Type
voidT
, ClassEntity -> Filtered ClassEntity
forall a. a -> Maybe a
just (ClassEntity -> Filtered ClassEntity)
-> ClassEntity -> Filtered ClassEntity
forall a b. (a -> b) -> a -> b
$ ErrorMsg -> [Type] -> Type -> ClassEntity
forall name p.
(IsFnName ErrorMsg name, IsParameter p) =>
name -> [p] -> Type -> ClassEntity
mkMethod ErrorMsg
"takeAt" [Type
intT] Type
t
, ClassEntity -> Filtered ClassEntity
forall a. a -> Maybe a
just (ClassEntity -> Filtered ClassEntity)
-> ClassEntity -> Filtered ClassEntity
forall a b. (a -> b) -> a -> b
$ ErrorMsg -> [Parameter] -> Type -> ClassEntity
forall name p.
(IsFnName ErrorMsg name, IsParameter p) =>
name -> [p] -> Type -> ClassEntity
mkMethod ErrorMsg
"takeFirst" [Parameter]
np Type
t
, ClassEntity -> Filtered ClassEntity
forall a. a -> Maybe a
just (ClassEntity -> Filtered ClassEntity)
-> ClassEntity -> Filtered ClassEntity
forall a b. (a -> b) -> a -> b
$ ErrorMsg -> [Parameter] -> Type -> ClassEntity
forall name p.
(IsFnName ErrorMsg name, IsParameter p) =>
name -> [p] -> Type -> ClassEntity
mkMethod ErrorMsg
"takeLast" [Parameter]
np Type
t
, ClassEntity -> Filtered ClassEntity
forall a. a -> Maybe a
just (ClassEntity -> Filtered ClassEntity)
-> ClassEntity -> Filtered ClassEntity
forall a b. (a -> b) -> a -> b
$ ErrorMsg -> ErrorMsg -> [Type] -> Type -> ClassEntity
forall name p.
(IsFnName ErrorMsg name, IsParameter p) =>
name -> ErrorMsg -> [p] -> Type -> ClassEntity
mkConstMethod' ErrorMsg
"value" ErrorMsg
"value" [Type
intT] Type
t
, ClassEntity -> Filtered ClassEntity
forall a. a -> Maybe a
just (ClassEntity -> Filtered ClassEntity)
-> ClassEntity -> Filtered ClassEntity
forall a b. (a -> b) -> a -> b
$ ErrorMsg -> ErrorMsg -> [Type] -> Type -> ClassEntity
forall name p.
(IsFnName ErrorMsg name, IsParameter p) =>
name -> ErrorMsg -> [p] -> Type -> ClassEntity
mkConstMethod' ErrorMsg
"value" ErrorMsg
"valueOr" [Type
intT, Type
t] Type
t
, ClassEntity -> Filtered ClassEntity
forall a. a -> Maybe a
just (ClassEntity -> Filtered ClassEntity)
-> ClassEntity -> Filtered ClassEntity
forall a b. (a -> b) -> a -> b
$ Operator -> [Type] -> Type -> ClassEntity
forall name p.
(IsFnName ErrorMsg name, IsParameter p) =>
name -> [p] -> Type -> ClassEntity
mkConstMethod Operator
OpAdd [Class -> Type
objT Class
list] (Type -> ClassEntity) -> Type -> ClassEntity
forall a b. (a -> b) -> a -> b
$ Type -> Type
toGcT (Type -> Type) -> Type -> Type
forall a b. (a -> b) -> a -> b
$ Class -> Type
objT Class
list
]
addendum :: Generator ()
addendum = do
HsImportSet -> Generator ()
addImports (HsImportSet -> Generator ()) -> HsImportSet -> Generator ()
forall a b. (a -> b) -> a -> b
$ [HsImportSet] -> HsImportSet
forall a. Monoid a => [a] -> a
mconcat [ErrorMsg -> ErrorMsg -> HsImportSet
hsImport1 ErrorMsg
"Prelude" ErrorMsg
"(-)",
ErrorMsg -> ErrorMsg -> HsImportSet
hsImport1 ErrorMsg
"Control.Monad" ErrorMsg
"(<=<)",
HsImportSet
importForPrelude,
HsImportSet
importForRuntime]
Bool -> Generator () -> Generator ()
forall (f :: * -> *). Applicative f => Bool -> f () -> f ()
when Bool
hasReserve (Generator () -> Generator ()) -> Generator () -> Generator ()
forall a b. (a -> b) -> a -> b
$
HsImportSet -> Generator ()
addImports (HsImportSet -> Generator ()) -> HsImportSet -> Generator ()
forall a b. (a -> b) -> a -> b
$ ErrorMsg -> ErrorMsg -> HsImportSet
hsImport1 ErrorMsg
"Prelude" ErrorMsg
"($)"
[Constness] -> (Constness -> Generator ()) -> Generator ()
forall (t :: * -> *) (m :: * -> *) a b.
(Foldable t, Monad m) =>
t a -> (a -> m b) -> m ()
forM_ [Constness
Const, Constness
Nonconst] ((Constness -> Generator ()) -> Generator ())
-> (Constness -> Generator ()) -> Generator ()
forall a b. (a -> b) -> a -> b
$ \Constness
cst -> do
ErrorMsg
hsDataTypeName <- Constness -> Class -> Generator ErrorMsg
toHsDataTypeName Constness
cst Class
list
HsType
hsValueType <- HsTypeSide -> Type -> Generator HsType
cppTypeToHsTypeAndUse HsTypeSide
HsHsSide (Type -> Generator HsType) -> Type -> Generator HsType
forall a b. (a -> b) -> a -> b
$ case Constness
cst of
Constness
Const -> Type -> Type
constT Type
t
Constness
Nonconst -> Type
t
Generator ()
ln
[ErrorMsg] -> Generator ()
saysLn [ErrorMsg
"instance QtahFHR.HasContents ", ErrorMsg
hsDataTypeName,
ErrorMsg
" (", HsType -> ErrorMsg
forall a. Pretty a => a -> ErrorMsg
prettyPrint HsType
hsValueType, ErrorMsg
") where"]
Generator () -> Generator ()
forall a. Generator a -> Generator a
indent (Generator () -> Generator ()) -> Generator () -> Generator ()
forall a b. (a -> b) -> a -> b
$ do
ErrorMsg -> Generator ()
sayLn ErrorMsg
"toContents this' = do"
Generator () -> Generator ()
forall a. Generator a -> Generator a
indent (Generator () -> Generator ()) -> Generator () -> Generator ()
forall a b. (a -> b) -> a -> b
$ do
let listAt :: ErrorMsg
listAt = case Constness
cst of
Constness
Const -> ErrorMsg
"atConst"
Constness
Nonconst -> ErrorMsg
"at"
[ErrorMsg] -> Generator ()
saysLn [ErrorMsg
"size' <- ", Class -> ErrorMsg -> ErrorMsg
forall name. IsFnName ErrorMsg name => Class -> name -> ErrorMsg
toHsClassEntityName' Class
list ErrorMsg
"size", ErrorMsg
" this'"]
[ErrorMsg] -> Generator ()
saysLn [ErrorMsg
"QtahP.mapM (QtahFHR.decode <=< ",
Class -> ErrorMsg -> ErrorMsg
forall name. IsFnName ErrorMsg name => Class -> name -> ErrorMsg
toHsClassEntityName' Class
list ErrorMsg
listAt, ErrorMsg
" this') [0..size'-1]"]
Bool -> Generator () -> Generator ()
forall (f :: * -> *). Applicative f => Bool -> f () -> f ()
when (Constness
cst Constness -> Constness -> Bool
forall a. Eq a => a -> a -> Bool
== Constness
Nonconst) (Generator () -> Generator ()) -> Generator () -> Generator ()
forall a b. (a -> b) -> a -> b
$ do
Generator ()
ln
[ErrorMsg] -> Generator ()
saysLn [ErrorMsg
"instance QtahFHR.FromContents ", ErrorMsg
hsDataTypeName,
ErrorMsg
" (", HsType -> ErrorMsg
forall a. Pretty a => a -> ErrorMsg
prettyPrint HsType
hsValueType, ErrorMsg
") where"]
Generator () -> Generator ()
forall a. Generator a -> Generator a
indent (Generator () -> Generator ()) -> Generator () -> Generator ()
forall a b. (a -> b) -> a -> b
$ do
ErrorMsg -> Generator ()
sayLn ErrorMsg
"fromContents values' = do"
Generator () -> Generator ()
forall a. Generator a -> Generator a
indent (Generator () -> Generator ()) -> Generator () -> Generator ()
forall a b. (a -> b) -> a -> b
$ do
[ErrorMsg] -> Generator ()
saysLn [ErrorMsg
"list' <- ", Class -> ErrorMsg -> ErrorMsg
forall name. IsFnName ErrorMsg name => Class -> name -> ErrorMsg
toHsClassEntityName' Class
list ErrorMsg
"new"]
Bool -> Generator () -> Generator ()
forall (f :: * -> *). Applicative f => Bool -> f () -> f ()
when Bool
hasReserve (Generator () -> Generator ()) -> Generator () -> Generator ()
forall a b. (a -> b) -> a -> b
$
[ErrorMsg] -> Generator ()
saysLn [Class -> ErrorMsg -> ErrorMsg
forall name. IsFnName ErrorMsg name => Class -> name -> ErrorMsg
toHsClassEntityName' Class
list ErrorMsg
"reserve",
ErrorMsg
" list' $ QtahFHR.coerceIntegral $ QtahP.length values'"]
[ErrorMsg] -> Generator ()
saysLn [ErrorMsg
"QtahP.mapM_ (", Class -> ErrorMsg -> ErrorMsg
forall name. IsFnName ErrorMsg name => Class -> name -> ErrorMsg
toHsClassEntityName' Class
list ErrorMsg
"append", ErrorMsg
" list') values'"]
ErrorMsg -> Generator ()
sayLn ErrorMsg
"QtahP.return list'"
conversion :: ClassHaskellConversion
conversion =
ClassHaskellConversion
{ classHaskellConversionType :: Maybe (Generator HsType)
classHaskellConversionType =
Generator HsType -> Maybe (Generator HsType)
forall a. a -> Maybe a
Just (Generator HsType -> Maybe (Generator HsType))
-> Generator HsType -> Maybe (Generator HsType)
forall a b. (a -> b) -> a -> b
$ HsType -> HsType -> HsType
HsTyApp (HsQName -> HsType
HsTyCon (HsQName -> HsType) -> HsQName -> HsType
forall a b. (a -> b) -> a -> b
$ HsSpecialCon -> HsQName
Special HsSpecialCon
HsListCon) (HsType -> HsType) -> Generator HsType -> Generator HsType
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> HsTypeSide -> Type -> Generator HsType
cppTypeToHsTypeAndUse HsTypeSide
HsHsSide Type
t
, classHaskellConversionToCppFn :: Maybe (Generator ())
classHaskellConversionToCppFn = Generator () -> Maybe (Generator ())
forall a. a -> Maybe a
Just (Generator () -> Maybe (Generator ()))
-> Generator () -> Maybe (Generator ())
forall a b. (a -> b) -> a -> b
$ do
HsImportSet -> Generator ()
addImports HsImportSet
importForRuntime
ErrorMsg -> Generator ()
sayLn ErrorMsg
"QtahFHR.fromContents"
, classHaskellConversionFromCppFn :: Maybe (Generator ())
classHaskellConversionFromCppFn = Generator () -> Maybe (Generator ())
forall a. a -> Maybe a
Just (Generator () -> Maybe (Generator ()))
-> Generator () -> Maybe (Generator ())
forall a b. (a -> b) -> a -> b
$ do
HsImportSet -> Generator ()
addImports HsImportSet
importForRuntime
ErrorMsg -> Generator ()
sayLn ErrorMsg
"QtahFHR.toContents"
}
in Contents
{ c_QList :: Class
c_QList = Class
list
}
inheritHasContents :: Class -> Class -> Type -> Generator ()
inheritHasContents :: Class -> Class -> Type -> Generator ()
inheritHasContents Class
cls Class
listClass Type
t =
[Constness] -> (Constness -> Generator ()) -> Generator ()
forall (t :: * -> *) (m :: * -> *) a b.
(Foldable t, Monad m) =>
t a -> (a -> m b) -> m ()
forM_ [Constness
Const, Constness
Nonconst] ((Constness -> Generator ()) -> Generator ())
-> (Constness -> Generator ()) -> Generator ()
forall a b. (a -> b) -> a -> b
$ \Constness
cst -> do
ErrorMsg
hsDataTypeName <- Constness -> Class -> Generator ErrorMsg
toHsDataTypeName Constness
cst Class
cls
HsType
hsValueType <- HsTypeSide -> Type -> Generator HsType
cppTypeToHsTypeAndUse HsTypeSide
HsHsSide (Type -> Generator HsType) -> Type -> Generator HsType
forall a b. (a -> b) -> a -> b
$ case Constness
cst of
Constness
Const -> Type -> Type
constT Type
t
Constness
Nonconst -> Type
t
ErrorMsg
castToListFn <- Constness -> Class -> Generator ErrorMsg
toHsCastMethodName Constness
cst Class
listClass
HsImportSet -> Generator ()
addImports HsImportSet
importForRuntime
[ErrorMsg] -> Generator ()
saysLn [ErrorMsg
"instance QtahFHR.HasContents ", ErrorMsg
hsDataTypeName,
ErrorMsg
" (", HsType -> ErrorMsg
forall a. Pretty a => a -> ErrorMsg
prettyPrint HsType
hsValueType, ErrorMsg
") where"]
Generator () -> Generator ()
forall a. Generator a -> Generator a
indent (Generator () -> Generator ()) -> Generator () -> Generator ()
forall a b. (a -> b) -> a -> b
$ [ErrorMsg] -> Generator ()
saysLn [ErrorMsg
"toContents = QtahFHR.toContents . ", ErrorMsg
castToListFn]
toExports :: Contents -> [QtExport]
toExports :: Contents -> [QtExport]
toExports Contents
m = [Class -> QtExport
forall a. Exportable a => a -> QtExport
qtExport (Class -> QtExport) -> Class -> QtExport
forall a b. (a -> b) -> a -> b
$ Contents -> Class
c_QList Contents
m]
createModule :: String -> Contents -> QtModule
createModule :: ErrorMsg -> Contents -> QtModule
createModule ErrorMsg
name Contents
contents = [ErrorMsg] -> [QtExport] -> QtModule
makeQtModule [ErrorMsg
"Core", ErrorMsg
"QList", ErrorMsg
name] ([QtExport] -> QtModule) -> [QtExport] -> QtModule
forall a b. (a -> b) -> a -> b
$ Contents -> [QtExport]
toExports Contents
contents
allModules :: [AModule]
allModules :: [AModule]
allModules =
(QtModule -> AModule) -> [QtModule] -> [AModule]
forall a b. (a -> b) -> [a] -> [b]
map QtModule -> AModule
AQtModule
[ QtModule
qmod_Int
, QtModule
qmod_QAbstractButton
, QtModule
qmod_QByteArray
, QtModule
qmod_QItemSelectionRange
, QtModule
qmod_QModelIndex
, QtModule
qmod_QObject
, QtModule
qmod_QSize
, QtModule
qmod_QString
, QtModule
qmod_QUrl
, QtModule
qmod_QVariant
, QtModule
qmod_QWidget
, QtModule
qmod_QTreeWidgetItem
]
qmod_Int :: QtModule
qmod_Int :: QtModule
qmod_Int = ErrorMsg -> Contents -> QtModule
createModule ErrorMsg
"Int" Contents
contents_Int
contents_Int :: Contents
contents_Int :: Contents
contents_Int =
ErrorMsg -> Type -> Reqs -> Contents
instantiate ErrorMsg
"QListInt" Type
intT Reqs
forall a. Monoid a => a
mempty
c_QListInt :: Class
c_QListInt :: Class
c_QListInt = Contents -> Class
c_QList Contents
contents_Int
qmod_QAbstractButton :: QtModule
qmod_QAbstractButton :: QtModule
qmod_QAbstractButton = ErrorMsg -> Contents -> QtModule
createModule ErrorMsg
"QAbstractButton" Contents
contents_QAbstractButton
contents_QAbstractButton :: Contents
contents_QAbstractButton :: Contents
contents_QAbstractButton = ErrorMsg -> Type -> Reqs -> Contents
instantiate ErrorMsg
"QListQAbstractButton" (Type -> Type
ptrT (Type -> Type) -> Type -> Type
forall a b. (a -> b) -> a -> b
$ Class -> Type
objT Class
c_QAbstractButton) Reqs
forall a. Monoid a => a
mempty
c_QListQAbstractButton :: Class
c_QListQAbstractButton :: Class
c_QListQAbstractButton = Contents -> Class
c_QList Contents
contents_QAbstractButton
qmod_QByteArray :: QtModule
qmod_QByteArray :: QtModule
qmod_QByteArray = ErrorMsg -> Contents -> QtModule
createModule ErrorMsg
"QByteArray" Contents
contents_QByteArray
contents_QByteArray :: Contents
contents_QByteArray :: Contents
contents_QByteArray = ErrorMsg -> Type -> Reqs -> Contents
instantiate ErrorMsg
"QListQByteArray" (Class -> Type
objT Class
c_QByteArray) Reqs
forall a. Monoid a => a
mempty
c_QListQByteArray :: Class
c_QListQByteArray :: Class
c_QListQByteArray = Contents -> Class
c_QList Contents
contents_QByteArray
qmod_QItemSelectionRange :: QtModule
qmod_QItemSelectionRange :: QtModule
qmod_QItemSelectionRange = ErrorMsg -> Contents -> QtModule
createModule ErrorMsg
"QItemSelectionRange" Contents
contents_QItemSelectionRange
contents_QItemSelectionRange :: Contents
contents_QItemSelectionRange :: Contents
contents_QItemSelectionRange =
ErrorMsg -> Type -> Reqs -> Contents
instantiate ErrorMsg
"QListQItemSelectionRange" (Class -> Type
objT Class
c_QItemSelectionRange) Reqs
forall a. Monoid a => a
mempty
c_QListQItemSelectionRange :: Class
c_QListQItemSelectionRange :: Class
c_QListQItemSelectionRange = Contents -> Class
c_QList Contents
contents_QItemSelectionRange
qmod_QModelIndex :: QtModule
qmod_QModelIndex :: QtModule
qmod_QModelIndex = ErrorMsg -> Contents -> QtModule
createModule ErrorMsg
"QModelIndex" Contents
contents_QModelIndex
contents_QModelIndex :: Contents
contents_QModelIndex :: Contents
contents_QModelIndex = ErrorMsg -> Type -> Reqs -> Contents
instantiate ErrorMsg
"QListQModelIndex" (Class -> Type
objT Class
c_QModelIndex) Reqs
forall a. Monoid a => a
mempty
c_QListQModelIndex :: Class
c_QListQModelIndex :: Class
c_QListQModelIndex = Contents -> Class
c_QList Contents
contents_QModelIndex
qmod_QObject :: QtModule
qmod_QObject :: QtModule
qmod_QObject = ErrorMsg -> Contents -> QtModule
createModule ErrorMsg
"QObject" Contents
contents_QObject
contents_QObject :: Contents
contents_QObject :: Contents
contents_QObject = ErrorMsg -> Type -> Reqs -> Contents
instantiate ErrorMsg
"QListQObject" (Type -> Type
ptrT (Type -> Type) -> Type -> Type
forall a b. (a -> b) -> a -> b
$ Class -> Type
objT Class
c_QObject) Reqs
forall a. Monoid a => a
mempty
c_QListQObject :: Class
c_QListQObject :: Class
c_QListQObject = Contents -> Class
c_QList Contents
contents_QObject
qmod_QSize :: QtModule
qmod_QSize :: QtModule
qmod_QSize = ErrorMsg -> Contents -> QtModule
createModule ErrorMsg
"QSize" Contents
contents_QSize
contents_QSize :: Contents
contents_QSize :: Contents
contents_QSize = ErrorMsg -> Type -> Reqs -> Contents
instantiate ErrorMsg
"QListQSize" (Class -> Type
objT Class
c_QSize) Reqs
forall a. Monoid a => a
mempty
c_QListQSize :: Class
c_QListQSize :: Class
c_QListQSize = Contents -> Class
c_QList Contents
contents_QSize
qmod_QString :: QtModule
qmod_QString :: QtModule
qmod_QString = ErrorMsg -> Contents -> QtModule
createModule ErrorMsg
"QString" Contents
contents_QString
contents_QString :: Contents
contents_QString :: Contents
contents_QString = ErrorMsg -> Type -> Reqs -> Contents
instantiate ErrorMsg
"QListQString" (Class -> Type
objT Class
c_QString) Reqs
forall a. Monoid a => a
mempty
c_QListQString :: Class
c_QListQString :: Class
c_QListQString = Contents -> Class
c_QList Contents
contents_QString
qmod_QUrl :: QtModule
qmod_QUrl :: QtModule
qmod_QUrl = ErrorMsg -> Contents -> QtModule
createModule ErrorMsg
"QUrl" Contents
contents_QUrl
contents_QUrl :: Contents
contents_QUrl :: Contents
contents_QUrl = ErrorMsg -> Type -> Reqs -> Contents
instantiate ErrorMsg
"QListQUrl" (Class -> Type
objT Class
c_QUrl) Reqs
forall a. Monoid a => a
mempty
c_QListQUrl :: Class
c_QListQUrl :: Class
c_QListQUrl = Contents -> Class
c_QList Contents
contents_QUrl
qmod_QVariant :: QtModule
qmod_QVariant :: QtModule
qmod_QVariant = ErrorMsg -> Contents -> QtModule
createModule ErrorMsg
"QVariant" Contents
contents_QVariant
contents_QVariant :: Contents
contents_QVariant :: Contents
contents_QVariant = ErrorMsg -> Type -> Reqs -> Contents
instantiate ErrorMsg
"QListQVariant" (Class -> Type
objT Class
c_QVariant) Reqs
forall a. Monoid a => a
mempty
c_QListQVariant :: Class
c_QListQVariant :: Class
c_QListQVariant = Contents -> Class
c_QList Contents
contents_QVariant
qmod_QWidget :: QtModule
qmod_QWidget :: QtModule
qmod_QWidget = ErrorMsg -> Contents -> QtModule
createModule ErrorMsg
"QWidget" Contents
contents_QWidget
contents_QWidget :: Contents
contents_QWidget :: Contents
contents_QWidget = ErrorMsg -> Type -> Reqs -> Contents
instantiate ErrorMsg
"QListQWidget" (Type -> Type
ptrT (Type -> Type) -> Type -> Type
forall a b. (a -> b) -> a -> b
$ Class -> Type
objT Class
c_QWidget) Reqs
forall a. Monoid a => a
mempty
c_QListQWidget :: Class
c_QListQWidget :: Class
c_QListQWidget = Contents -> Class
c_QList Contents
contents_QWidget
qmod_QTreeWidgetItem :: QtModule
qmod_QTreeWidgetItem :: QtModule
qmod_QTreeWidgetItem = ErrorMsg -> Contents -> QtModule
createModule ErrorMsg
"QTreeWidgetItem" Contents
contents_QTreeWidgetItem
contents_QTreeWidgetItem :: Contents
contents_QTreeWidgetItem :: Contents
contents_QTreeWidgetItem = ErrorMsg -> Type -> Reqs -> Contents
instantiate ErrorMsg
"QListQTreeWidgetItem" (Type -> Type
ptrT (Type -> Type) -> Type -> Type
forall a b. (a -> b) -> a -> b
$ Class -> Type
objT Class
c_QTreeWidgetItem) Reqs
forall a. Monoid a => a
mempty
c_QListQTreeWidgetItem :: Class
c_QListQTreeWidgetItem :: Class
c_QListQTreeWidgetItem = Contents -> Class
c_QList Contents
contents_QTreeWidgetItem