gi-gtk-0.3.16.12: GI/Gtk/Objects/ToggleAction.hs
{- |
Copyright : Will Thompson, Iñaki García Etxebarria and Jonas Platte
License : LGPL-2.1
Maintainer : Iñaki García Etxebarria (garetxe@gmail.com)
-}
module GI.Gtk.Objects.ToggleAction
(
-- * Exported types
ToggleAction(..) ,
ToggleActionK ,
toToggleAction ,
noToggleAction ,
-- * Methods
-- ** toggleActionGetActive
toggleActionGetActive ,
-- ** toggleActionGetDrawAsRadio
toggleActionGetDrawAsRadio ,
-- ** toggleActionNew
toggleActionNew ,
-- ** toggleActionSetActive
toggleActionSetActive ,
-- ** toggleActionSetDrawAsRadio
toggleActionSetDrawAsRadio ,
-- ** toggleActionToggled
toggleActionToggled ,
-- * Properties
-- ** Active
ToggleActionActivePropertyInfo ,
constructToggleActionActive ,
getToggleActionActive ,
setToggleActionActive ,
-- ** DrawAsRadio
ToggleActionDrawAsRadioPropertyInfo ,
constructToggleActionDrawAsRadio ,
getToggleActionDrawAsRadio ,
setToggleActionDrawAsRadio ,
-- * Signals
-- ** Toggled
ToggleActionToggledCallback ,
ToggleActionToggledCallbackC ,
ToggleActionToggledSignalInfo ,
afterToggleActionToggled ,
mkToggleActionToggledCallback ,
noToggleActionToggledCallback ,
onToggleActionToggled ,
toggleActionToggledCallbackWrapper ,
toggleActionToggledClosure ,
) where
import Prelude ()
import Data.GI.Base.ShortPrelude
import qualified Data.Text as T
import qualified Data.ByteString.Char8 as B
import qualified Data.Map as Map
import GI.Gtk.Types
import GI.Gtk.Callbacks
import qualified GI.GObject as GObject
newtype ToggleAction = ToggleAction (ForeignPtr ToggleAction)
foreign import ccall "gtk_toggle_action_get_type"
c_gtk_toggle_action_get_type :: IO GType
type instance ParentTypes ToggleAction = ToggleActionParentTypes
type ToggleActionParentTypes = '[Action, GObject.Object, Buildable]
instance GObject ToggleAction where
gobjectIsInitiallyUnowned _ = False
gobjectType _ = c_gtk_toggle_action_get_type
class GObject o => ToggleActionK o
instance (GObject o, IsDescendantOf ToggleAction o) => ToggleActionK o
toToggleAction :: ToggleActionK o => o -> IO ToggleAction
toToggleAction = unsafeCastTo ToggleAction
noToggleAction :: Maybe ToggleAction
noToggleAction = Nothing
-- signal ToggleAction::toggled
type ToggleActionToggledCallback =
IO ()
noToggleActionToggledCallback :: Maybe ToggleActionToggledCallback
noToggleActionToggledCallback = Nothing
type ToggleActionToggledCallbackC =
Ptr () -> -- object
Ptr () -> -- user_data
IO ()
foreign import ccall "wrapper"
mkToggleActionToggledCallback :: ToggleActionToggledCallbackC -> IO (FunPtr ToggleActionToggledCallbackC)
toggleActionToggledClosure :: ToggleActionToggledCallback -> IO Closure
toggleActionToggledClosure cb = newCClosure =<< mkToggleActionToggledCallback wrapped
where wrapped = toggleActionToggledCallbackWrapper cb
toggleActionToggledCallbackWrapper ::
ToggleActionToggledCallback ->
Ptr () ->
Ptr () ->
IO ()
toggleActionToggledCallbackWrapper _cb _ _ = do
_cb
onToggleActionToggled :: (GObject a, MonadIO m) => a -> ToggleActionToggledCallback -> m SignalHandlerId
onToggleActionToggled obj cb = liftIO $ connectToggleActionToggled obj cb SignalConnectBefore
afterToggleActionToggled :: (GObject a, MonadIO m) => a -> ToggleActionToggledCallback -> m SignalHandlerId
afterToggleActionToggled obj cb = connectToggleActionToggled obj cb SignalConnectAfter
connectToggleActionToggled :: (GObject a, MonadIO m) =>
a -> ToggleActionToggledCallback -> SignalConnectMode -> m SignalHandlerId
connectToggleActionToggled obj cb after = liftIO $ do
cb' <- mkToggleActionToggledCallback (toggleActionToggledCallbackWrapper cb)
connectSignalFunPtr obj "toggled" cb' after
-- VVV Prop "active"
-- Type: TBasicType TBoolean
-- Flags: [PropertyReadable,PropertyWritable]
getToggleActionActive :: (MonadIO m, ToggleActionK o) => o -> m Bool
getToggleActionActive obj = liftIO $ getObjectPropertyBool obj "active"
setToggleActionActive :: (MonadIO m, ToggleActionK o) => o -> Bool -> m ()
setToggleActionActive obj val = liftIO $ setObjectPropertyBool obj "active" val
constructToggleActionActive :: Bool -> IO ([Char], GValue)
constructToggleActionActive val = constructObjectPropertyBool "active" val
data ToggleActionActivePropertyInfo
instance AttrInfo ToggleActionActivePropertyInfo where
type AttrAllowedOps ToggleActionActivePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
type AttrSetTypeConstraint ToggleActionActivePropertyInfo = (~) Bool
type AttrBaseTypeConstraint ToggleActionActivePropertyInfo = ToggleActionK
type AttrGetType ToggleActionActivePropertyInfo = Bool
type AttrLabel ToggleActionActivePropertyInfo = "ToggleAction::active"
attrGet _ = getToggleActionActive
attrSet _ = setToggleActionActive
attrConstruct _ = constructToggleActionActive
-- VVV Prop "draw-as-radio"
-- Type: TBasicType TBoolean
-- Flags: [PropertyReadable,PropertyWritable]
getToggleActionDrawAsRadio :: (MonadIO m, ToggleActionK o) => o -> m Bool
getToggleActionDrawAsRadio obj = liftIO $ getObjectPropertyBool obj "draw-as-radio"
setToggleActionDrawAsRadio :: (MonadIO m, ToggleActionK o) => o -> Bool -> m ()
setToggleActionDrawAsRadio obj val = liftIO $ setObjectPropertyBool obj "draw-as-radio" val
constructToggleActionDrawAsRadio :: Bool -> IO ([Char], GValue)
constructToggleActionDrawAsRadio val = constructObjectPropertyBool "draw-as-radio" val
data ToggleActionDrawAsRadioPropertyInfo
instance AttrInfo ToggleActionDrawAsRadioPropertyInfo where
type AttrAllowedOps ToggleActionDrawAsRadioPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
type AttrSetTypeConstraint ToggleActionDrawAsRadioPropertyInfo = (~) Bool
type AttrBaseTypeConstraint ToggleActionDrawAsRadioPropertyInfo = ToggleActionK
type AttrGetType ToggleActionDrawAsRadioPropertyInfo = Bool
type AttrLabel ToggleActionDrawAsRadioPropertyInfo = "ToggleAction::draw-as-radio"
attrGet _ = getToggleActionDrawAsRadio
attrSet _ = setToggleActionDrawAsRadio
attrConstruct _ = constructToggleActionDrawAsRadio
type instance AttributeList ToggleAction = ToggleActionAttributeList
type ToggleActionAttributeList = ('[ '("action-group", ActionActionGroupPropertyInfo), '("active", ToggleActionActivePropertyInfo), '("always-show-image", ActionAlwaysShowImagePropertyInfo), '("draw-as-radio", ToggleActionDrawAsRadioPropertyInfo), '("gicon", ActionGiconPropertyInfo), '("hide-if-empty", ActionHideIfEmptyPropertyInfo), '("icon-name", ActionIconNamePropertyInfo), '("is-important", ActionIsImportantPropertyInfo), '("label", ActionLabelPropertyInfo), '("name", ActionNamePropertyInfo), '("sensitive", ActionSensitivePropertyInfo), '("short-label", ActionShortLabelPropertyInfo), '("stock-id", ActionStockIdPropertyInfo), '("tooltip", ActionTooltipPropertyInfo), '("visible", ActionVisiblePropertyInfo), '("visible-horizontal", ActionVisibleHorizontalPropertyInfo), '("visible-overflown", ActionVisibleOverflownPropertyInfo), '("visible-vertical", ActionVisibleVerticalPropertyInfo)] :: [(Symbol, *)])
data ToggleActionToggledSignalInfo
instance SignalInfo ToggleActionToggledSignalInfo where
type HaskellCallbackType ToggleActionToggledSignalInfo = ToggleActionToggledCallback
connectSignal _ = connectToggleActionToggled
type instance SignalList ToggleAction = ToggleActionSignalList
type ToggleActionSignalList = ('[ '("activate", ActionActivateSignalInfo), '("notify", GObject.ObjectNotifySignalInfo), '("toggled", ToggleActionToggledSignalInfo), '("notify::[property]", GObjectNotifySignalInfo)] :: [(Symbol, *)])
-- method ToggleAction::new
-- method type : Constructor
-- Args : [Arg {argName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "label", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "tooltip", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "stock_id", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "label", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "tooltip", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "stock_id", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TInterface "Gtk" "ToggleAction"
-- throws : False
-- Skip return : False
foreign import ccall "gtk_toggle_action_new" gtk_toggle_action_new ::
CString -> -- name : TBasicType TUTF8
CString -> -- label : TBasicType TUTF8
CString -> -- tooltip : TBasicType TUTF8
CString -> -- stock_id : TBasicType TUTF8
IO (Ptr ToggleAction)
{-# DEPRECATED toggleActionNew ["(Since version 3.10)"]#-}
toggleActionNew ::
(MonadIO m) =>
T.Text -> -- name
Maybe (T.Text) -> -- label
Maybe (T.Text) -> -- tooltip
Maybe (T.Text) -> -- stock_id
m ToggleAction
toggleActionNew name label tooltip stock_id = liftIO $ do
name' <- textToCString name
maybeLabel <- case label of
Nothing -> return nullPtr
Just jLabel -> do
jLabel' <- textToCString jLabel
return jLabel'
maybeTooltip <- case tooltip of
Nothing -> return nullPtr
Just jTooltip -> do
jTooltip' <- textToCString jTooltip
return jTooltip'
maybeStock_id <- case stock_id of
Nothing -> return nullPtr
Just jStock_id -> do
jStock_id' <- textToCString jStock_id
return jStock_id'
result <- gtk_toggle_action_new name' maybeLabel maybeTooltip maybeStock_id
checkUnexpectedReturnNULL "gtk_toggle_action_new" result
result' <- (wrapObject ToggleAction) result
freeMem name'
freeMem maybeLabel
freeMem maybeTooltip
freeMem maybeStock_id
return result'
-- method ToggleAction::get_active
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "Gtk" "ToggleAction", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gtk" "ToggleAction", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TBasicType TBoolean
-- throws : False
-- Skip return : False
foreign import ccall "gtk_toggle_action_get_active" gtk_toggle_action_get_active ::
Ptr ToggleAction -> -- _obj : TInterface "Gtk" "ToggleAction"
IO CInt
{-# DEPRECATED toggleActionGetActive ["(Since version 3.10)"]#-}
toggleActionGetActive ::
(MonadIO m, ToggleActionK a) =>
a -> -- _obj
m Bool
toggleActionGetActive _obj = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
result <- gtk_toggle_action_get_active _obj'
let result' = (/= 0) result
touchManagedPtr _obj
return result'
-- method ToggleAction::get_draw_as_radio
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "Gtk" "ToggleAction", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gtk" "ToggleAction", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TBasicType TBoolean
-- throws : False
-- Skip return : False
foreign import ccall "gtk_toggle_action_get_draw_as_radio" gtk_toggle_action_get_draw_as_radio ::
Ptr ToggleAction -> -- _obj : TInterface "Gtk" "ToggleAction"
IO CInt
{-# DEPRECATED toggleActionGetDrawAsRadio ["(Since version 3.10)"]#-}
toggleActionGetDrawAsRadio ::
(MonadIO m, ToggleActionK a) =>
a -> -- _obj
m Bool
toggleActionGetDrawAsRadio _obj = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
result <- gtk_toggle_action_get_draw_as_radio _obj'
let result' = (/= 0) result
touchManagedPtr _obj
return result'
-- method ToggleAction::set_active
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "Gtk" "ToggleAction", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "is_active", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gtk" "ToggleAction", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "is_active", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TBasicType TVoid
-- throws : False
-- Skip return : False
foreign import ccall "gtk_toggle_action_set_active" gtk_toggle_action_set_active ::
Ptr ToggleAction -> -- _obj : TInterface "Gtk" "ToggleAction"
CInt -> -- is_active : TBasicType TBoolean
IO ()
{-# DEPRECATED toggleActionSetActive ["(Since version 3.10)"]#-}
toggleActionSetActive ::
(MonadIO m, ToggleActionK a) =>
a -> -- _obj
Bool -> -- is_active
m ()
toggleActionSetActive _obj is_active = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
let is_active' = (fromIntegral . fromEnum) is_active
gtk_toggle_action_set_active _obj' is_active'
touchManagedPtr _obj
return ()
-- method ToggleAction::set_draw_as_radio
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "Gtk" "ToggleAction", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "draw_as_radio", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gtk" "ToggleAction", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "draw_as_radio", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TBasicType TVoid
-- throws : False
-- Skip return : False
foreign import ccall "gtk_toggle_action_set_draw_as_radio" gtk_toggle_action_set_draw_as_radio ::
Ptr ToggleAction -> -- _obj : TInterface "Gtk" "ToggleAction"
CInt -> -- draw_as_radio : TBasicType TBoolean
IO ()
{-# DEPRECATED toggleActionSetDrawAsRadio ["(Since version 3.10)"]#-}
toggleActionSetDrawAsRadio ::
(MonadIO m, ToggleActionK a) =>
a -> -- _obj
Bool -> -- draw_as_radio
m ()
toggleActionSetDrawAsRadio _obj draw_as_radio = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
let draw_as_radio' = (fromIntegral . fromEnum) draw_as_radio
gtk_toggle_action_set_draw_as_radio _obj' draw_as_radio'
touchManagedPtr _obj
return ()
-- method ToggleAction::toggled
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "Gtk" "ToggleAction", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gtk" "ToggleAction", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TBasicType TVoid
-- throws : False
-- Skip return : False
foreign import ccall "gtk_toggle_action_toggled" gtk_toggle_action_toggled ::
Ptr ToggleAction -> -- _obj : TInterface "Gtk" "ToggleAction"
IO ()
{-# DEPRECATED toggleActionToggled ["(Since version 3.10)"]#-}
toggleActionToggled ::
(MonadIO m, ToggleActionK a) =>
a -> -- _obj
m ()
toggleActionToggled _obj = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
gtk_toggle_action_toggled _obj'
touchManagedPtr _obj
return ()