qtah-qt5-0.8.0: src/Graphics/UI/Qtah/Generated/Core/QSequentialAnimationGroup.hs
{-# 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