{-# LANGUAGE FlexibleContexts, FlexibleInstances, ForeignFunctionInterface, MonoLocalBinds, MultiParamTypeClasses, ScopedTypeVariables, TypeSynonymInstances, UndecidableInstances #-} ---------- GENERATED FILE, EDITS WILL BE LOST ---------- module Graphics.UI.Qtah.Generated.Widgets.QAbstractItemDelegate ( castQAbstractItemDelegateToQObject, castQObjectToQAbstractItemDelegate, QAbstractItemDelegateValue (..), QAbstractItemDelegateConstPtr (..), QAbstractItemDelegatePtr (..), QAbstractItemDelegateConst (..), castQAbstractItemDelegateToConst, QAbstractItemDelegate (..), castQAbstractItemDelegateToNonconst, QAbstractItemDelegateSuper (..), QAbstractItemDelegateSuperConst (..), ) where import qualified Foreign as HoppyF import qualified Foreign.Hoppy.Runtime as HoppyFHR import qualified Graphics.UI.Qtah.Generated.Core.QObject as M94 import Prelude (($), (.), (==)) import qualified Prelude as HoppyP foreign import ccall "gencast__QAbstractItemDelegate__QObject" castQAbstractItemDelegateToQObject :: HoppyF.Ptr QAbstractItemDelegateConst -> HoppyF.Ptr M94.QObjectConst foreign import ccall "gencast__QObject__QAbstractItemDelegate" castQObjectToQAbstractItemDelegate :: HoppyF.Ptr M94.QObjectConst -> HoppyF.Ptr QAbstractItemDelegateConst foreign import ccall "gendel__QAbstractItemDelegate" delete'QAbstractItemDelegate :: HoppyF.Ptr QAbstractItemDelegateConst -> HoppyP.IO () foreign import ccall "&gendel__QAbstractItemDelegate" deletePtr'QAbstractItemDelegate :: HoppyF.FunPtr (HoppyF.Ptr QAbstractItemDelegateConst -> HoppyP.IO ()) class QAbstractItemDelegateValue a where withQAbstractItemDelegatePtr :: a -> (QAbstractItemDelegateConst -> HoppyP.IO b) -> HoppyP.IO b instance {-# OVERLAPPABLE #-} QAbstractItemDelegateConstPtr a => QAbstractItemDelegateValue a where withQAbstractItemDelegatePtr = HoppyP.flip ($) . toQAbstractItemDelegateConst class (M94.QObjectConstPtr this) => QAbstractItemDelegateConstPtr this where toQAbstractItemDelegateConst :: this -> QAbstractItemDelegateConst class (QAbstractItemDelegateConstPtr this, M94.QObjectPtr this) => QAbstractItemDelegatePtr this where toQAbstractItemDelegate :: this -> QAbstractItemDelegate data QAbstractItemDelegateConst = QAbstractItemDelegateConst (HoppyF.Ptr QAbstractItemDelegateConst) | QAbstractItemDelegateConstGc (HoppyF.ForeignPtr ()) (HoppyF.Ptr QAbstractItemDelegateConst) deriving (HoppyP.Show) instance HoppyP.Eq QAbstractItemDelegateConst where x == y = HoppyFHR.toPtr x == HoppyFHR.toPtr y instance HoppyP.Ord QAbstractItemDelegateConst where compare x y = HoppyP.compare (HoppyFHR.toPtr x) (HoppyFHR.toPtr y) castQAbstractItemDelegateToConst :: QAbstractItemDelegate -> QAbstractItemDelegateConst castQAbstractItemDelegateToConst (QAbstractItemDelegate ptr') = QAbstractItemDelegateConst $ HoppyF.castPtr ptr' castQAbstractItemDelegateToConst (QAbstractItemDelegateGc fptr' ptr') = QAbstractItemDelegateConstGc fptr' $ HoppyF.castPtr ptr' instance HoppyFHR.CppPtr QAbstractItemDelegateConst where nullptr = QAbstractItemDelegateConst HoppyF.nullPtr withCppPtr (QAbstractItemDelegateConst ptr') f' = f' ptr' withCppPtr (QAbstractItemDelegateConstGc fptr' ptr') f' = HoppyF.withForeignPtr fptr' $ \_ -> f' ptr' toPtr (QAbstractItemDelegateConst ptr') = ptr' toPtr (QAbstractItemDelegateConstGc _ ptr') = ptr' touchCppPtr (QAbstractItemDelegateConst _) = HoppyP.return () touchCppPtr (QAbstractItemDelegateConstGc fptr' _) = HoppyF.touchForeignPtr fptr' instance HoppyFHR.Deletable QAbstractItemDelegateConst where delete (QAbstractItemDelegateConst ptr') = delete'QAbstractItemDelegate ptr' delete (QAbstractItemDelegateConstGc _ _) = HoppyP.fail $ HoppyP.concat ["Deletable.delete: Asked to delete a GC-managed ", "QAbstractItemDelegateConst", " object."] toGc this'@(QAbstractItemDelegateConst ptr') = if ptr' == HoppyF.nullPtr then HoppyP.return this' else HoppyP.fmap (HoppyP.flip QAbstractItemDelegateConstGc ptr') $ HoppyF.newForeignPtr (HoppyF.castFunPtr deletePtr'QAbstractItemDelegate :: HoppyF.FunPtr (HoppyF.Ptr () -> HoppyP.IO ())) (HoppyF.castPtr ptr' :: HoppyF.Ptr ()) toGc this'@(QAbstractItemDelegateConstGc {}) = HoppyP.return this' instance QAbstractItemDelegateConstPtr QAbstractItemDelegateConst where toQAbstractItemDelegateConst = HoppyP.id instance M94.QObjectConstPtr QAbstractItemDelegateConst where toQObjectConst (QAbstractItemDelegateConst ptr') = M94.QObjectConst $ castQAbstractItemDelegateToQObject ptr' toQObjectConst (QAbstractItemDelegateConstGc fptr' ptr') = M94.QObjectConstGc fptr' $ castQAbstractItemDelegateToQObject ptr' data QAbstractItemDelegate = QAbstractItemDelegate (HoppyF.Ptr QAbstractItemDelegate) | QAbstractItemDelegateGc (HoppyF.ForeignPtr ()) (HoppyF.Ptr QAbstractItemDelegate) deriving (HoppyP.Show) instance HoppyP.Eq QAbstractItemDelegate where x == y = HoppyFHR.toPtr x == HoppyFHR.toPtr y instance HoppyP.Ord QAbstractItemDelegate where compare x y = HoppyP.compare (HoppyFHR.toPtr x) (HoppyFHR.toPtr y) castQAbstractItemDelegateToNonconst :: QAbstractItemDelegateConst -> QAbstractItemDelegate castQAbstractItemDelegateToNonconst (QAbstractItemDelegateConst ptr') = QAbstractItemDelegate $ HoppyF.castPtr ptr' castQAbstractItemDelegateToNonconst (QAbstractItemDelegateConstGc fptr' ptr') = QAbstractItemDelegateGc fptr' $ HoppyF.castPtr ptr' instance HoppyFHR.CppPtr QAbstractItemDelegate where nullptr = QAbstractItemDelegate HoppyF.nullPtr withCppPtr (QAbstractItemDelegate ptr') f' = f' ptr' withCppPtr (QAbstractItemDelegateGc fptr' ptr') f' = HoppyF.withForeignPtr fptr' $ \_ -> f' ptr' toPtr (QAbstractItemDelegate ptr') = ptr' toPtr (QAbstractItemDelegateGc _ ptr') = ptr' touchCppPtr (QAbstractItemDelegate _) = HoppyP.return () touchCppPtr (QAbstractItemDelegateGc fptr' _) = HoppyF.touchForeignPtr fptr' instance HoppyFHR.Deletable QAbstractItemDelegate where delete (QAbstractItemDelegate ptr') = delete'QAbstractItemDelegate $ (HoppyF.castPtr ptr' :: HoppyF.Ptr QAbstractItemDelegateConst) delete (QAbstractItemDelegateGc _ _) = HoppyP.fail $ HoppyP.concat ["Deletable.delete: Asked to delete a GC-managed ", "QAbstractItemDelegate", " object."] toGc this'@(QAbstractItemDelegate ptr') = if ptr' == HoppyF.nullPtr then HoppyP.return this' else HoppyP.fmap (HoppyP.flip QAbstractItemDelegateGc ptr') $ HoppyF.newForeignPtr (HoppyF.castFunPtr deletePtr'QAbstractItemDelegate :: HoppyF.FunPtr (HoppyF.Ptr () -> HoppyP.IO ())) (HoppyF.castPtr ptr' :: HoppyF.Ptr ()) toGc this'@(QAbstractItemDelegateGc {}) = HoppyP.return this' instance QAbstractItemDelegateConstPtr QAbstractItemDelegate where toQAbstractItemDelegateConst (QAbstractItemDelegate ptr') = QAbstractItemDelegateConst $ (HoppyF.castPtr :: HoppyF.Ptr QAbstractItemDelegate -> HoppyF.Ptr QAbstractItemDelegateConst) ptr' toQAbstractItemDelegateConst (QAbstractItemDelegateGc fptr' ptr') = QAbstractItemDelegateConstGc fptr' $ (HoppyF.castPtr :: HoppyF.Ptr QAbstractItemDelegate -> HoppyF.Ptr QAbstractItemDelegateConst) ptr' instance QAbstractItemDelegatePtr QAbstractItemDelegate where toQAbstractItemDelegate = HoppyP.id instance M94.QObjectConstPtr QAbstractItemDelegate where toQObjectConst (QAbstractItemDelegate ptr') = M94.QObjectConst $ castQAbstractItemDelegateToQObject $ (HoppyF.castPtr :: HoppyF.Ptr QAbstractItemDelegate -> HoppyF.Ptr QAbstractItemDelegateConst) ptr' toQObjectConst (QAbstractItemDelegateGc fptr' ptr') = M94.QObjectConstGc fptr' $ castQAbstractItemDelegateToQObject $ (HoppyF.castPtr :: HoppyF.Ptr QAbstractItemDelegate -> HoppyF.Ptr QAbstractItemDelegateConst) ptr' instance M94.QObjectPtr QAbstractItemDelegate where toQObject (QAbstractItemDelegate ptr') = M94.QObject $ (HoppyF.castPtr :: HoppyF.Ptr M94.QObjectConst -> HoppyF.Ptr M94.QObject) $ castQAbstractItemDelegateToQObject $ (HoppyF.castPtr :: HoppyF.Ptr QAbstractItemDelegate -> HoppyF.Ptr QAbstractItemDelegateConst) ptr' toQObject (QAbstractItemDelegateGc fptr' ptr') = M94.QObjectGc fptr' $ (HoppyF.castPtr :: HoppyF.Ptr M94.QObjectConst -> HoppyF.Ptr M94.QObject) $ castQAbstractItemDelegateToQObject $ (HoppyF.castPtr :: HoppyF.Ptr QAbstractItemDelegate -> HoppyF.Ptr QAbstractItemDelegateConst) ptr' class QAbstractItemDelegateSuper a where downToQAbstractItemDelegate :: a -> QAbstractItemDelegate instance QAbstractItemDelegateSuper M94.QObject where downToQAbstractItemDelegate = castQAbstractItemDelegateToNonconst . cast' . M94.castQObjectToConst where cast' (M94.QObjectConst ptr') = QAbstractItemDelegateConst $ castQObjectToQAbstractItemDelegate ptr' cast' (M94.QObjectConstGc fptr' ptr') = QAbstractItemDelegateConstGc fptr' $ castQObjectToQAbstractItemDelegate ptr' class QAbstractItemDelegateSuperConst a where downToQAbstractItemDelegateConst :: a -> QAbstractItemDelegateConst instance QAbstractItemDelegateSuperConst M94.QObjectConst where downToQAbstractItemDelegateConst = cast' where cast' (M94.QObjectConst ptr') = QAbstractItemDelegateConst $ castQObjectToQAbstractItemDelegate ptr' cast' (M94.QObjectConstGc fptr' ptr') = QAbstractItemDelegateConstGc fptr' $ castQObjectToQAbstractItemDelegate ptr' instance HoppyFHR.Assignable (HoppyF.Ptr (HoppyF.Ptr QAbstractItemDelegate)) QAbstractItemDelegate where assign ptr' value' = HoppyF.poke ptr' $ HoppyFHR.toPtr value' instance HoppyFHR.Decodable (HoppyF.Ptr (HoppyF.Ptr QAbstractItemDelegate)) QAbstractItemDelegate where decode = HoppyP.fmap QAbstractItemDelegate . HoppyF.peek