{-# LANGUAGE FlexibleContexts, FlexibleInstances, ForeignFunctionInterface, MonoLocalBinds, MultiParamTypeClasses, ScopedTypeVariables, TypeSynonymInstances, UndecidableInstances #-} ---------- GENERATED FILE, EDITS WILL BE LOST ---------- module Graphics.UI.Qtah.Generated.Core.QSequentialAnimationGroup ( castQSequentialAnimationGroupToQAnimationGroup, castQAnimationGroupToQSequentialAnimationGroup, castQSequentialAnimationGroupToQAbstractAnimation, castQAbstractAnimationToQSequentialAnimationGroup, castQSequentialAnimationGroupToQObject, castQObjectToQSequentialAnimationGroup, QSequentialAnimationGroupValue (..), QSequentialAnimationGroupConstPtr (..), currentAnimation, QSequentialAnimationGroupPtr (..), addPause, insertPause, emitCurrentAnimationChanged, QSequentialAnimationGroupConst (..), castQSequentialAnimationGroupToConst, QSequentialAnimationGroup (..), castQSequentialAnimationGroupToNonconst, QSequentialAnimationGroupSuper (..), QSequentialAnimationGroupSuperConst (..), ) where import qualified Foreign as HoppyF import qualified Foreign.C as HoppyFC import qualified Foreign.Hoppy.Runtime as HoppyFHR import qualified Graphics.UI.Qtah.Generated.Core.QAbstractAnimation as M2 import qualified Graphics.UI.Qtah.Generated.Core.QAnimationGroup as M10 import qualified Graphics.UI.Qtah.Generated.Core.QObject as M94 import qualified Graphics.UI.Qtah.Generated.Core.QPauseAnimation as M102 import Prelude (($), (.), (==), (>>=)) import qualified Prelude as HoppyP foreign import ccall "genpop__QSequentialAnimationGroup_addPause" addPause' :: HoppyF.Ptr QSequentialAnimationGroup -> HoppyFC.CInt -> HoppyP.IO (HoppyF.Ptr M102.QPauseAnimation) foreign import ccall "genpop__QSequentialAnimationGroup_insertPause" insertPause' :: HoppyF.Ptr QSequentialAnimationGroup -> HoppyFC.CInt -> HoppyFC.CInt -> HoppyP.IO (HoppyF.Ptr M102.QPauseAnimation) foreign import ccall "genpop__QSequentialAnimationGroup_currentAnimation" currentAnimation' :: HoppyF.Ptr QSequentialAnimationGroupConst -> HoppyP.IO (HoppyF.Ptr M2.QAbstractAnimation) foreign import ccall "genpop__QSequentialAnimationGroup_emitCurrentAnimationChanged" emitCurrentAnimationChanged' :: HoppyF.Ptr QSequentialAnimationGroup -> HoppyF.Ptr M2.QAbstractAnimation -> HoppyP.IO () foreign import ccall "gencast__QSequentialAnimationGroup__QAnimationGroup" castQSequentialAnimationGroupToQAnimationGroup :: HoppyF.Ptr QSequentialAnimationGroupConst -> HoppyF.Ptr M10.QAnimationGroupConst foreign import ccall "gencast__QAnimationGroup__QSequentialAnimationGroup" castQAnimationGroupToQSequentialAnimationGroup :: HoppyF.Ptr M10.QAnimationGroupConst -> HoppyF.Ptr QSequentialAnimationGroupConst foreign import ccall "gencast__QSequentialAnimationGroup__QAbstractAnimation" castQSequentialAnimationGroupToQAbstractAnimation :: HoppyF.Ptr QSequentialAnimationGroupConst -> HoppyF.Ptr M2.QAbstractAnimationConst foreign import ccall "gencast__QAbstractAnimation__QSequentialAnimationGroup" castQAbstractAnimationToQSequentialAnimationGroup :: HoppyF.Ptr M2.QAbstractAnimationConst -> HoppyF.Ptr QSequentialAnimationGroupConst foreign import ccall "gencast__QSequentialAnimationGroup__QObject" castQSequentialAnimationGroupToQObject :: HoppyF.Ptr QSequentialAnimationGroupConst -> HoppyF.Ptr M94.QObjectConst foreign import ccall "gencast__QObject__QSequentialAnimationGroup" castQObjectToQSequentialAnimationGroup :: HoppyF.Ptr M94.QObjectConst -> HoppyF.Ptr QSequentialAnimationGroupConst foreign import ccall "gendel__QSequentialAnimationGroup" delete'QSequentialAnimationGroup :: HoppyF.Ptr QSequentialAnimationGroupConst -> HoppyP.IO () foreign import ccall "&gendel__QSequentialAnimationGroup" deletePtr'QSequentialAnimationGroup :: HoppyF.FunPtr (HoppyF.Ptr QSequentialAnimationGroupConst -> HoppyP.IO ()) class QSequentialAnimationGroupValue a where withQSequentialAnimationGroupPtr :: a -> (QSequentialAnimationGroupConst -> HoppyP.IO b) -> HoppyP.IO b instance {-# OVERLAPPABLE #-} QSequentialAnimationGroupConstPtr a => QSequentialAnimationGroupValue a where withQSequentialAnimationGroupPtr = HoppyP.flip ($) . toQSequentialAnimationGroupConst class (M10.QAnimationGroupConstPtr this) => QSequentialAnimationGroupConstPtr this where toQSequentialAnimationGroupConst :: this -> QSequentialAnimationGroupConst currentAnimation :: (QSequentialAnimationGroupValue this) => (this) {- ^ this -} -> (HoppyP.IO M2.QAbstractAnimation) currentAnimation arg'1 = withQSequentialAnimationGroupPtr arg'1 $ HoppyP.flip HoppyFHR.withCppPtr $ \arg'1' -> HoppyP.fmap M2.QAbstractAnimation (currentAnimation' arg'1') class (QSequentialAnimationGroupConstPtr this, M10.QAnimationGroupPtr this) => QSequentialAnimationGroupPtr this where toQSequentialAnimationGroup :: this -> QSequentialAnimationGroup addPause :: (QSequentialAnimationGroupPtr this) => (this) {- ^ this -} -> (HoppyP.Int) -> (HoppyP.IO M102.QPauseAnimation) addPause arg'1 arg'2 = HoppyFHR.withCppPtr (toQSequentialAnimationGroup arg'1) $ \arg'1' -> ( HoppyP.return . HoppyFHR.coerceIntegral ) arg'2 >>= \arg'2' -> HoppyP.fmap M102.QPauseAnimation (addPause' arg'1' arg'2') insertPause :: (QSequentialAnimationGroupPtr this) => (this) {- ^ this -} -> (HoppyP.Int) -> (HoppyP.Int) -> (HoppyP.IO M102.QPauseAnimation) insertPause arg'1 arg'2 arg'3 = HoppyFHR.withCppPtr (toQSequentialAnimationGroup arg'1) $ \arg'1' -> ( HoppyP.return . HoppyFHR.coerceIntegral ) arg'2 >>= \arg'2' -> ( HoppyP.return . HoppyFHR.coerceIntegral ) arg'3 >>= \arg'3' -> HoppyP.fmap M102.QPauseAnimation (insertPause' arg'1' arg'2' arg'3') emitCurrentAnimationChanged :: (QSequentialAnimationGroupPtr this, M2.QAbstractAnimationPtr arg'2) => (this) {- ^ this -} -> (arg'2) -> (HoppyP.IO ()) emitCurrentAnimationChanged arg'1 arg'2 = HoppyFHR.withCppPtr (toQSequentialAnimationGroup arg'1) $ \arg'1' -> HoppyFHR.withCppPtr (M2.toQAbstractAnimation arg'2) $ \arg'2' -> (emitCurrentAnimationChanged' arg'1' arg'2') data QSequentialAnimationGroupConst = QSequentialAnimationGroupConst (HoppyF.Ptr QSequentialAnimationGroupConst) | QSequentialAnimationGroupConstGc (HoppyF.ForeignPtr ()) (HoppyF.Ptr QSequentialAnimationGroupConst) deriving (HoppyP.Show) instance HoppyP.Eq QSequentialAnimationGroupConst where x == y = HoppyFHR.toPtr x == HoppyFHR.toPtr y instance HoppyP.Ord QSequentialAnimationGroupConst where compare x y = HoppyP.compare (HoppyFHR.toPtr x) (HoppyFHR.toPtr y) castQSequentialAnimationGroupToConst :: QSequentialAnimationGroup -> QSequentialAnimationGroupConst castQSequentialAnimationGroupToConst (QSequentialAnimationGroup ptr') = QSequentialAnimationGroupConst $ HoppyF.castPtr ptr' castQSequentialAnimationGroupToConst (QSequentialAnimationGroupGc fptr' ptr') = QSequentialAnimationGroupConstGc fptr' $ HoppyF.castPtr ptr' instance HoppyFHR.CppPtr QSequentialAnimationGroupConst where nullptr = QSequentialAnimationGroupConst HoppyF.nullPtr withCppPtr (QSequentialAnimationGroupConst ptr') f' = f' ptr' withCppPtr (QSequentialAnimationGroupConstGc fptr' ptr') f' = HoppyF.withForeignPtr fptr' $ \_ -> f' ptr' toPtr (QSequentialAnimationGroupConst ptr') = ptr' toPtr (QSequentialAnimationGroupConstGc _ ptr') = ptr' touchCppPtr (QSequentialAnimationGroupConst _) = HoppyP.return () touchCppPtr (QSequentialAnimationGroupConstGc fptr' _) = HoppyF.touchForeignPtr fptr' instance HoppyFHR.Deletable QSequentialAnimationGroupConst where delete (QSequentialAnimationGroupConst ptr') = delete'QSequentialAnimationGroup ptr' delete (QSequentialAnimationGroupConstGc _ _) = HoppyP.fail $ HoppyP.concat ["Deletable.delete: Asked to delete a GC-managed ", "QSequentialAnimationGroupConst", " object."] toGc this'@(QSequentialAnimationGroupConst ptr') = if ptr' == HoppyF.nullPtr then HoppyP.return this' else HoppyP.fmap (HoppyP.flip QSequentialAnimationGroupConstGc ptr') $ HoppyF.newForeignPtr (HoppyF.castFunPtr deletePtr'QSequentialAnimationGroup :: HoppyF.FunPtr (HoppyF.Ptr () -> HoppyP.IO ())) (HoppyF.castPtr ptr' :: HoppyF.Ptr ()) toGc this'@(QSequentialAnimationGroupConstGc {}) = HoppyP.return this' instance QSequentialAnimationGroupConstPtr QSequentialAnimationGroupConst where toQSequentialAnimationGroupConst = HoppyP.id instance M10.QAnimationGroupConstPtr QSequentialAnimationGroupConst where toQAnimationGroupConst (QSequentialAnimationGroupConst ptr') = M10.QAnimationGroupConst $ castQSequentialAnimationGroupToQAnimationGroup ptr' toQAnimationGroupConst (QSequentialAnimationGroupConstGc fptr' ptr') = M10.QAnimationGroupConstGc fptr' $ castQSequentialAnimationGroupToQAnimationGroup ptr' instance M2.QAbstractAnimationConstPtr QSequentialAnimationGroupConst where toQAbstractAnimationConst (QSequentialAnimationGroupConst ptr') = M2.QAbstractAnimationConst $ castQSequentialAnimationGroupToQAbstractAnimation ptr' toQAbstractAnimationConst (QSequentialAnimationGroupConstGc fptr' ptr') = M2.QAbstractAnimationConstGc fptr' $ castQSequentialAnimationGroupToQAbstractAnimation ptr' instance M94.QObjectConstPtr QSequentialAnimationGroupConst where toQObjectConst (QSequentialAnimationGroupConst ptr') = M94.QObjectConst $ castQSequentialAnimationGroupToQObject ptr' toQObjectConst (QSequentialAnimationGroupConstGc fptr' ptr') = M94.QObjectConstGc fptr' $ castQSequentialAnimationGroupToQObject ptr' data QSequentialAnimationGroup = QSequentialAnimationGroup (HoppyF.Ptr QSequentialAnimationGroup) | QSequentialAnimationGroupGc (HoppyF.ForeignPtr ()) (HoppyF.Ptr QSequentialAnimationGroup) deriving (HoppyP.Show) instance HoppyP.Eq QSequentialAnimationGroup where x == y = HoppyFHR.toPtr x == HoppyFHR.toPtr y instance HoppyP.Ord QSequentialAnimationGroup where compare x y = HoppyP.compare (HoppyFHR.toPtr x) (HoppyFHR.toPtr y) castQSequentialAnimationGroupToNonconst :: QSequentialAnimationGroupConst -> QSequentialAnimationGroup castQSequentialAnimationGroupToNonconst (QSequentialAnimationGroupConst ptr') = QSequentialAnimationGroup $ HoppyF.castPtr ptr' castQSequentialAnimationGroupToNonconst (QSequentialAnimationGroupConstGc fptr' ptr') = QSequentialAnimationGroupGc fptr' $ HoppyF.castPtr ptr' instance HoppyFHR.CppPtr QSequentialAnimationGroup where nullptr = QSequentialAnimationGroup HoppyF.nullPtr withCppPtr (QSequentialAnimationGroup ptr') f' = f' ptr' withCppPtr (QSequentialAnimationGroupGc fptr' ptr') f' = HoppyF.withForeignPtr fptr' $ \_ -> f' ptr' toPtr (QSequentialAnimationGroup ptr') = ptr' toPtr (QSequentialAnimationGroupGc _ ptr') = ptr' touchCppPtr (QSequentialAnimationGroup _) = HoppyP.return () touchCppPtr (QSequentialAnimationGroupGc fptr' _) = HoppyF.touchForeignPtr fptr' instance HoppyFHR.Deletable QSequentialAnimationGroup where delete (QSequentialAnimationGroup ptr') = delete'QSequentialAnimationGroup $ (HoppyF.castPtr ptr' :: HoppyF.Ptr QSequentialAnimationGroupConst) delete (QSequentialAnimationGroupGc _ _) = HoppyP.fail $ HoppyP.concat ["Deletable.delete: Asked to delete a GC-managed ", "QSequentialAnimationGroup", " object."] toGc this'@(QSequentialAnimationGroup ptr') = if ptr' == HoppyF.nullPtr then HoppyP.return this' else HoppyP.fmap (HoppyP.flip QSequentialAnimationGroupGc ptr') $ HoppyF.newForeignPtr (HoppyF.castFunPtr deletePtr'QSequentialAnimationGroup :: HoppyF.FunPtr (HoppyF.Ptr () -> HoppyP.IO ())) (HoppyF.castPtr ptr' :: HoppyF.Ptr ()) toGc this'@(QSequentialAnimationGroupGc {}) = HoppyP.return this' instance QSequentialAnimationGroupConstPtr QSequentialAnimationGroup where toQSequentialAnimationGroupConst (QSequentialAnimationGroup ptr') = QSequentialAnimationGroupConst $ (HoppyF.castPtr :: HoppyF.Ptr QSequentialAnimationGroup -> HoppyF.Ptr QSequentialAnimationGroupConst) ptr' toQSequentialAnimationGroupConst (QSequentialAnimationGroupGc fptr' ptr') = QSequentialAnimationGroupConstGc fptr' $ (HoppyF.castPtr :: HoppyF.Ptr QSequentialAnimationGroup -> HoppyF.Ptr QSequentialAnimationGroupConst) ptr' instance QSequentialAnimationGroupPtr QSequentialAnimationGroup where toQSequentialAnimationGroup = HoppyP.id instance M10.QAnimationGroupConstPtr QSequentialAnimationGroup where toQAnimationGroupConst (QSequentialAnimationGroup ptr') = M10.QAnimationGroupConst $ castQSequentialAnimationGroupToQAnimationGroup $ (HoppyF.castPtr :: HoppyF.Ptr QSequentialAnimationGroup -> HoppyF.Ptr QSequentialAnimationGroupConst) ptr' toQAnimationGroupConst (QSequentialAnimationGroupGc fptr' ptr') = M10.QAnimationGroupConstGc fptr' $ castQSequentialAnimationGroupToQAnimationGroup $ (HoppyF.castPtr :: HoppyF.Ptr QSequentialAnimationGroup -> HoppyF.Ptr QSequentialAnimationGroupConst) ptr' instance M10.QAnimationGroupPtr QSequentialAnimationGroup where toQAnimationGroup (QSequentialAnimationGroup ptr') = M10.QAnimationGroup $ (HoppyF.castPtr :: HoppyF.Ptr M10.QAnimationGroupConst -> HoppyF.Ptr M10.QAnimationGroup) $ castQSequentialAnimationGroupToQAnimationGroup $ (HoppyF.castPtr :: HoppyF.Ptr QSequentialAnimationGroup -> HoppyF.Ptr QSequentialAnimationGroupConst) ptr' toQAnimationGroup (QSequentialAnimationGroupGc fptr' ptr') = M10.QAnimationGroupGc fptr' $ (HoppyF.castPtr :: HoppyF.Ptr M10.QAnimationGroupConst -> HoppyF.Ptr M10.QAnimationGroup) $ castQSequentialAnimationGroupToQAnimationGroup $ (HoppyF.castPtr :: HoppyF.Ptr QSequentialAnimationGroup -> HoppyF.Ptr QSequentialAnimationGroupConst) ptr' instance M2.QAbstractAnimationConstPtr QSequentialAnimationGroup where toQAbstractAnimationConst (QSequentialAnimationGroup ptr') = M2.QAbstractAnimationConst $ castQSequentialAnimationGroupToQAbstractAnimation $ (HoppyF.castPtr :: HoppyF.Ptr QSequentialAnimationGroup -> HoppyF.Ptr QSequentialAnimationGroupConst) ptr' toQAbstractAnimationConst (QSequentialAnimationGroupGc fptr' ptr') = M2.QAbstractAnimationConstGc fptr' $ castQSequentialAnimationGroupToQAbstractAnimation $ (HoppyF.castPtr :: HoppyF.Ptr QSequentialAnimationGroup -> HoppyF.Ptr QSequentialAnimationGroupConst) ptr' instance M2.QAbstractAnimationPtr QSequentialAnimationGroup where toQAbstractAnimation (QSequentialAnimationGroup ptr') = M2.QAbstractAnimation $ (HoppyF.castPtr :: HoppyF.Ptr M2.QAbstractAnimationConst -> HoppyF.Ptr M2.QAbstractAnimation) $ castQSequentialAnimationGroupToQAbstractAnimation $ (HoppyF.castPtr :: HoppyF.Ptr QSequentialAnimationGroup -> HoppyF.Ptr QSequentialAnimationGroupConst) ptr' toQAbstractAnimation (QSequentialAnimationGroupGc fptr' ptr') = M2.QAbstractAnimationGc fptr' $ (HoppyF.castPtr :: HoppyF.Ptr M2.QAbstractAnimationConst -> HoppyF.Ptr M2.QAbstractAnimation) $ castQSequentialAnimationGroupToQAbstractAnimation $ (HoppyF.castPtr :: HoppyF.Ptr QSequentialAnimationGroup -> HoppyF.Ptr QSequentialAnimationGroupConst) ptr' instance M94.QObjectConstPtr QSequentialAnimationGroup where toQObjectConst (QSequentialAnimationGroup ptr') = M94.QObjectConst $ castQSequentialAnimationGroupToQObject $ (HoppyF.castPtr :: HoppyF.Ptr QSequentialAnimationGroup -> HoppyF.Ptr QSequentialAnimationGroupConst) ptr' toQObjectConst (QSequentialAnimationGroupGc fptr' ptr') = M94.QObjectConstGc fptr' $ castQSequentialAnimationGroupToQObject $ (HoppyF.castPtr :: HoppyF.Ptr QSequentialAnimationGroup -> HoppyF.Ptr QSequentialAnimationGroupConst) ptr' instance M94.QObjectPtr QSequentialAnimationGroup where toQObject (QSequentialAnimationGroup ptr') = M94.QObject $ (HoppyF.castPtr :: HoppyF.Ptr M94.QObjectConst -> HoppyF.Ptr M94.QObject) $ castQSequentialAnimationGroupToQObject $ (HoppyF.castPtr :: HoppyF.Ptr QSequentialAnimationGroup -> HoppyF.Ptr QSequentialAnimationGroupConst) ptr' toQObject (QSequentialAnimationGroupGc fptr' ptr') = M94.QObjectGc fptr' $ (HoppyF.castPtr :: HoppyF.Ptr M94.QObjectConst -> HoppyF.Ptr M94.QObject) $ castQSequentialAnimationGroupToQObject $ (HoppyF.castPtr :: HoppyF.Ptr QSequentialAnimationGroup -> HoppyF.Ptr QSequentialAnimationGroupConst) ptr' class QSequentialAnimationGroupSuper a where downToQSequentialAnimationGroup :: a -> QSequentialAnimationGroup instance QSequentialAnimationGroupSuper M10.QAnimationGroup where downToQSequentialAnimationGroup = castQSequentialAnimationGroupToNonconst . cast' . M10.castQAnimationGroupToConst where cast' (M10.QAnimationGroupConst ptr') = QSequentialAnimationGroupConst $ castQAnimationGroupToQSequentialAnimationGroup ptr' cast' (M10.QAnimationGroupConstGc fptr' ptr') = QSequentialAnimationGroupConstGc fptr' $ castQAnimationGroupToQSequentialAnimationGroup ptr' instance QSequentialAnimationGroupSuper M2.QAbstractAnimation where downToQSequentialAnimationGroup = castQSequentialAnimationGroupToNonconst . cast' . M2.castQAbstractAnimationToConst where cast' (M2.QAbstractAnimationConst ptr') = QSequentialAnimationGroupConst $ castQAbstractAnimationToQSequentialAnimationGroup ptr' cast' (M2.QAbstractAnimationConstGc fptr' ptr') = QSequentialAnimationGroupConstGc fptr' $ castQAbstractAnimationToQSequentialAnimationGroup ptr' instance QSequentialAnimationGroupSuper M94.QObject where downToQSequentialAnimationGroup = castQSequentialAnimationGroupToNonconst . cast' . M94.castQObjectToConst where cast' (M94.QObjectConst ptr') = QSequentialAnimationGroupConst $ castQObjectToQSequentialAnimationGroup ptr' cast' (M94.QObjectConstGc fptr' ptr') = QSequentialAnimationGroupConstGc fptr' $ castQObjectToQSequentialAnimationGroup ptr' class QSequentialAnimationGroupSuperConst a where downToQSequentialAnimationGroupConst :: a -> QSequentialAnimationGroupConst instance QSequentialAnimationGroupSuperConst M10.QAnimationGroupConst where downToQSequentialAnimationGroupConst = cast' where cast' (M10.QAnimationGroupConst ptr') = QSequentialAnimationGroupConst $ castQAnimationGroupToQSequentialAnimationGroup ptr' cast' (M10.QAnimationGroupConstGc fptr' ptr') = QSequentialAnimationGroupConstGc fptr' $ castQAnimationGroupToQSequentialAnimationGroup ptr' instance QSequentialAnimationGroupSuperConst M2.QAbstractAnimationConst where downToQSequentialAnimationGroupConst = cast' where cast' (M2.QAbstractAnimationConst ptr') = QSequentialAnimationGroupConst $ castQAbstractAnimationToQSequentialAnimationGroup ptr' cast' (M2.QAbstractAnimationConstGc fptr' ptr') = QSequentialAnimationGroupConstGc fptr' $ castQAbstractAnimationToQSequentialAnimationGroup ptr' instance QSequentialAnimationGroupSuperConst M94.QObjectConst where downToQSequentialAnimationGroupConst = cast' where cast' (M94.QObjectConst ptr') = QSequentialAnimationGroupConst $ castQObjectToQSequentialAnimationGroup ptr' cast' (M94.QObjectConstGc fptr' ptr') = QSequentialAnimationGroupConstGc fptr' $ castQObjectToQSequentialAnimationGroup ptr' instance HoppyFHR.Assignable (HoppyF.Ptr (HoppyF.Ptr QSequentialAnimationGroup)) QSequentialAnimationGroup where assign ptr' value' = HoppyF.poke ptr' $ HoppyFHR.toPtr value' instance HoppyFHR.Decodable (HoppyF.Ptr (HoppyF.Ptr QSequentialAnimationGroup)) QSequentialAnimationGroup where decode = HoppyP.fmap QSequentialAnimationGroup . HoppyF.peek