qtah-qt5-0.8.0: src/Graphics/UI/Qtah/Generated/Core/QModelIndex.hs
{-# LANGUAGE FlexibleContexts, FlexibleInstances, ForeignFunctionInterface, MonoLocalBinds, MultiParamTypeClasses, ScopedTypeVariables, TypeSynonymInstances, UndecidableInstances #-}
---------- GENERATED FILE, EDITS WILL BE LOST ----------
module Graphics.UI.Qtah.Generated.Core.QModelIndex (
QModelIndexValue (..),
QModelIndexConstPtr (..),
child,
column,
getData,
getDataWithRole,
flags,
isValid,
model,
parent,
row,
sibling,
eQ,
nE,
QModelIndexPtr (..),
aSSIGN,
QModelIndexConst (..),
castQModelIndexToConst,
QModelIndex (..),
castQModelIndexToNonconst,
new,
newCopy,
QModelIndexSuper (..),
QModelIndexSuperConst (..),
) where
import Control.Monad ((>=>))
import qualified Foreign as HoppyF
import qualified Foreign.C as HoppyFC
import qualified Foreign.Hoppy.Runtime as HoppyFHR
import qualified Graphics.UI.Qtah.Flags as QtahFlags
import {-# SOURCE #-} qualified Graphics.UI.Qtah.Generated.Core.QAbstractItemModel as M4
import qualified Graphics.UI.Qtah.Generated.Core.QVariant as M168
import qualified Graphics.UI.Qtah.Generated.Core.Types as M190
import Prelude (($), (.), (/=), (=<<), (==), (>>), (>>=))
import qualified Prelude as HoppyP
import qualified Prelude as QtahP
foreign import ccall "genpop__QModelIndex_new" new' :: HoppyP.IO (HoppyF.Ptr QModelIndex)
foreign import ccall "genpop__QModelIndex_newCopy" newCopy' :: HoppyF.Ptr QModelIndexConst -> HoppyP.IO (HoppyF.Ptr QModelIndex)
foreign import ccall "genpop__QModelIndex_child" child' :: HoppyF.Ptr QModelIndexConst -> HoppyFC.CInt -> HoppyFC.CInt -> HoppyP.IO (HoppyF.Ptr QModelIndexConst)
foreign import ccall "genpop__QModelIndex_column" column' :: HoppyF.Ptr QModelIndexConst -> HoppyP.IO HoppyFC.CInt
foreign import ccall "genpop__QModelIndex_getData" getData' :: HoppyF.Ptr QModelIndexConst -> HoppyP.IO (HoppyF.Ptr M168.QVariantConst)
foreign import ccall "genpop__QModelIndex_getDataWithRole" getDataWithRole' :: HoppyF.Ptr QModelIndexConst -> HoppyFC.CInt -> HoppyP.IO (HoppyF.Ptr M168.QVariantConst)
foreign import ccall "genpop__QModelIndex_flags" flags' :: HoppyF.Ptr QModelIndexConst -> HoppyP.IO HoppyFC.CInt
foreign import ccall "genpop__QModelIndex_isValid" isValid' :: HoppyF.Ptr QModelIndexConst -> HoppyP.IO HoppyFC.CBool
foreign import ccall "genpop__QModelIndex_model" model' :: HoppyF.Ptr QModelIndexConst -> HoppyP.IO (HoppyF.Ptr M4.QAbstractItemModelConst)
foreign import ccall "genpop__QModelIndex_parent" parent' :: HoppyF.Ptr QModelIndexConst -> HoppyP.IO (HoppyF.Ptr QModelIndexConst)
foreign import ccall "genpop__QModelIndex_row" row' :: HoppyF.Ptr QModelIndexConst -> HoppyP.IO HoppyFC.CInt
foreign import ccall "genpop__QModelIndex_sibling" sibling' :: HoppyF.Ptr QModelIndexConst -> HoppyFC.CInt -> HoppyFC.CInt -> HoppyP.IO (HoppyF.Ptr QModelIndexConst)
foreign import ccall "genpop__QModelIndex_EQ" eQ' :: HoppyF.Ptr QModelIndexConst -> HoppyF.Ptr QModelIndexConst -> HoppyP.IO HoppyFC.CBool
foreign import ccall "genpop__QModelIndex_NE" nE' :: HoppyF.Ptr QModelIndexConst -> HoppyF.Ptr QModelIndexConst -> HoppyP.IO HoppyFC.CBool
foreign import ccall "genpop__QModelIndex_ASSIGN" aSSIGN' :: HoppyF.Ptr QModelIndex -> HoppyF.Ptr QModelIndexConst -> HoppyP.IO (HoppyF.Ptr QModelIndex)
foreign import ccall "gendel__QModelIndex" delete'QModelIndex :: HoppyF.Ptr QModelIndexConst -> HoppyP.IO ()
foreign import ccall "&gendel__QModelIndex" deletePtr'QModelIndex :: HoppyF.FunPtr (HoppyF.Ptr QModelIndexConst -> HoppyP.IO ())
class QModelIndexValue a where
withQModelIndexPtr :: a -> (QModelIndexConst -> HoppyP.IO b) -> HoppyP.IO b
instance {-# OVERLAPPABLE #-} QModelIndexConstPtr a => QModelIndexValue a where
withQModelIndexPtr = HoppyP.flip ($) . toQModelIndexConst
class (HoppyFHR.CppPtr this) => QModelIndexConstPtr this where
toQModelIndexConst :: this -> QModelIndexConst
child :: (QModelIndexValue this) => (this) {- ^ this -} -> (HoppyP.Int) -> (HoppyP.Int) -> (HoppyP.IO QModelIndex)
child arg'1 arg'2 arg'3 =
withQModelIndexPtr arg'1 $ HoppyP.flip HoppyFHR.withCppPtr $ \arg'1' ->
(
HoppyP.return . HoppyFHR.coerceIntegral
) arg'2 >>= \arg'2' ->
(
HoppyP.return . HoppyFHR.coerceIntegral
) arg'3 >>= \arg'3' ->
(HoppyFHR.decodeAndDelete . QModelIndexConst) =<<
(child' arg'1' arg'2' arg'3')
column :: (QModelIndexValue this) => (this) {- ^ this -} -> (HoppyP.IO HoppyP.Int)
column arg'1 =
withQModelIndexPtr arg'1 $ HoppyP.flip HoppyFHR.withCppPtr $ \arg'1' ->
(
HoppyP.return . HoppyFHR.coerceIntegral
) =<<
(column' arg'1')
getData :: (QModelIndexValue this) => (this) {- ^ this -} -> (HoppyP.IO M168.QVariant)
getData arg'1 =
withQModelIndexPtr arg'1 $ HoppyP.flip HoppyFHR.withCppPtr $ \arg'1' ->
(HoppyFHR.decodeAndDelete . M168.QVariantConst) =<<
(getData' arg'1')
getDataWithRole :: (QModelIndexValue this) => (this) {- ^ this -} -> (M190.QtItemDataRole) -> (HoppyP.IO M168.QVariant)
getDataWithRole arg'1 arg'2 =
withQModelIndexPtr arg'1 $ HoppyP.flip HoppyFHR.withCppPtr $ \arg'1' ->
(
HoppyP.return . HoppyFHR.fromCppEnum
) arg'2 >>= \arg'2' ->
(HoppyFHR.decodeAndDelete . M168.QVariantConst) =<<
(getDataWithRole' arg'1' arg'2')
flags :: (QModelIndexValue this) => (this) {- ^ this -} -> (HoppyP.IO M190.QtItemFlags)
flags arg'1 =
withQModelIndexPtr arg'1 $ HoppyP.flip HoppyFHR.withCppPtr $ \arg'1' ->
(
QtahP.return . QtahFlags.numToFlags
) =<<
(flags' arg'1')
isValid :: (QModelIndexValue this) => (this) {- ^ this -} -> (HoppyP.IO HoppyP.Bool)
isValid arg'1 =
withQModelIndexPtr arg'1 $ HoppyP.flip HoppyFHR.withCppPtr $ \arg'1' ->
(
(HoppyP.return . (/= 0))
) =<<
(isValid' arg'1')
model :: (QModelIndexValue this) => (this) {- ^ this -} -> (HoppyP.IO M4.QAbstractItemModelConst)
model arg'1 =
withQModelIndexPtr arg'1 $ HoppyP.flip HoppyFHR.withCppPtr $ \arg'1' ->
HoppyP.fmap M4.QAbstractItemModelConst
(model' arg'1')
parent :: (QModelIndexValue this) => (this) {- ^ this -} -> (HoppyP.IO QModelIndex)
parent arg'1 =
withQModelIndexPtr arg'1 $ HoppyP.flip HoppyFHR.withCppPtr $ \arg'1' ->
(HoppyFHR.decodeAndDelete . QModelIndexConst) =<<
(parent' arg'1')
row :: (QModelIndexValue this) => (this) {- ^ this -} -> (HoppyP.IO HoppyP.Int)
row arg'1 =
withQModelIndexPtr arg'1 $ HoppyP.flip HoppyFHR.withCppPtr $ \arg'1' ->
(
HoppyP.return . HoppyFHR.coerceIntegral
) =<<
(row' arg'1')
sibling :: (QModelIndexValue this) => (this) {- ^ this -} -> (HoppyP.Int) -> (HoppyP.Int) -> (HoppyP.IO QModelIndex)
sibling arg'1 arg'2 arg'3 =
withQModelIndexPtr arg'1 $ HoppyP.flip HoppyFHR.withCppPtr $ \arg'1' ->
(
HoppyP.return . HoppyFHR.coerceIntegral
) arg'2 >>= \arg'2' ->
(
HoppyP.return . HoppyFHR.coerceIntegral
) arg'3 >>= \arg'3' ->
(HoppyFHR.decodeAndDelete . QModelIndexConst) =<<
(sibling' arg'1' arg'2' arg'3')
eQ :: (QModelIndexValue this, QModelIndexValue arg'2) => (this) {- ^ this -} -> (arg'2) -> (HoppyP.IO HoppyP.Bool)
eQ arg'1 arg'2 =
withQModelIndexPtr arg'1 $ HoppyP.flip HoppyFHR.withCppPtr $ \arg'1' ->
withQModelIndexPtr arg'2 $ HoppyP.flip HoppyFHR.withCppPtr $ \arg'2' ->
(
(HoppyP.return . (/= 0))
) =<<
(eQ' arg'1' arg'2')
nE :: (QModelIndexValue this, QModelIndexValue arg'2) => (this) {- ^ this -} -> (arg'2) -> (HoppyP.IO HoppyP.Bool)
nE arg'1 arg'2 =
withQModelIndexPtr arg'1 $ HoppyP.flip HoppyFHR.withCppPtr $ \arg'1' ->
withQModelIndexPtr arg'2 $ HoppyP.flip HoppyFHR.withCppPtr $ \arg'2' ->
(
(HoppyP.return . (/= 0))
) =<<
(nE' arg'1' arg'2')
class (QModelIndexConstPtr this) => QModelIndexPtr this where
toQModelIndex :: this -> QModelIndex
aSSIGN :: (QModelIndexPtr this, QModelIndexValue arg'2) => (this) {- ^ this -} -> (arg'2) -> (HoppyP.IO QModelIndex)
aSSIGN arg'1 arg'2 =
HoppyFHR.withCppPtr (toQModelIndex arg'1) $ \arg'1' ->
withQModelIndexPtr arg'2 $ HoppyP.flip HoppyFHR.withCppPtr $ \arg'2' ->
HoppyP.fmap QModelIndex
(aSSIGN' arg'1' arg'2')
data QModelIndexConst =
QModelIndexConst (HoppyF.Ptr QModelIndexConst)
| QModelIndexConstGc (HoppyF.ForeignPtr ()) (HoppyF.Ptr QModelIndexConst)
deriving (HoppyP.Show)
instance HoppyP.Eq QModelIndexConst where
x == y = HoppyFHR.toPtr x == HoppyFHR.toPtr y
instance HoppyP.Ord QModelIndexConst where
compare x y = HoppyP.compare (HoppyFHR.toPtr x) (HoppyFHR.toPtr y)
castQModelIndexToConst :: QModelIndex -> QModelIndexConst
castQModelIndexToConst (QModelIndex ptr') = QModelIndexConst $ HoppyF.castPtr ptr'
castQModelIndexToConst (QModelIndexGc fptr' ptr') = QModelIndexConstGc fptr' $ HoppyF.castPtr ptr'
instance HoppyFHR.CppPtr QModelIndexConst where
nullptr = QModelIndexConst HoppyF.nullPtr
withCppPtr (QModelIndexConst ptr') f' = f' ptr'
withCppPtr (QModelIndexConstGc fptr' ptr') f' = HoppyF.withForeignPtr fptr' $ \_ -> f' ptr'
toPtr (QModelIndexConst ptr') = ptr'
toPtr (QModelIndexConstGc _ ptr') = ptr'
touchCppPtr (QModelIndexConst _) = HoppyP.return ()
touchCppPtr (QModelIndexConstGc fptr' _) = HoppyF.touchForeignPtr fptr'
instance HoppyFHR.Deletable QModelIndexConst where
delete (QModelIndexConst ptr') = delete'QModelIndex ptr'
delete (QModelIndexConstGc _ _) = HoppyP.fail $ HoppyP.concat ["Deletable.delete: Asked to delete a GC-managed ", "QModelIndexConst", " object."]
toGc this'@(QModelIndexConst ptr') = if ptr' == HoppyF.nullPtr then HoppyP.return this' else HoppyP.fmap (HoppyP.flip QModelIndexConstGc ptr') $ HoppyF.newForeignPtr (HoppyF.castFunPtr deletePtr'QModelIndex :: HoppyF.FunPtr (HoppyF.Ptr () -> HoppyP.IO ())) (HoppyF.castPtr ptr' :: HoppyF.Ptr ())
toGc this'@(QModelIndexConstGc {}) = HoppyP.return this'
instance HoppyFHR.Copyable QModelIndexConst QModelIndex where copy = newCopy
instance QModelIndexConstPtr QModelIndexConst where
toQModelIndexConst = HoppyP.id
data QModelIndex =
QModelIndex (HoppyF.Ptr QModelIndex)
| QModelIndexGc (HoppyF.ForeignPtr ()) (HoppyF.Ptr QModelIndex)
deriving (HoppyP.Show)
instance HoppyP.Eq QModelIndex where
x == y = HoppyFHR.toPtr x == HoppyFHR.toPtr y
instance HoppyP.Ord QModelIndex where
compare x y = HoppyP.compare (HoppyFHR.toPtr x) (HoppyFHR.toPtr y)
castQModelIndexToNonconst :: QModelIndexConst -> QModelIndex
castQModelIndexToNonconst (QModelIndexConst ptr') = QModelIndex $ HoppyF.castPtr ptr'
castQModelIndexToNonconst (QModelIndexConstGc fptr' ptr') = QModelIndexGc fptr' $ HoppyF.castPtr ptr'
instance HoppyFHR.CppPtr QModelIndex where
nullptr = QModelIndex HoppyF.nullPtr
withCppPtr (QModelIndex ptr') f' = f' ptr'
withCppPtr (QModelIndexGc fptr' ptr') f' = HoppyF.withForeignPtr fptr' $ \_ -> f' ptr'
toPtr (QModelIndex ptr') = ptr'
toPtr (QModelIndexGc _ ptr') = ptr'
touchCppPtr (QModelIndex _) = HoppyP.return ()
touchCppPtr (QModelIndexGc fptr' _) = HoppyF.touchForeignPtr fptr'
instance HoppyFHR.Deletable QModelIndex where
delete (QModelIndex ptr') = delete'QModelIndex $ (HoppyF.castPtr ptr' :: HoppyF.Ptr QModelIndexConst)
delete (QModelIndexGc _ _) = HoppyP.fail $ HoppyP.concat ["Deletable.delete: Asked to delete a GC-managed ", "QModelIndex", " object."]
toGc this'@(QModelIndex ptr') = if ptr' == HoppyF.nullPtr then HoppyP.return this' else HoppyP.fmap (HoppyP.flip QModelIndexGc ptr') $ HoppyF.newForeignPtr (HoppyF.castFunPtr deletePtr'QModelIndex :: HoppyF.FunPtr (HoppyF.Ptr () -> HoppyP.IO ())) (HoppyF.castPtr ptr' :: HoppyF.Ptr ())
toGc this'@(QModelIndexGc {}) = HoppyP.return this'
instance HoppyFHR.Copyable QModelIndex QModelIndex where copy = newCopy
instance QModelIndexConstPtr QModelIndex where
toQModelIndexConst (QModelIndex ptr') = QModelIndexConst $ (HoppyF.castPtr :: HoppyF.Ptr QModelIndex -> HoppyF.Ptr QModelIndexConst) ptr'
toQModelIndexConst (QModelIndexGc fptr' ptr') = QModelIndexConstGc fptr' $ (HoppyF.castPtr :: HoppyF.Ptr QModelIndex -> HoppyF.Ptr QModelIndexConst) ptr'
instance QModelIndexPtr QModelIndex where
toQModelIndex = HoppyP.id
new :: (HoppyP.IO QModelIndex)
new =
HoppyP.fmap QModelIndex
(new')
newCopy :: (QModelIndexValue arg'1) => (arg'1) -> (HoppyP.IO QModelIndex)
newCopy arg'1 =
withQModelIndexPtr arg'1 $ HoppyP.flip HoppyFHR.withCppPtr $ \arg'1' ->
HoppyP.fmap QModelIndex
(newCopy' arg'1')
class QModelIndexSuper a where
downToQModelIndex :: a -> QModelIndex
class QModelIndexSuperConst a where
downToQModelIndexConst :: a -> QModelIndexConst
instance HoppyFHR.Assignable (HoppyF.Ptr (HoppyF.Ptr QModelIndex)) QModelIndex where
assign ptr' value' = HoppyF.poke ptr' $ HoppyFHR.toPtr value'
instance QModelIndexValue a => HoppyFHR.Assignable QModelIndex a where
assign x' y' = aSSIGN x' y' >> HoppyP.return ()
instance HoppyFHR.Decodable (HoppyF.Ptr (HoppyF.Ptr QModelIndex)) QModelIndex where
decode = HoppyP.fmap QModelIndex . HoppyF.peek
instance HoppyFHR.Decodable QModelIndex (QModelIndex) where
decode = HoppyFHR.decode . toQModelIndexConst
instance HoppyFHR.Decodable QModelIndexConst (QModelIndex) where
decode =
HoppyFHR.copy >=> HoppyFHR.toGc