qtah-qt5-0.3.0: src/Graphics/UI/Qtah/Generated/Widgets/QPushButton.hs
{-# LANGUAGE CPP, FlexibleContexts, FlexibleInstances, GeneralizedNewtypeDeriving, MultiParamTypeClasses, ScopedTypeVariables, TypeSynonymInstances, UndecidableInstances #-}
#if !MIN_VERSION_base(4,8,0)
{-# LANGUAGE OverlappingInstances #-}
#endif
---------- GENERATED FILE, EDITS WILL BE LOST ----------
module Graphics.UI.Qtah.Generated.Widgets.QPushButton (
castQPushButtonToQAbstractButton,
castQAbstractButtonToQPushButton,
castQPushButtonToQWidget,
castQWidgetToQPushButton,
castQPushButtonToQObject,
castQObjectToQPushButton,
QPushButtonValue (..),
QPushButtonConstPtr (..),
autoDefault,
isDefault,
isFlat,
menu,
QPushButtonPtr (..),
setAutoDefault,
setDefault,
setFlat,
setMenu,
showMenu,
QPushButtonConst (..),
castQPushButtonToConst,
QPushButton (..),
castQPushButtonToNonconst,
new,
newWithParent,
newWithText,
newWithTextAndParent,
QPushButtonSuper (..),
QPushButtonSuperConst (..),
) where
import qualified Foreign as HoppyF
import qualified Foreign.Hoppy.Runtime as HoppyFHR
import qualified Graphics.UI.Qtah.Generated.Core.QObject as M30
import qualified Graphics.UI.Qtah.Generated.Core.QString as M46
import qualified Graphics.UI.Qtah.Generated.Widgets.QAbstractButton as M162
import qualified Graphics.UI.Qtah.Generated.Widgets.QMenu as M238
import qualified Graphics.UI.Qtah.Generated.Widgets.QWidget as M280
import Prelude (($), (.), (/=), (==))
import qualified Prelude as HoppyP
foreign import ccall "genpop__QPushButton_new" new' :: HoppyP.IO (HoppyF.Ptr QPushButton)
foreign import ccall "genpop__QPushButton_newWithParent" newWithParent' :: HoppyF.Ptr M280.QWidget -> HoppyP.IO (HoppyF.Ptr QPushButton)
foreign import ccall "genpop__QPushButton_newWithText" newWithText' :: HoppyF.Ptr M46.QStringConst -> HoppyP.IO (HoppyF.Ptr QPushButton)
foreign import ccall "genpop__QPushButton_newWithTextAndParent" newWithTextAndParent' :: HoppyF.Ptr M46.QStringConst -> HoppyF.Ptr M280.QWidget -> HoppyP.IO (HoppyF.Ptr QPushButton)
foreign import ccall "genpop__QPushButton_autoDefault" autoDefault' :: HoppyF.Ptr QPushButtonConst -> HoppyP.IO HoppyFHR.CBool
foreign import ccall "genpop__QPushButton_setAutoDefault" setAutoDefault' :: HoppyF.Ptr QPushButton -> HoppyFHR.CBool -> HoppyP.IO ()
foreign import ccall "genpop__QPushButton_isDefault" isDefault' :: HoppyF.Ptr QPushButtonConst -> HoppyP.IO HoppyFHR.CBool
foreign import ccall "genpop__QPushButton_setDefault" setDefault' :: HoppyF.Ptr QPushButton -> HoppyFHR.CBool -> HoppyP.IO ()
foreign import ccall "genpop__QPushButton_isFlat" isFlat' :: HoppyF.Ptr QPushButtonConst -> HoppyP.IO HoppyFHR.CBool
foreign import ccall "genpop__QPushButton_setFlat" setFlat' :: HoppyF.Ptr QPushButton -> HoppyFHR.CBool -> HoppyP.IO ()
foreign import ccall "genpop__QPushButton_menu" menu' :: HoppyF.Ptr QPushButtonConst -> HoppyP.IO (HoppyF.Ptr M238.QMenu)
foreign import ccall "genpop__QPushButton_setMenu" setMenu' :: HoppyF.Ptr QPushButton -> HoppyF.Ptr M238.QMenu -> HoppyP.IO ()
foreign import ccall "genpop__QPushButton_showMenu" showMenu' :: HoppyF.Ptr QPushButton -> HoppyP.IO ()
foreign import ccall "gencast__QPushButton__QAbstractButton" castQPushButtonToQAbstractButton :: HoppyF.Ptr QPushButtonConst -> HoppyF.Ptr M162.QAbstractButtonConst
foreign import ccall "gencast__QAbstractButton__QPushButton" castQAbstractButtonToQPushButton :: HoppyF.Ptr M162.QAbstractButtonConst -> HoppyF.Ptr QPushButtonConst
foreign import ccall "gencast__QPushButton__QWidget" castQPushButtonToQWidget :: HoppyF.Ptr QPushButtonConst -> HoppyF.Ptr M280.QWidgetConst
foreign import ccall "gencast__QWidget__QPushButton" castQWidgetToQPushButton :: HoppyF.Ptr M280.QWidgetConst -> HoppyF.Ptr QPushButtonConst
foreign import ccall "gencast__QPushButton__QObject" castQPushButtonToQObject :: HoppyF.Ptr QPushButtonConst -> HoppyF.Ptr M30.QObjectConst
foreign import ccall "gencast__QObject__QPushButton" castQObjectToQPushButton :: HoppyF.Ptr M30.QObjectConst -> HoppyF.Ptr QPushButtonConst
foreign import ccall "gendel__QPushButton" delete'QPushButton :: HoppyF.Ptr QPushButtonConst -> HoppyP.IO ()
foreign import ccall "&gendel__QPushButton" deletePtr'QPushButton :: HoppyF.FunPtr (HoppyF.Ptr QPushButtonConst -> HoppyP.IO ())
class QPushButtonValue a where
withQPushButtonPtr :: a -> (QPushButtonConst -> HoppyP.IO b) -> HoppyP.IO b
#if MIN_VERSION_base(4,8,0)
instance {-# OVERLAPPABLE #-} QPushButtonConstPtr a => QPushButtonValue a where
#else
instance QPushButtonConstPtr a => QPushButtonValue a where
#endif
withQPushButtonPtr = HoppyP.flip ($) . toQPushButtonConst
class (M162.QAbstractButtonConstPtr this) => QPushButtonConstPtr this where
toQPushButtonConst :: this -> QPushButtonConst
autoDefault :: (QPushButtonValue arg'1) => arg'1 -> HoppyP.IO HoppyP.Bool
autoDefault arg'1 =
withQPushButtonPtr arg'1 $ HoppyP.flip HoppyFHR.withCppPtr $ \arg'1' ->
HoppyP.fmap (/= 0)
(autoDefault' arg'1')
isDefault :: (QPushButtonValue arg'1) => arg'1 -> HoppyP.IO HoppyP.Bool
isDefault arg'1 =
withQPushButtonPtr arg'1 $ HoppyP.flip HoppyFHR.withCppPtr $ \arg'1' ->
HoppyP.fmap (/= 0)
(isDefault' arg'1')
isFlat :: (QPushButtonValue arg'1) => arg'1 -> HoppyP.IO HoppyP.Bool
isFlat arg'1 =
withQPushButtonPtr arg'1 $ HoppyP.flip HoppyFHR.withCppPtr $ \arg'1' ->
HoppyP.fmap (/= 0)
(isFlat' arg'1')
menu :: (QPushButtonValue arg'1) => arg'1 -> HoppyP.IO M238.QMenu
menu arg'1 =
withQPushButtonPtr arg'1 $ HoppyP.flip HoppyFHR.withCppPtr $ \arg'1' ->
HoppyP.fmap M238.QMenu
(menu' arg'1')
class (QPushButtonConstPtr this, M162.QAbstractButtonPtr this) => QPushButtonPtr this where
toQPushButton :: this -> QPushButton
setAutoDefault :: (QPushButtonPtr arg'1) => arg'1 -> HoppyP.Bool -> HoppyP.IO ()
setAutoDefault arg'1 arg'2 =
HoppyFHR.withCppPtr (toQPushButton arg'1) $ \arg'1' ->
let arg'2' = if arg'2 then 1 else 0 in
(setAutoDefault' arg'1' arg'2')
setDefault :: (QPushButtonPtr arg'1) => arg'1 -> HoppyP.Bool -> HoppyP.IO ()
setDefault arg'1 arg'2 =
HoppyFHR.withCppPtr (toQPushButton arg'1) $ \arg'1' ->
let arg'2' = if arg'2 then 1 else 0 in
(setDefault' arg'1' arg'2')
setFlat :: (QPushButtonPtr arg'1) => arg'1 -> HoppyP.Bool -> HoppyP.IO ()
setFlat arg'1 arg'2 =
HoppyFHR.withCppPtr (toQPushButton arg'1) $ \arg'1' ->
let arg'2' = if arg'2 then 1 else 0 in
(setFlat' arg'1' arg'2')
setMenu :: (QPushButtonPtr arg'1, M238.QMenuPtr arg'2) => arg'1 -> arg'2 -> HoppyP.IO ()
setMenu arg'1 arg'2 =
HoppyFHR.withCppPtr (toQPushButton arg'1) $ \arg'1' ->
HoppyFHR.withCppPtr (M238.toQMenu arg'2) $ \arg'2' ->
(setMenu' arg'1' arg'2')
showMenu :: (QPushButtonPtr arg'1) => arg'1 -> HoppyP.IO ()
showMenu arg'1 =
HoppyFHR.withCppPtr (toQPushButton arg'1) $ \arg'1' ->
(showMenu' arg'1')
data QPushButtonConst =
QPushButtonConst (HoppyF.Ptr QPushButtonConst)
| QPushButtonConstGc (HoppyF.ForeignPtr ()) (HoppyF.Ptr QPushButtonConst)
deriving (HoppyP.Show)
instance HoppyP.Eq QPushButtonConst where
x == y = HoppyFHR.toPtr x == HoppyFHR.toPtr y
instance HoppyP.Ord QPushButtonConst where
compare x y = HoppyP.compare (HoppyFHR.toPtr x) (HoppyFHR.toPtr y)
castQPushButtonToConst :: QPushButton -> QPushButtonConst
castQPushButtonToConst (QPushButton ptr') = QPushButtonConst $ HoppyF.castPtr ptr'
castQPushButtonToConst (QPushButtonGc fptr' ptr') = QPushButtonConstGc fptr' $ HoppyF.castPtr ptr'
instance HoppyFHR.CppPtr QPushButtonConst where
nullptr = QPushButtonConst HoppyF.nullPtr
withCppPtr (QPushButtonConst ptr') f' = f' ptr'
withCppPtr (QPushButtonConstGc fptr' ptr') f' = HoppyF.withForeignPtr fptr' $ \_ -> f' ptr'
toPtr (QPushButtonConst ptr') = ptr'
toPtr (QPushButtonConstGc _ ptr') = ptr'
touchCppPtr (QPushButtonConst _) = HoppyP.return ()
touchCppPtr (QPushButtonConstGc fptr' _) = HoppyF.touchForeignPtr fptr'
instance HoppyFHR.Deletable QPushButtonConst where
delete (QPushButtonConst ptr') = delete'QPushButton ptr'
delete (QPushButtonConstGc _ _) = HoppyP.fail $ HoppyP.concat ["Deletable.delete: Asked to delete a GC-managed ", "QPushButtonConst", " object."]
toGc this'@(QPushButtonConst ptr') = if ptr' == HoppyF.nullPtr then HoppyP.return this' else HoppyP.fmap (HoppyP.flip QPushButtonConstGc ptr') $ HoppyF.newForeignPtr (HoppyF.castFunPtr deletePtr'QPushButton :: HoppyF.FunPtr (HoppyF.Ptr () -> HoppyP.IO ())) (HoppyF.castPtr ptr' :: HoppyF.Ptr ())
toGc this'@(QPushButtonConstGc {}) = HoppyP.return this'
instance QPushButtonConstPtr QPushButtonConst where
toQPushButtonConst = HoppyP.id
instance M162.QAbstractButtonConstPtr QPushButtonConst where
toQAbstractButtonConst (QPushButtonConst ptr') = M162.QAbstractButtonConst $ castQPushButtonToQAbstractButton ptr'
toQAbstractButtonConst (QPushButtonConstGc fptr' ptr') = M162.QAbstractButtonConstGc fptr' $ castQPushButtonToQAbstractButton ptr'
instance M280.QWidgetConstPtr QPushButtonConst where
toQWidgetConst (QPushButtonConst ptr') = M280.QWidgetConst $ castQPushButtonToQWidget ptr'
toQWidgetConst (QPushButtonConstGc fptr' ptr') = M280.QWidgetConstGc fptr' $ castQPushButtonToQWidget ptr'
instance M30.QObjectConstPtr QPushButtonConst where
toQObjectConst (QPushButtonConst ptr') = M30.QObjectConst $ castQPushButtonToQObject ptr'
toQObjectConst (QPushButtonConstGc fptr' ptr') = M30.QObjectConstGc fptr' $ castQPushButtonToQObject ptr'
data QPushButton =
QPushButton (HoppyF.Ptr QPushButton)
| QPushButtonGc (HoppyF.ForeignPtr ()) (HoppyF.Ptr QPushButton)
deriving (HoppyP.Show)
instance HoppyP.Eq QPushButton where
x == y = HoppyFHR.toPtr x == HoppyFHR.toPtr y
instance HoppyP.Ord QPushButton where
compare x y = HoppyP.compare (HoppyFHR.toPtr x) (HoppyFHR.toPtr y)
castQPushButtonToNonconst :: QPushButtonConst -> QPushButton
castQPushButtonToNonconst (QPushButtonConst ptr') = QPushButton $ HoppyF.castPtr ptr'
castQPushButtonToNonconst (QPushButtonConstGc fptr' ptr') = QPushButtonGc fptr' $ HoppyF.castPtr ptr'
instance HoppyFHR.CppPtr QPushButton where
nullptr = QPushButton HoppyF.nullPtr
withCppPtr (QPushButton ptr') f' = f' ptr'
withCppPtr (QPushButtonGc fptr' ptr') f' = HoppyF.withForeignPtr fptr' $ \_ -> f' ptr'
toPtr (QPushButton ptr') = ptr'
toPtr (QPushButtonGc _ ptr') = ptr'
touchCppPtr (QPushButton _) = HoppyP.return ()
touchCppPtr (QPushButtonGc fptr' _) = HoppyF.touchForeignPtr fptr'
instance HoppyFHR.Deletable QPushButton where
delete (QPushButton ptr') = delete'QPushButton $ (HoppyF.castPtr ptr' :: HoppyF.Ptr QPushButtonConst)
delete (QPushButtonGc _ _) = HoppyP.fail $ HoppyP.concat ["Deletable.delete: Asked to delete a GC-managed ", "QPushButton", " object."]
toGc this'@(QPushButton ptr') = if ptr' == HoppyF.nullPtr then HoppyP.return this' else HoppyP.fmap (HoppyP.flip QPushButtonGc ptr') $ HoppyF.newForeignPtr (HoppyF.castFunPtr deletePtr'QPushButton :: HoppyF.FunPtr (HoppyF.Ptr () -> HoppyP.IO ())) (HoppyF.castPtr ptr' :: HoppyF.Ptr ())
toGc this'@(QPushButtonGc {}) = HoppyP.return this'
instance QPushButtonConstPtr QPushButton where
toQPushButtonConst (QPushButton ptr') = QPushButtonConst $ (HoppyF.castPtr :: HoppyF.Ptr QPushButton -> HoppyF.Ptr QPushButtonConst) ptr'
toQPushButtonConst (QPushButtonGc fptr' ptr') = QPushButtonConstGc fptr' $ (HoppyF.castPtr :: HoppyF.Ptr QPushButton -> HoppyF.Ptr QPushButtonConst) ptr'
instance QPushButtonPtr QPushButton where
toQPushButton = HoppyP.id
instance M162.QAbstractButtonConstPtr QPushButton where
toQAbstractButtonConst (QPushButton ptr') = M162.QAbstractButtonConst $ castQPushButtonToQAbstractButton $ (HoppyF.castPtr :: HoppyF.Ptr QPushButton -> HoppyF.Ptr QPushButtonConst) ptr'
toQAbstractButtonConst (QPushButtonGc fptr' ptr') = M162.QAbstractButtonConstGc fptr' $ castQPushButtonToQAbstractButton $ (HoppyF.castPtr :: HoppyF.Ptr QPushButton -> HoppyF.Ptr QPushButtonConst) ptr'
instance M162.QAbstractButtonPtr QPushButton where
toQAbstractButton (QPushButton ptr') = M162.QAbstractButton $ (HoppyF.castPtr :: HoppyF.Ptr M162.QAbstractButtonConst -> HoppyF.Ptr M162.QAbstractButton) $ castQPushButtonToQAbstractButton $ (HoppyF.castPtr :: HoppyF.Ptr QPushButton -> HoppyF.Ptr QPushButtonConst) ptr'
toQAbstractButton (QPushButtonGc fptr' ptr') = M162.QAbstractButtonGc fptr' $ (HoppyF.castPtr :: HoppyF.Ptr M162.QAbstractButtonConst -> HoppyF.Ptr M162.QAbstractButton) $ castQPushButtonToQAbstractButton $ (HoppyF.castPtr :: HoppyF.Ptr QPushButton -> HoppyF.Ptr QPushButtonConst) ptr'
instance M280.QWidgetConstPtr QPushButton where
toQWidgetConst (QPushButton ptr') = M280.QWidgetConst $ castQPushButtonToQWidget $ (HoppyF.castPtr :: HoppyF.Ptr QPushButton -> HoppyF.Ptr QPushButtonConst) ptr'
toQWidgetConst (QPushButtonGc fptr' ptr') = M280.QWidgetConstGc fptr' $ castQPushButtonToQWidget $ (HoppyF.castPtr :: HoppyF.Ptr QPushButton -> HoppyF.Ptr QPushButtonConst) ptr'
instance M280.QWidgetPtr QPushButton where
toQWidget (QPushButton ptr') = M280.QWidget $ (HoppyF.castPtr :: HoppyF.Ptr M280.QWidgetConst -> HoppyF.Ptr M280.QWidget) $ castQPushButtonToQWidget $ (HoppyF.castPtr :: HoppyF.Ptr QPushButton -> HoppyF.Ptr QPushButtonConst) ptr'
toQWidget (QPushButtonGc fptr' ptr') = M280.QWidgetGc fptr' $ (HoppyF.castPtr :: HoppyF.Ptr M280.QWidgetConst -> HoppyF.Ptr M280.QWidget) $ castQPushButtonToQWidget $ (HoppyF.castPtr :: HoppyF.Ptr QPushButton -> HoppyF.Ptr QPushButtonConst) ptr'
instance M30.QObjectConstPtr QPushButton where
toQObjectConst (QPushButton ptr') = M30.QObjectConst $ castQPushButtonToQObject $ (HoppyF.castPtr :: HoppyF.Ptr QPushButton -> HoppyF.Ptr QPushButtonConst) ptr'
toQObjectConst (QPushButtonGc fptr' ptr') = M30.QObjectConstGc fptr' $ castQPushButtonToQObject $ (HoppyF.castPtr :: HoppyF.Ptr QPushButton -> HoppyF.Ptr QPushButtonConst) ptr'
instance M30.QObjectPtr QPushButton where
toQObject (QPushButton ptr') = M30.QObject $ (HoppyF.castPtr :: HoppyF.Ptr M30.QObjectConst -> HoppyF.Ptr M30.QObject) $ castQPushButtonToQObject $ (HoppyF.castPtr :: HoppyF.Ptr QPushButton -> HoppyF.Ptr QPushButtonConst) ptr'
toQObject (QPushButtonGc fptr' ptr') = M30.QObjectGc fptr' $ (HoppyF.castPtr :: HoppyF.Ptr M30.QObjectConst -> HoppyF.Ptr M30.QObject) $ castQPushButtonToQObject $ (HoppyF.castPtr :: HoppyF.Ptr QPushButton -> HoppyF.Ptr QPushButtonConst) ptr'
new :: HoppyP.IO QPushButton
new =
HoppyP.fmap QPushButton
(new')
newWithParent :: (M280.QWidgetPtr arg'1) => arg'1 -> HoppyP.IO QPushButton
newWithParent arg'1 =
HoppyFHR.withCppPtr (M280.toQWidget arg'1) $ \arg'1' ->
HoppyP.fmap QPushButton
(newWithParent' arg'1')
newWithText :: (M46.QStringValue arg'1) => arg'1 -> HoppyP.IO QPushButton
newWithText arg'1 =
M46.withQStringPtr arg'1 $ HoppyP.flip HoppyFHR.withCppPtr $ \arg'1' ->
HoppyP.fmap QPushButton
(newWithText' arg'1')
newWithTextAndParent :: (M46.QStringValue arg'1, M280.QWidgetPtr arg'2) => arg'1 -> arg'2 -> HoppyP.IO QPushButton
newWithTextAndParent arg'1 arg'2 =
M46.withQStringPtr arg'1 $ HoppyP.flip HoppyFHR.withCppPtr $ \arg'1' ->
HoppyFHR.withCppPtr (M280.toQWidget arg'2) $ \arg'2' ->
HoppyP.fmap QPushButton
(newWithTextAndParent' arg'1' arg'2')
class QPushButtonSuper a where
downToQPushButton :: a -> QPushButton
instance QPushButtonSuper M162.QAbstractButton where
downToQPushButton = castQPushButtonToNonconst . cast' . M162.castQAbstractButtonToConst
where
cast' (M162.QAbstractButtonConst ptr') = QPushButtonConst $ castQAbstractButtonToQPushButton ptr'
cast' (M162.QAbstractButtonConstGc fptr' ptr') = QPushButtonConstGc fptr' $ castQAbstractButtonToQPushButton ptr'
instance QPushButtonSuper M280.QWidget where
downToQPushButton = castQPushButtonToNonconst . cast' . M280.castQWidgetToConst
where
cast' (M280.QWidgetConst ptr') = QPushButtonConst $ castQWidgetToQPushButton ptr'
cast' (M280.QWidgetConstGc fptr' ptr') = QPushButtonConstGc fptr' $ castQWidgetToQPushButton ptr'
instance QPushButtonSuper M30.QObject where
downToQPushButton = castQPushButtonToNonconst . cast' . M30.castQObjectToConst
where
cast' (M30.QObjectConst ptr') = QPushButtonConst $ castQObjectToQPushButton ptr'
cast' (M30.QObjectConstGc fptr' ptr') = QPushButtonConstGc fptr' $ castQObjectToQPushButton ptr'
class QPushButtonSuperConst a where
downToQPushButtonConst :: a -> QPushButtonConst
instance QPushButtonSuperConst M162.QAbstractButtonConst where
downToQPushButtonConst = cast'
where
cast' (M162.QAbstractButtonConst ptr') = QPushButtonConst $ castQAbstractButtonToQPushButton ptr'
cast' (M162.QAbstractButtonConstGc fptr' ptr') = QPushButtonConstGc fptr' $ castQAbstractButtonToQPushButton ptr'
instance QPushButtonSuperConst M280.QWidgetConst where
downToQPushButtonConst = cast'
where
cast' (M280.QWidgetConst ptr') = QPushButtonConst $ castQWidgetToQPushButton ptr'
cast' (M280.QWidgetConstGc fptr' ptr') = QPushButtonConstGc fptr' $ castQWidgetToQPushButton ptr'
instance QPushButtonSuperConst M30.QObjectConst where
downToQPushButtonConst = cast'
where
cast' (M30.QObjectConst ptr') = QPushButtonConst $ castQObjectToQPushButton ptr'
cast' (M30.QObjectConstGc fptr' ptr') = QPushButtonConstGc fptr' $ castQObjectToQPushButton ptr'
instance HoppyFHR.Assignable (HoppyF.Ptr (HoppyF.Ptr QPushButton)) QPushButton where
assign ptr' value' = HoppyF.poke ptr' $ HoppyFHR.toPtr value'
instance HoppyFHR.Decodable (HoppyF.Ptr (HoppyF.Ptr QPushButton)) QPushButton where
decode = HoppyP.fmap QPushButton . HoppyF.peek