gi-gtk-0.3.18.12: GI/Gtk/Objects/AccelGroup.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.AccelGroup
(
-- * Exported types
AccelGroup(..) ,
AccelGroupK ,
toAccelGroup ,
noAccelGroup ,
-- * Methods
-- ** accelGroupActivate
accelGroupActivate ,
-- ** accelGroupConnect
accelGroupConnect ,
-- ** accelGroupConnectByPath
accelGroupConnectByPath ,
-- ** accelGroupDisconnect
accelGroupDisconnect ,
-- ** accelGroupDisconnectKey
accelGroupDisconnectKey ,
-- ** accelGroupFind
accelGroupFind ,
-- ** accelGroupFromAccelClosure
accelGroupFromAccelClosure ,
-- ** accelGroupGetIsLocked
accelGroupGetIsLocked ,
-- ** accelGroupGetModifierMask
accelGroupGetModifierMask ,
-- ** accelGroupLock
accelGroupLock ,
-- ** accelGroupNew
accelGroupNew ,
-- ** accelGroupQuery
accelGroupQuery ,
-- ** accelGroupUnlock
accelGroupUnlock ,
-- * Properties
-- ** IsLocked
AccelGroupIsLockedPropertyInfo ,
getAccelGroupIsLocked ,
-- ** ModifierMask
AccelGroupModifierMaskPropertyInfo ,
getAccelGroupModifierMask ,
-- * Signals
-- ** AccelActivate
AccelGroupAccelActivateCallback ,
AccelGroupAccelActivateCallbackC ,
AccelGroupAccelActivateSignalInfo ,
accelGroupAccelActivateCallbackWrapper ,
accelGroupAccelActivateClosure ,
afterAccelGroupAccelActivate ,
mkAccelGroupAccelActivateCallback ,
noAccelGroupAccelActivateCallback ,
onAccelGroupAccelActivate ,
-- ** AccelChanged
AccelGroupAccelChangedCallback ,
AccelGroupAccelChangedCallbackC ,
AccelGroupAccelChangedSignalInfo ,
accelGroupAccelChangedCallbackWrapper ,
accelGroupAccelChangedClosure ,
afterAccelGroupAccelChanged ,
mkAccelGroupAccelChangedCallback ,
noAccelGroupAccelChangedCallback ,
onAccelGroupAccelChanged ,
) 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
import qualified GI.Gdk as Gdk
newtype AccelGroup = AccelGroup (ForeignPtr AccelGroup)
foreign import ccall "gtk_accel_group_get_type"
c_gtk_accel_group_get_type :: IO GType
type instance ParentTypes AccelGroup = AccelGroupParentTypes
type AccelGroupParentTypes = '[GObject.Object]
instance GObject AccelGroup where
gobjectIsInitiallyUnowned _ = False
gobjectType _ = c_gtk_accel_group_get_type
class GObject o => AccelGroupK o
instance (GObject o, IsDescendantOf AccelGroup o) => AccelGroupK o
toAccelGroup :: AccelGroupK o => o -> IO AccelGroup
toAccelGroup = unsafeCastTo AccelGroup
noAccelGroup :: Maybe AccelGroup
noAccelGroup = Nothing
-- signal AccelGroup::accel-activate
type AccelGroupAccelActivateCallback =
GObject.Object ->
Word32 ->
[Gdk.ModifierType] ->
IO Bool
noAccelGroupAccelActivateCallback :: Maybe AccelGroupAccelActivateCallback
noAccelGroupAccelActivateCallback = Nothing
type AccelGroupAccelActivateCallbackC =
Ptr () -> -- object
Ptr GObject.Object ->
Word32 ->
CUInt ->
Ptr () -> -- user_data
IO CInt
foreign import ccall "wrapper"
mkAccelGroupAccelActivateCallback :: AccelGroupAccelActivateCallbackC -> IO (FunPtr AccelGroupAccelActivateCallbackC)
accelGroupAccelActivateClosure :: AccelGroupAccelActivateCallback -> IO Closure
accelGroupAccelActivateClosure cb = newCClosure =<< mkAccelGroupAccelActivateCallback wrapped
where wrapped = accelGroupAccelActivateCallbackWrapper cb
accelGroupAccelActivateCallbackWrapper ::
AccelGroupAccelActivateCallback ->
Ptr () ->
Ptr GObject.Object ->
Word32 ->
CUInt ->
Ptr () ->
IO CInt
accelGroupAccelActivateCallbackWrapper _cb _ acceleratable keyval modifier _ = do
acceleratable' <- (newObject GObject.Object) acceleratable
let modifier' = wordToGFlags modifier
result <- _cb acceleratable' keyval modifier'
let result' = (fromIntegral . fromEnum) result
return result'
onAccelGroupAccelActivate :: (GObject a, MonadIO m) => a -> AccelGroupAccelActivateCallback -> m SignalHandlerId
onAccelGroupAccelActivate obj cb = liftIO $ connectAccelGroupAccelActivate obj cb SignalConnectBefore
afterAccelGroupAccelActivate :: (GObject a, MonadIO m) => a -> AccelGroupAccelActivateCallback -> m SignalHandlerId
afterAccelGroupAccelActivate obj cb = connectAccelGroupAccelActivate obj cb SignalConnectAfter
connectAccelGroupAccelActivate :: (GObject a, MonadIO m) =>
a -> AccelGroupAccelActivateCallback -> SignalConnectMode -> m SignalHandlerId
connectAccelGroupAccelActivate obj cb after = liftIO $ do
cb' <- mkAccelGroupAccelActivateCallback (accelGroupAccelActivateCallbackWrapper cb)
connectSignalFunPtr obj "accel-activate" cb' after
-- signal AccelGroup::accel-changed
type AccelGroupAccelChangedCallback =
Word32 ->
[Gdk.ModifierType] ->
Closure ->
IO ()
noAccelGroupAccelChangedCallback :: Maybe AccelGroupAccelChangedCallback
noAccelGroupAccelChangedCallback = Nothing
type AccelGroupAccelChangedCallbackC =
Ptr () -> -- object
Word32 ->
CUInt ->
Ptr Closure ->
Ptr () -> -- user_data
IO ()
foreign import ccall "wrapper"
mkAccelGroupAccelChangedCallback :: AccelGroupAccelChangedCallbackC -> IO (FunPtr AccelGroupAccelChangedCallbackC)
accelGroupAccelChangedClosure :: AccelGroupAccelChangedCallback -> IO Closure
accelGroupAccelChangedClosure cb = newCClosure =<< mkAccelGroupAccelChangedCallback wrapped
where wrapped = accelGroupAccelChangedCallbackWrapper cb
accelGroupAccelChangedCallbackWrapper ::
AccelGroupAccelChangedCallback ->
Ptr () ->
Word32 ->
CUInt ->
Ptr Closure ->
Ptr () ->
IO ()
accelGroupAccelChangedCallbackWrapper _cb _ keyval modifier accel_closure _ = do
let modifier' = wordToGFlags modifier
accel_closure' <- (newBoxed Closure) accel_closure
_cb keyval modifier' accel_closure'
onAccelGroupAccelChanged :: (GObject a, MonadIO m) => a -> AccelGroupAccelChangedCallback -> m SignalHandlerId
onAccelGroupAccelChanged obj cb = liftIO $ connectAccelGroupAccelChanged obj cb SignalConnectBefore
afterAccelGroupAccelChanged :: (GObject a, MonadIO m) => a -> AccelGroupAccelChangedCallback -> m SignalHandlerId
afterAccelGroupAccelChanged obj cb = connectAccelGroupAccelChanged obj cb SignalConnectAfter
connectAccelGroupAccelChanged :: (GObject a, MonadIO m) =>
a -> AccelGroupAccelChangedCallback -> SignalConnectMode -> m SignalHandlerId
connectAccelGroupAccelChanged obj cb after = liftIO $ do
cb' <- mkAccelGroupAccelChangedCallback (accelGroupAccelChangedCallbackWrapper cb)
connectSignalFunPtr obj "accel-changed" cb' after
-- VVV Prop "is-locked"
-- Type: TBasicType TBoolean
-- Flags: [PropertyReadable]
getAccelGroupIsLocked :: (MonadIO m, AccelGroupK o) => o -> m Bool
getAccelGroupIsLocked obj = liftIO $ getObjectPropertyBool obj "is-locked"
data AccelGroupIsLockedPropertyInfo
instance AttrInfo AccelGroupIsLockedPropertyInfo where
type AttrAllowedOps AccelGroupIsLockedPropertyInfo = '[ 'AttrGet]
type AttrSetTypeConstraint AccelGroupIsLockedPropertyInfo = (~) ()
type AttrBaseTypeConstraint AccelGroupIsLockedPropertyInfo = AccelGroupK
type AttrGetType AccelGroupIsLockedPropertyInfo = Bool
type AttrLabel AccelGroupIsLockedPropertyInfo = "AccelGroup::is-locked"
attrGet _ = getAccelGroupIsLocked
attrSet _ = undefined
attrConstruct _ = undefined
-- VVV Prop "modifier-mask"
-- Type: TInterface "Gdk" "ModifierType"
-- Flags: [PropertyReadable]
getAccelGroupModifierMask :: (MonadIO m, AccelGroupK o) => o -> m [Gdk.ModifierType]
getAccelGroupModifierMask obj = liftIO $ getObjectPropertyFlags obj "modifier-mask"
data AccelGroupModifierMaskPropertyInfo
instance AttrInfo AccelGroupModifierMaskPropertyInfo where
type AttrAllowedOps AccelGroupModifierMaskPropertyInfo = '[ 'AttrGet]
type AttrSetTypeConstraint AccelGroupModifierMaskPropertyInfo = (~) ()
type AttrBaseTypeConstraint AccelGroupModifierMaskPropertyInfo = AccelGroupK
type AttrGetType AccelGroupModifierMaskPropertyInfo = [Gdk.ModifierType]
type AttrLabel AccelGroupModifierMaskPropertyInfo = "AccelGroup::modifier-mask"
attrGet _ = getAccelGroupModifierMask
attrSet _ = undefined
attrConstruct _ = undefined
type instance AttributeList AccelGroup = AccelGroupAttributeList
type AccelGroupAttributeList = ('[ '("is-locked", AccelGroupIsLockedPropertyInfo), '("modifier-mask", AccelGroupModifierMaskPropertyInfo)] :: [(Symbol, *)])
data AccelGroupAccelActivateSignalInfo
instance SignalInfo AccelGroupAccelActivateSignalInfo where
type HaskellCallbackType AccelGroupAccelActivateSignalInfo = AccelGroupAccelActivateCallback
connectSignal _ = connectAccelGroupAccelActivate
data AccelGroupAccelChangedSignalInfo
instance SignalInfo AccelGroupAccelChangedSignalInfo where
type HaskellCallbackType AccelGroupAccelChangedSignalInfo = AccelGroupAccelChangedCallback
connectSignal _ = connectAccelGroupAccelChanged
type instance SignalList AccelGroup = AccelGroupSignalList
type AccelGroupSignalList = ('[ '("accel-activate", AccelGroupAccelActivateSignalInfo), '("accel-changed", AccelGroupAccelChangedSignalInfo), '("notify", GObject.ObjectNotifySignalInfo), '("notify::[property]", GObjectNotifySignalInfo)] :: [(Symbol, *)])
-- method AccelGroup::new
-- method type : Constructor
-- Args : []
-- Lengths : []
-- hInArgs : []
-- returnType : TInterface "Gtk" "AccelGroup"
-- throws : False
-- Skip return : False
foreign import ccall "gtk_accel_group_new" gtk_accel_group_new ::
IO (Ptr AccelGroup)
accelGroupNew ::
(MonadIO m) =>
m AccelGroup
accelGroupNew = liftIO $ do
result <- gtk_accel_group_new
checkUnexpectedReturnNULL "gtk_accel_group_new" result
result' <- (wrapObject AccelGroup) result
return result'
-- method AccelGroup::activate
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "Gtk" "AccelGroup", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "accel_quark", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "acceleratable", argType = TInterface "GObject" "Object", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "accel_key", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "accel_mods", argType = TInterface "Gdk" "ModifierType", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gtk" "AccelGroup", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "accel_quark", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "acceleratable", argType = TInterface "GObject" "Object", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "accel_key", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "accel_mods", argType = TInterface "Gdk" "ModifierType", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TBasicType TBoolean
-- throws : False
-- Skip return : False
foreign import ccall "gtk_accel_group_activate" gtk_accel_group_activate ::
Ptr AccelGroup -> -- _obj : TInterface "Gtk" "AccelGroup"
Word32 -> -- accel_quark : TBasicType TUInt32
Ptr GObject.Object -> -- acceleratable : TInterface "GObject" "Object"
Word32 -> -- accel_key : TBasicType TUInt32
CUInt -> -- accel_mods : TInterface "Gdk" "ModifierType"
IO CInt
accelGroupActivate ::
(MonadIO m, AccelGroupK a, GObject.ObjectK b) =>
a -> -- _obj
Word32 -> -- accel_quark
b -> -- acceleratable
Word32 -> -- accel_key
[Gdk.ModifierType] -> -- accel_mods
m Bool
accelGroupActivate _obj accel_quark acceleratable accel_key accel_mods = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
let acceleratable' = unsafeManagedPtrCastPtr acceleratable
let accel_mods' = gflagsToWord accel_mods
result <- gtk_accel_group_activate _obj' accel_quark acceleratable' accel_key accel_mods'
let result' = (/= 0) result
touchManagedPtr _obj
touchManagedPtr acceleratable
return result'
-- method AccelGroup::connect
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "Gtk" "AccelGroup", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "accel_key", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "accel_mods", argType = TInterface "Gdk" "ModifierType", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "accel_flags", argType = TInterface "Gtk" "AccelFlags", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "closure", argType = TInterface "GObject" "Closure", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gtk" "AccelGroup", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "accel_key", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "accel_mods", argType = TInterface "Gdk" "ModifierType", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "accel_flags", argType = TInterface "Gtk" "AccelFlags", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "closure", argType = TInterface "GObject" "Closure", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TBasicType TVoid
-- throws : False
-- Skip return : False
foreign import ccall "gtk_accel_group_connect" gtk_accel_group_connect ::
Ptr AccelGroup -> -- _obj : TInterface "Gtk" "AccelGroup"
Word32 -> -- accel_key : TBasicType TUInt32
CUInt -> -- accel_mods : TInterface "Gdk" "ModifierType"
CUInt -> -- accel_flags : TInterface "Gtk" "AccelFlags"
Ptr Closure -> -- closure : TInterface "GObject" "Closure"
IO ()
accelGroupConnect ::
(MonadIO m, AccelGroupK a) =>
a -> -- _obj
Word32 -> -- accel_key
[Gdk.ModifierType] -> -- accel_mods
[AccelFlags] -> -- accel_flags
Closure -> -- closure
m ()
accelGroupConnect _obj accel_key accel_mods accel_flags closure = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
let accel_mods' = gflagsToWord accel_mods
let accel_flags' = gflagsToWord accel_flags
let closure' = unsafeManagedPtrGetPtr closure
gtk_accel_group_connect _obj' accel_key accel_mods' accel_flags' closure'
touchManagedPtr _obj
touchManagedPtr closure
return ()
-- method AccelGroup::connect_by_path
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "Gtk" "AccelGroup", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "accel_path", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "closure", argType = TInterface "GObject" "Closure", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gtk" "AccelGroup", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "accel_path", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "closure", argType = TInterface "GObject" "Closure", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TBasicType TVoid
-- throws : False
-- Skip return : False
foreign import ccall "gtk_accel_group_connect_by_path" gtk_accel_group_connect_by_path ::
Ptr AccelGroup -> -- _obj : TInterface "Gtk" "AccelGroup"
CString -> -- accel_path : TBasicType TUTF8
Ptr Closure -> -- closure : TInterface "GObject" "Closure"
IO ()
accelGroupConnectByPath ::
(MonadIO m, AccelGroupK a) =>
a -> -- _obj
T.Text -> -- accel_path
Closure -> -- closure
m ()
accelGroupConnectByPath _obj accel_path closure = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
accel_path' <- textToCString accel_path
let closure' = unsafeManagedPtrGetPtr closure
gtk_accel_group_connect_by_path _obj' accel_path' closure'
touchManagedPtr _obj
touchManagedPtr closure
freeMem accel_path'
return ()
-- method AccelGroup::disconnect
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "Gtk" "AccelGroup", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "closure", argType = TInterface "GObject" "Closure", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gtk" "AccelGroup", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "closure", argType = TInterface "GObject" "Closure", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TBasicType TBoolean
-- throws : False
-- Skip return : False
foreign import ccall "gtk_accel_group_disconnect" gtk_accel_group_disconnect ::
Ptr AccelGroup -> -- _obj : TInterface "Gtk" "AccelGroup"
Ptr Closure -> -- closure : TInterface "GObject" "Closure"
IO CInt
accelGroupDisconnect ::
(MonadIO m, AccelGroupK a) =>
a -> -- _obj
Maybe (Closure) -> -- closure
m Bool
accelGroupDisconnect _obj closure = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
maybeClosure <- case closure of
Nothing -> return nullPtr
Just jClosure -> do
let jClosure' = unsafeManagedPtrGetPtr jClosure
return jClosure'
result <- gtk_accel_group_disconnect _obj' maybeClosure
let result' = (/= 0) result
touchManagedPtr _obj
whenJust closure touchManagedPtr
return result'
-- method AccelGroup::disconnect_key
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "Gtk" "AccelGroup", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "accel_key", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "accel_mods", argType = TInterface "Gdk" "ModifierType", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gtk" "AccelGroup", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "accel_key", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "accel_mods", argType = TInterface "Gdk" "ModifierType", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TBasicType TBoolean
-- throws : False
-- Skip return : False
foreign import ccall "gtk_accel_group_disconnect_key" gtk_accel_group_disconnect_key ::
Ptr AccelGroup -> -- _obj : TInterface "Gtk" "AccelGroup"
Word32 -> -- accel_key : TBasicType TUInt32
CUInt -> -- accel_mods : TInterface "Gdk" "ModifierType"
IO CInt
accelGroupDisconnectKey ::
(MonadIO m, AccelGroupK a) =>
a -> -- _obj
Word32 -> -- accel_key
[Gdk.ModifierType] -> -- accel_mods
m Bool
accelGroupDisconnectKey _obj accel_key accel_mods = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
let accel_mods' = gflagsToWord accel_mods
result <- gtk_accel_group_disconnect_key _obj' accel_key accel_mods'
let result' = (/= 0) result
touchManagedPtr _obj
return result'
-- method AccelGroup::find
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "Gtk" "AccelGroup", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "find_func", argType = TInterface "Gtk" "AccelGroupFindFunc", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeCall, argClosure = 2, argDestroy = -1, transfer = TransferNothing},Arg {argName = "data", argType = TBasicType TVoid, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gtk" "AccelGroup", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "find_func", argType = TInterface "Gtk" "AccelGroupFindFunc", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeCall, argClosure = 2, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TInterface "Gtk" "AccelKey"
-- throws : False
-- Skip return : False
foreign import ccall "gtk_accel_group_find" gtk_accel_group_find ::
Ptr AccelGroup -> -- _obj : TInterface "Gtk" "AccelGroup"
FunPtr AccelGroupFindFuncC -> -- find_func : TInterface "Gtk" "AccelGroupFindFunc"
Ptr () -> -- data : TBasicType TVoid
IO (Ptr AccelKey)
accelGroupFind ::
(MonadIO m, AccelGroupK a) =>
a -> -- _obj
AccelGroupFindFunc -> -- find_func
m AccelKey
accelGroupFind _obj find_func = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
find_func' <- mkAccelGroupFindFunc (accelGroupFindFuncWrapper Nothing find_func)
let data_ = nullPtr
result <- gtk_accel_group_find _obj' find_func' data_
checkUnexpectedReturnNULL "gtk_accel_group_find" result
result' <- (newPtr 12 AccelKey) result
safeFreeFunPtr $ castFunPtrToPtr find_func'
touchManagedPtr _obj
return result'
-- method AccelGroup::get_is_locked
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "Gtk" "AccelGroup", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gtk" "AccelGroup", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TBasicType TBoolean
-- throws : False
-- Skip return : False
foreign import ccall "gtk_accel_group_get_is_locked" gtk_accel_group_get_is_locked ::
Ptr AccelGroup -> -- _obj : TInterface "Gtk" "AccelGroup"
IO CInt
accelGroupGetIsLocked ::
(MonadIO m, AccelGroupK a) =>
a -> -- _obj
m Bool
accelGroupGetIsLocked _obj = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
result <- gtk_accel_group_get_is_locked _obj'
let result' = (/= 0) result
touchManagedPtr _obj
return result'
-- method AccelGroup::get_modifier_mask
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "Gtk" "AccelGroup", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gtk" "AccelGroup", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TInterface "Gdk" "ModifierType"
-- throws : False
-- Skip return : False
foreign import ccall "gtk_accel_group_get_modifier_mask" gtk_accel_group_get_modifier_mask ::
Ptr AccelGroup -> -- _obj : TInterface "Gtk" "AccelGroup"
IO CUInt
accelGroupGetModifierMask ::
(MonadIO m, AccelGroupK a) =>
a -> -- _obj
m [Gdk.ModifierType]
accelGroupGetModifierMask _obj = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
result <- gtk_accel_group_get_modifier_mask _obj'
let result' = wordToGFlags result
touchManagedPtr _obj
return result'
-- method AccelGroup::lock
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "Gtk" "AccelGroup", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gtk" "AccelGroup", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TBasicType TVoid
-- throws : False
-- Skip return : False
foreign import ccall "gtk_accel_group_lock" gtk_accel_group_lock ::
Ptr AccelGroup -> -- _obj : TInterface "Gtk" "AccelGroup"
IO ()
accelGroupLock ::
(MonadIO m, AccelGroupK a) =>
a -> -- _obj
m ()
accelGroupLock _obj = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
gtk_accel_group_lock _obj'
touchManagedPtr _obj
return ()
-- method AccelGroup::query
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "Gtk" "AccelGroup", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "accel_key", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "accel_mods", argType = TInterface "Gdk" "ModifierType", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "n_entries", argType = TBasicType TUInt32, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}]
-- Lengths : [Arg {argName = "n_entries", argType = TBasicType TUInt32, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}]
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gtk" "AccelGroup", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "accel_key", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "accel_mods", argType = TInterface "Gdk" "ModifierType", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TCArray False (-1) 3 (TInterface "Gtk" "AccelGroupEntry")
-- throws : False
-- Skip return : False
foreign import ccall "gtk_accel_group_query" gtk_accel_group_query ::
Ptr AccelGroup -> -- _obj : TInterface "Gtk" "AccelGroup"
Word32 -> -- accel_key : TBasicType TUInt32
CUInt -> -- accel_mods : TInterface "Gdk" "ModifierType"
Ptr Word32 -> -- n_entries : TBasicType TUInt32
IO (Ptr AccelGroupEntry)
accelGroupQuery ::
(MonadIO m, AccelGroupK a) =>
a -> -- _obj
Word32 -> -- accel_key
[Gdk.ModifierType] -> -- accel_mods
m [AccelGroupEntry]
accelGroupQuery _obj accel_key accel_mods = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
let accel_mods' = gflagsToWord accel_mods
n_entries <- allocMem :: IO (Ptr Word32)
result <- gtk_accel_group_query _obj' accel_key accel_mods' n_entries
n_entries' <- peek n_entries
checkUnexpectedReturnNULL "gtk_accel_group_query" result
result' <- (unpackBlockArrayWithLength 32 n_entries') result
result'' <- mapM (newPtr 32 AccelGroupEntry) result'
touchManagedPtr _obj
freeMem n_entries
return result''
-- method AccelGroup::unlock
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "Gtk" "AccelGroup", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gtk" "AccelGroup", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TBasicType TVoid
-- throws : False
-- Skip return : False
foreign import ccall "gtk_accel_group_unlock" gtk_accel_group_unlock ::
Ptr AccelGroup -> -- _obj : TInterface "Gtk" "AccelGroup"
IO ()
accelGroupUnlock ::
(MonadIO m, AccelGroupK a) =>
a -> -- _obj
m ()
accelGroupUnlock _obj = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
gtk_accel_group_unlock _obj'
touchManagedPtr _obj
return ()
-- method AccelGroup::from_accel_closure
-- method type : MemberFunction
-- Args : [Arg {argName = "closure", argType = TInterface "GObject" "Closure", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "closure", argType = TInterface "GObject" "Closure", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TInterface "Gtk" "AccelGroup"
-- throws : False
-- Skip return : False
foreign import ccall "gtk_accel_group_from_accel_closure" gtk_accel_group_from_accel_closure ::
Ptr Closure -> -- closure : TInterface "GObject" "Closure"
IO (Ptr AccelGroup)
accelGroupFromAccelClosure ::
(MonadIO m) =>
Closure -> -- closure
m AccelGroup
accelGroupFromAccelClosure closure = liftIO $ do
let closure' = unsafeManagedPtrGetPtr closure
result <- gtk_accel_group_from_accel_closure closure'
checkUnexpectedReturnNULL "gtk_accel_group_from_accel_closure" result
result' <- (newObject AccelGroup) result
touchManagedPtr closure
return result'