{- | Copyright : Will Thompson, Iñaki García Etxebarria and Jonas Platte License : LGPL-2.1 Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc) Actions are organised into groups. An action group is essentially a map from names to 'GI.Gtk.Objects.Action.Action' objects. All actions that would make sense to use in a particular context should be in a single group. Multiple action groups may be used for a particular user interface. In fact, it is expected that most nontrivial applications will make use of multiple groups. For example, in an application that can edit multiple documents, one group holding global actions (e.g. quit, about, new), and one group per document holding actions that act on that document (eg. save, cut\/copy\/paste, etc). Each window’s menus would be constructed from a combination of two action groups. ## Accelerators ## {@/Action/@-Accel} Accelerators are handled by the GTK+ accelerator map. All actions are assigned an accelerator path (which normally has the form @\\/group-name\/action-name@) and a shortcut is associated with this accelerator path. All menuitems and toolitems take on this accelerator path. The GTK+ accelerator map code makes sure that the correct shortcut is displayed next to the menu item. # GtkActionGroup as GtkBuildable # {'GI.Gtk.Objects.ActionGroup.ActionGroup'-BUILDER-UI} The 'GI.Gtk.Objects.ActionGroup.ActionGroup' implementation of the 'GI.Gtk.Interfaces.Buildable.Buildable' interface accepts 'GI.Gtk.Objects.Action.Action' objects as \ elements in UI definitions. Note that it is probably more common to define actions and action groups in the code, since they are directly related to what the code can do. The GtkActionGroup implementation of the GtkBuildable interface supports a custom \ element, which has attributes named “key“ and “modifiers“ and allows to specify accelerators. This is similar to the \ element of 'GI.Gtk.Objects.Widget.Widget', the main difference is that it doesn’t allow you to specify a signal. ## A 'GI.Gtk.Objects.Dialog.Dialog' UI definition fragment. ## > > > > > About > gtk-about > > > > > -} #define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \ && !defined(__HADDOCK_VERSION__)) module GI.Gtk.Objects.ActionGroup ( -- * Exported types ActionGroup(..) , IsActionGroup , toActionGroup , noActionGroup , -- * Methods -- ** addAction #method:addAction# #if ENABLE_OVERLOADING ActionGroupAddActionMethodInfo , #endif actionGroupAddAction , -- ** addActionWithAccel #method:addActionWithAccel# #if ENABLE_OVERLOADING ActionGroupAddActionWithAccelMethodInfo , #endif actionGroupAddActionWithAccel , -- ** getAccelGroup #method:getAccelGroup# #if ENABLE_OVERLOADING ActionGroupGetAccelGroupMethodInfo , #endif actionGroupGetAccelGroup , -- ** getAction #method:getAction# #if ENABLE_OVERLOADING ActionGroupGetActionMethodInfo , #endif actionGroupGetAction , -- ** getName #method:getName# #if ENABLE_OVERLOADING ActionGroupGetNameMethodInfo , #endif actionGroupGetName , -- ** getSensitive #method:getSensitive# #if ENABLE_OVERLOADING ActionGroupGetSensitiveMethodInfo , #endif actionGroupGetSensitive , -- ** getVisible #method:getVisible# #if ENABLE_OVERLOADING ActionGroupGetVisibleMethodInfo , #endif actionGroupGetVisible , -- ** listActions #method:listActions# #if ENABLE_OVERLOADING ActionGroupListActionsMethodInfo , #endif actionGroupListActions , -- ** new #method:new# actionGroupNew , -- ** removeAction #method:removeAction# #if ENABLE_OVERLOADING ActionGroupRemoveActionMethodInfo , #endif actionGroupRemoveAction , -- ** setAccelGroup #method:setAccelGroup# #if ENABLE_OVERLOADING ActionGroupSetAccelGroupMethodInfo , #endif actionGroupSetAccelGroup , -- ** setSensitive #method:setSensitive# #if ENABLE_OVERLOADING ActionGroupSetSensitiveMethodInfo , #endif actionGroupSetSensitive , -- ** setTranslateFunc #method:setTranslateFunc# #if ENABLE_OVERLOADING ActionGroupSetTranslateFuncMethodInfo , #endif actionGroupSetTranslateFunc , -- ** setTranslationDomain #method:setTranslationDomain# #if ENABLE_OVERLOADING ActionGroupSetTranslationDomainMethodInfo, #endif actionGroupSetTranslationDomain , -- ** setVisible #method:setVisible# #if ENABLE_OVERLOADING ActionGroupSetVisibleMethodInfo , #endif actionGroupSetVisible , -- ** translateString #method:translateString# #if ENABLE_OVERLOADING ActionGroupTranslateStringMethodInfo , #endif actionGroupTranslateString , -- * Properties -- ** accelGroup #attr:accelGroup# {- | The accelerator group the actions of this group should use. -} #if ENABLE_OVERLOADING ActionGroupAccelGroupPropertyInfo , #endif #if ENABLE_OVERLOADING actionGroupAccelGroup , #endif clearActionGroupAccelGroup , constructActionGroupAccelGroup , getActionGroupAccelGroup , setActionGroupAccelGroup , -- ** name #attr:name# {- | A name for the action. -} #if ENABLE_OVERLOADING ActionGroupNamePropertyInfo , #endif #if ENABLE_OVERLOADING actionGroupName , #endif constructActionGroupName , getActionGroupName , -- ** sensitive #attr:sensitive# {- | Whether the action group is enabled. -} #if ENABLE_OVERLOADING ActionGroupSensitivePropertyInfo , #endif #if ENABLE_OVERLOADING actionGroupSensitive , #endif constructActionGroupSensitive , getActionGroupSensitive , setActionGroupSensitive , -- ** visible #attr:visible# {- | Whether the action group is visible. -} #if ENABLE_OVERLOADING ActionGroupVisiblePropertyInfo , #endif #if ENABLE_OVERLOADING actionGroupVisible , #endif constructActionGroupVisible , getActionGroupVisible , setActionGroupVisible , -- * Signals -- ** connectProxy #signal:connectProxy# ActionGroupConnectProxyCallback , #if ENABLE_OVERLOADING ActionGroupConnectProxySignalInfo , #endif C_ActionGroupConnectProxyCallback , afterActionGroupConnectProxy , genClosure_ActionGroupConnectProxy , mk_ActionGroupConnectProxyCallback , noActionGroupConnectProxyCallback , onActionGroupConnectProxy , wrap_ActionGroupConnectProxyCallback , -- ** disconnectProxy #signal:disconnectProxy# ActionGroupDisconnectProxyCallback , #if ENABLE_OVERLOADING ActionGroupDisconnectProxySignalInfo , #endif C_ActionGroupDisconnectProxyCallback , afterActionGroupDisconnectProxy , genClosure_ActionGroupDisconnectProxy , mk_ActionGroupDisconnectProxyCallback , noActionGroupDisconnectProxyCallback , onActionGroupDisconnectProxy , wrap_ActionGroupDisconnectProxyCallback , -- ** postActivate #signal:postActivate# ActionGroupPostActivateCallback , #if ENABLE_OVERLOADING ActionGroupPostActivateSignalInfo , #endif C_ActionGroupPostActivateCallback , afterActionGroupPostActivate , genClosure_ActionGroupPostActivate , mk_ActionGroupPostActivateCallback , noActionGroupPostActivateCallback , onActionGroupPostActivate , wrap_ActionGroupPostActivateCallback , -- ** preActivate #signal:preActivate# ActionGroupPreActivateCallback , #if ENABLE_OVERLOADING ActionGroupPreActivateSignalInfo , #endif C_ActionGroupPreActivateCallback , afterActionGroupPreActivate , genClosure_ActionGroupPreActivate , mk_ActionGroupPreActivateCallback , noActionGroupPreActivateCallback , onActionGroupPreActivate , wrap_ActionGroupPreActivateCallback , ) where import Data.GI.Base.ShortPrelude import qualified Data.GI.Base.ShortPrelude as SP import qualified Data.GI.Base.Overloading as O import qualified Prelude as P import qualified Data.GI.Base.Attributes as GI.Attributes import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr import qualified Data.GI.Base.GClosure as B.GClosure import qualified Data.GI.Base.GError as B.GError import qualified Data.GI.Base.GVariant as B.GVariant import qualified Data.GI.Base.GValue as B.GValue import qualified Data.GI.Base.GParamSpec as B.GParamSpec import qualified Data.GI.Base.CallStack as B.CallStack import qualified Data.GI.Base.Properties as B.Properties import qualified Data.Text as T import qualified Data.ByteString.Char8 as B import qualified Data.Map as Map import qualified Foreign.Ptr as FP import qualified GHC.OverloadedLabels as OL import qualified GI.GLib.Callbacks as GLib.Callbacks import qualified GI.GObject.Objects.Object as GObject.Object import qualified GI.Gtk.Callbacks as Gtk.Callbacks import {-# SOURCE #-} qualified GI.Gtk.Interfaces.Buildable as Gtk.Buildable import {-# SOURCE #-} qualified GI.Gtk.Objects.AccelGroup as Gtk.AccelGroup import {-# SOURCE #-} qualified GI.Gtk.Objects.Action as Gtk.Action import {-# SOURCE #-} qualified GI.Gtk.Objects.Widget as Gtk.Widget -- | Memory-managed wrapper type. newtype ActionGroup = ActionGroup (ManagedPtr ActionGroup) foreign import ccall "gtk_action_group_get_type" c_gtk_action_group_get_type :: IO GType instance GObject ActionGroup where gobjectType = c_gtk_action_group_get_type -- | Type class for types which can be safely cast to `ActionGroup`, for instance with `toActionGroup`. class (GObject o, O.IsDescendantOf ActionGroup o) => IsActionGroup o instance (GObject o, O.IsDescendantOf ActionGroup o) => IsActionGroup o instance O.HasParentTypes ActionGroup type instance O.ParentTypes ActionGroup = '[GObject.Object.Object, Gtk.Buildable.Buildable] -- | Cast to `ActionGroup`, for types for which this is known to be safe. For general casts, use `Data.GI.Base.ManagedPtr.castTo`. toActionGroup :: (MonadIO m, IsActionGroup o) => o -> m ActionGroup toActionGroup = liftIO . unsafeCastTo ActionGroup -- | A convenience alias for `Nothing` :: `Maybe` `ActionGroup`. noActionGroup :: Maybe ActionGroup noActionGroup = Nothing #if ENABLE_OVERLOADING type family ResolveActionGroupMethod (t :: Symbol) (o :: *) :: * where ResolveActionGroupMethod "addAction" o = ActionGroupAddActionMethodInfo ResolveActionGroupMethod "addActionWithAccel" o = ActionGroupAddActionWithAccelMethodInfo ResolveActionGroupMethod "addChild" o = Gtk.Buildable.BuildableAddChildMethodInfo ResolveActionGroupMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo ResolveActionGroupMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo ResolveActionGroupMethod "constructChild" o = Gtk.Buildable.BuildableConstructChildMethodInfo ResolveActionGroupMethod "customFinished" o = Gtk.Buildable.BuildableCustomFinishedMethodInfo ResolveActionGroupMethod "customTagEnd" o = Gtk.Buildable.BuildableCustomTagEndMethodInfo ResolveActionGroupMethod "customTagStart" o = Gtk.Buildable.BuildableCustomTagStartMethodInfo ResolveActionGroupMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo ResolveActionGroupMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo ResolveActionGroupMethod "getv" o = GObject.Object.ObjectGetvMethodInfo ResolveActionGroupMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo ResolveActionGroupMethod "listActions" o = ActionGroupListActionsMethodInfo ResolveActionGroupMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo ResolveActionGroupMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo ResolveActionGroupMethod "parserFinished" o = Gtk.Buildable.BuildableParserFinishedMethodInfo ResolveActionGroupMethod "ref" o = GObject.Object.ObjectRefMethodInfo ResolveActionGroupMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo ResolveActionGroupMethod "removeAction" o = ActionGroupRemoveActionMethodInfo ResolveActionGroupMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo ResolveActionGroupMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo ResolveActionGroupMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo ResolveActionGroupMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo ResolveActionGroupMethod "translateString" o = ActionGroupTranslateStringMethodInfo ResolveActionGroupMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo ResolveActionGroupMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo ResolveActionGroupMethod "getAccelGroup" o = ActionGroupGetAccelGroupMethodInfo ResolveActionGroupMethod "getAction" o = ActionGroupGetActionMethodInfo ResolveActionGroupMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo ResolveActionGroupMethod "getInternalChild" o = Gtk.Buildable.BuildableGetInternalChildMethodInfo ResolveActionGroupMethod "getName" o = ActionGroupGetNameMethodInfo ResolveActionGroupMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo ResolveActionGroupMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo ResolveActionGroupMethod "getSensitive" o = ActionGroupGetSensitiveMethodInfo ResolveActionGroupMethod "getVisible" o = ActionGroupGetVisibleMethodInfo ResolveActionGroupMethod "setAccelGroup" o = ActionGroupSetAccelGroupMethodInfo ResolveActionGroupMethod "setBuildableProperty" o = Gtk.Buildable.BuildableSetBuildablePropertyMethodInfo ResolveActionGroupMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo ResolveActionGroupMethod "setName" o = Gtk.Buildable.BuildableSetNameMethodInfo ResolveActionGroupMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo ResolveActionGroupMethod "setSensitive" o = ActionGroupSetSensitiveMethodInfo ResolveActionGroupMethod "setTranslateFunc" o = ActionGroupSetTranslateFuncMethodInfo ResolveActionGroupMethod "setTranslationDomain" o = ActionGroupSetTranslationDomainMethodInfo ResolveActionGroupMethod "setVisible" o = ActionGroupSetVisibleMethodInfo ResolveActionGroupMethod l o = O.MethodResolutionFailed l o instance (info ~ ResolveActionGroupMethod t ActionGroup, O.MethodInfo info ActionGroup p) => OL.IsLabel t (ActionGroup -> p) where #if MIN_VERSION_base(4,10,0) fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info) #else fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info) #endif #endif -- signal ActionGroup::connect-proxy {-# DEPRECATED ActionGroupConnectProxyCallback ["(Since version 3.10)"] #-} {- | The ::connect-proxy signal is emitted after connecting a proxy to an action in the group. Note that the proxy may have been connected to a different action before. This is intended for simple customizations for which a custom action class would be too clumsy, e.g. showing tooltips for menuitems in the statusbar. 'GI.Gtk.Objects.UIManager.UIManager' proxies the signal and provides global notification just before any action is connected to a proxy, which is probably more convenient to use. /Since: 2.4/ -} type ActionGroupConnectProxyCallback = Gtk.Action.Action {- ^ /@action@/: the action -} -> Gtk.Widget.Widget {- ^ /@proxy@/: the proxy -} -> IO () -- | A convenience synonym for @`Nothing` :: `Maybe` `ActionGroupConnectProxyCallback`@. noActionGroupConnectProxyCallback :: Maybe ActionGroupConnectProxyCallback noActionGroupConnectProxyCallback = Nothing -- | Type for the callback on the (unwrapped) C side. type C_ActionGroupConnectProxyCallback = Ptr () -> -- object Ptr Gtk.Action.Action -> Ptr Gtk.Widget.Widget -> Ptr () -> -- user_data IO () -- | Generate a function pointer callable from C code, from a `C_ActionGroupConnectProxyCallback`. foreign import ccall "wrapper" mk_ActionGroupConnectProxyCallback :: C_ActionGroupConnectProxyCallback -> IO (FunPtr C_ActionGroupConnectProxyCallback) -- | Wrap the callback into a `GClosure`. genClosure_ActionGroupConnectProxy :: MonadIO m => ActionGroupConnectProxyCallback -> m (GClosure C_ActionGroupConnectProxyCallback) genClosure_ActionGroupConnectProxy cb = liftIO $ do let cb' = wrap_ActionGroupConnectProxyCallback cb mk_ActionGroupConnectProxyCallback cb' >>= B.GClosure.newGClosure -- | Wrap a `ActionGroupConnectProxyCallback` into a `C_ActionGroupConnectProxyCallback`. wrap_ActionGroupConnectProxyCallback :: ActionGroupConnectProxyCallback -> C_ActionGroupConnectProxyCallback wrap_ActionGroupConnectProxyCallback _cb _ action proxy _ = do action' <- (newObject Gtk.Action.Action) action proxy' <- (newObject Gtk.Widget.Widget) proxy _cb action' proxy' {- | Connect a signal handler for the “@connect-proxy@” signal, to be run before the default handler. When is enabled, this is equivalent to @ 'Data.GI.Base.Signals.on' actionGroup #connectProxy callback @ -} onActionGroupConnectProxy :: (IsActionGroup a, MonadIO m) => a -> ActionGroupConnectProxyCallback -> m SignalHandlerId onActionGroupConnectProxy obj cb = liftIO $ do let cb' = wrap_ActionGroupConnectProxyCallback cb cb'' <- mk_ActionGroupConnectProxyCallback cb' connectSignalFunPtr obj "connect-proxy" cb'' SignalConnectBefore {- | Connect a signal handler for the “@connect-proxy@” signal, to be run after the default handler. When is enabled, this is equivalent to @ 'Data.GI.Base.Signals.after' actionGroup #connectProxy callback @ -} afterActionGroupConnectProxy :: (IsActionGroup a, MonadIO m) => a -> ActionGroupConnectProxyCallback -> m SignalHandlerId afterActionGroupConnectProxy obj cb = liftIO $ do let cb' = wrap_ActionGroupConnectProxyCallback cb cb'' <- mk_ActionGroupConnectProxyCallback cb' connectSignalFunPtr obj "connect-proxy" cb'' SignalConnectAfter -- signal ActionGroup::disconnect-proxy {-# DEPRECATED ActionGroupDisconnectProxyCallback ["(Since version 3.10)"] #-} {- | The ::disconnect-proxy signal is emitted after disconnecting a proxy from an action in the group. 'GI.Gtk.Objects.UIManager.UIManager' proxies the signal and provides global notification just before any action is connected to a proxy, which is probably more convenient to use. /Since: 2.4/ -} type ActionGroupDisconnectProxyCallback = Gtk.Action.Action {- ^ /@action@/: the action -} -> Gtk.Widget.Widget {- ^ /@proxy@/: the proxy -} -> IO () -- | A convenience synonym for @`Nothing` :: `Maybe` `ActionGroupDisconnectProxyCallback`@. noActionGroupDisconnectProxyCallback :: Maybe ActionGroupDisconnectProxyCallback noActionGroupDisconnectProxyCallback = Nothing -- | Type for the callback on the (unwrapped) C side. type C_ActionGroupDisconnectProxyCallback = Ptr () -> -- object Ptr Gtk.Action.Action -> Ptr Gtk.Widget.Widget -> Ptr () -> -- user_data IO () -- | Generate a function pointer callable from C code, from a `C_ActionGroupDisconnectProxyCallback`. foreign import ccall "wrapper" mk_ActionGroupDisconnectProxyCallback :: C_ActionGroupDisconnectProxyCallback -> IO (FunPtr C_ActionGroupDisconnectProxyCallback) -- | Wrap the callback into a `GClosure`. genClosure_ActionGroupDisconnectProxy :: MonadIO m => ActionGroupDisconnectProxyCallback -> m (GClosure C_ActionGroupDisconnectProxyCallback) genClosure_ActionGroupDisconnectProxy cb = liftIO $ do let cb' = wrap_ActionGroupDisconnectProxyCallback cb mk_ActionGroupDisconnectProxyCallback cb' >>= B.GClosure.newGClosure -- | Wrap a `ActionGroupDisconnectProxyCallback` into a `C_ActionGroupDisconnectProxyCallback`. wrap_ActionGroupDisconnectProxyCallback :: ActionGroupDisconnectProxyCallback -> C_ActionGroupDisconnectProxyCallback wrap_ActionGroupDisconnectProxyCallback _cb _ action proxy _ = do action' <- (newObject Gtk.Action.Action) action proxy' <- (newObject Gtk.Widget.Widget) proxy _cb action' proxy' {- | Connect a signal handler for the “@disconnect-proxy@” signal, to be run before the default handler. When is enabled, this is equivalent to @ 'Data.GI.Base.Signals.on' actionGroup #disconnectProxy callback @ -} onActionGroupDisconnectProxy :: (IsActionGroup a, MonadIO m) => a -> ActionGroupDisconnectProxyCallback -> m SignalHandlerId onActionGroupDisconnectProxy obj cb = liftIO $ do let cb' = wrap_ActionGroupDisconnectProxyCallback cb cb'' <- mk_ActionGroupDisconnectProxyCallback cb' connectSignalFunPtr obj "disconnect-proxy" cb'' SignalConnectBefore {- | Connect a signal handler for the “@disconnect-proxy@” signal, to be run after the default handler. When is enabled, this is equivalent to @ 'Data.GI.Base.Signals.after' actionGroup #disconnectProxy callback @ -} afterActionGroupDisconnectProxy :: (IsActionGroup a, MonadIO m) => a -> ActionGroupDisconnectProxyCallback -> m SignalHandlerId afterActionGroupDisconnectProxy obj cb = liftIO $ do let cb' = wrap_ActionGroupDisconnectProxyCallback cb cb'' <- mk_ActionGroupDisconnectProxyCallback cb' connectSignalFunPtr obj "disconnect-proxy" cb'' SignalConnectAfter -- signal ActionGroup::post-activate {-# DEPRECATED ActionGroupPostActivateCallback ["(Since version 3.10)"] #-} {- | The ::post-activate signal is emitted just after the /@action@/ in the /@actionGroup@/ is activated This is intended for 'GI.Gtk.Objects.UIManager.UIManager' to proxy the signal and provide global notification just after any action is activated. /Since: 2.4/ -} type ActionGroupPostActivateCallback = Gtk.Action.Action {- ^ /@action@/: the action -} -> IO () -- | A convenience synonym for @`Nothing` :: `Maybe` `ActionGroupPostActivateCallback`@. noActionGroupPostActivateCallback :: Maybe ActionGroupPostActivateCallback noActionGroupPostActivateCallback = Nothing -- | Type for the callback on the (unwrapped) C side. type C_ActionGroupPostActivateCallback = Ptr () -> -- object Ptr Gtk.Action.Action -> Ptr () -> -- user_data IO () -- | Generate a function pointer callable from C code, from a `C_ActionGroupPostActivateCallback`. foreign import ccall "wrapper" mk_ActionGroupPostActivateCallback :: C_ActionGroupPostActivateCallback -> IO (FunPtr C_ActionGroupPostActivateCallback) -- | Wrap the callback into a `GClosure`. genClosure_ActionGroupPostActivate :: MonadIO m => ActionGroupPostActivateCallback -> m (GClosure C_ActionGroupPostActivateCallback) genClosure_ActionGroupPostActivate cb = liftIO $ do let cb' = wrap_ActionGroupPostActivateCallback cb mk_ActionGroupPostActivateCallback cb' >>= B.GClosure.newGClosure -- | Wrap a `ActionGroupPostActivateCallback` into a `C_ActionGroupPostActivateCallback`. wrap_ActionGroupPostActivateCallback :: ActionGroupPostActivateCallback -> C_ActionGroupPostActivateCallback wrap_ActionGroupPostActivateCallback _cb _ action _ = do action' <- (newObject Gtk.Action.Action) action _cb action' {- | Connect a signal handler for the “@post-activate@” signal, to be run before the default handler. When is enabled, this is equivalent to @ 'Data.GI.Base.Signals.on' actionGroup #postActivate callback @ -} onActionGroupPostActivate :: (IsActionGroup a, MonadIO m) => a -> ActionGroupPostActivateCallback -> m SignalHandlerId onActionGroupPostActivate obj cb = liftIO $ do let cb' = wrap_ActionGroupPostActivateCallback cb cb'' <- mk_ActionGroupPostActivateCallback cb' connectSignalFunPtr obj "post-activate" cb'' SignalConnectBefore {- | Connect a signal handler for the “@post-activate@” signal, to be run after the default handler. When is enabled, this is equivalent to @ 'Data.GI.Base.Signals.after' actionGroup #postActivate callback @ -} afterActionGroupPostActivate :: (IsActionGroup a, MonadIO m) => a -> ActionGroupPostActivateCallback -> m SignalHandlerId afterActionGroupPostActivate obj cb = liftIO $ do let cb' = wrap_ActionGroupPostActivateCallback cb cb'' <- mk_ActionGroupPostActivateCallback cb' connectSignalFunPtr obj "post-activate" cb'' SignalConnectAfter -- signal ActionGroup::pre-activate {-# DEPRECATED ActionGroupPreActivateCallback ["(Since version 3.10)"] #-} {- | The ::pre-activate signal is emitted just before the /@action@/ in the /@actionGroup@/ is activated This is intended for 'GI.Gtk.Objects.UIManager.UIManager' to proxy the signal and provide global notification just before any action is activated. /Since: 2.4/ -} type ActionGroupPreActivateCallback = Gtk.Action.Action {- ^ /@action@/: the action -} -> IO () -- | A convenience synonym for @`Nothing` :: `Maybe` `ActionGroupPreActivateCallback`@. noActionGroupPreActivateCallback :: Maybe ActionGroupPreActivateCallback noActionGroupPreActivateCallback = Nothing -- | Type for the callback on the (unwrapped) C side. type C_ActionGroupPreActivateCallback = Ptr () -> -- object Ptr Gtk.Action.Action -> Ptr () -> -- user_data IO () -- | Generate a function pointer callable from C code, from a `C_ActionGroupPreActivateCallback`. foreign import ccall "wrapper" mk_ActionGroupPreActivateCallback :: C_ActionGroupPreActivateCallback -> IO (FunPtr C_ActionGroupPreActivateCallback) -- | Wrap the callback into a `GClosure`. genClosure_ActionGroupPreActivate :: MonadIO m => ActionGroupPreActivateCallback -> m (GClosure C_ActionGroupPreActivateCallback) genClosure_ActionGroupPreActivate cb = liftIO $ do let cb' = wrap_ActionGroupPreActivateCallback cb mk_ActionGroupPreActivateCallback cb' >>= B.GClosure.newGClosure -- | Wrap a `ActionGroupPreActivateCallback` into a `C_ActionGroupPreActivateCallback`. wrap_ActionGroupPreActivateCallback :: ActionGroupPreActivateCallback -> C_ActionGroupPreActivateCallback wrap_ActionGroupPreActivateCallback _cb _ action _ = do action' <- (newObject Gtk.Action.Action) action _cb action' {- | Connect a signal handler for the “@pre-activate@” signal, to be run before the default handler. When is enabled, this is equivalent to @ 'Data.GI.Base.Signals.on' actionGroup #preActivate callback @ -} onActionGroupPreActivate :: (IsActionGroup a, MonadIO m) => a -> ActionGroupPreActivateCallback -> m SignalHandlerId onActionGroupPreActivate obj cb = liftIO $ do let cb' = wrap_ActionGroupPreActivateCallback cb cb'' <- mk_ActionGroupPreActivateCallback cb' connectSignalFunPtr obj "pre-activate" cb'' SignalConnectBefore {- | Connect a signal handler for the “@pre-activate@” signal, to be run after the default handler. When is enabled, this is equivalent to @ 'Data.GI.Base.Signals.after' actionGroup #preActivate callback @ -} afterActionGroupPreActivate :: (IsActionGroup a, MonadIO m) => a -> ActionGroupPreActivateCallback -> m SignalHandlerId afterActionGroupPreActivate obj cb = liftIO $ do let cb' = wrap_ActionGroupPreActivateCallback cb cb'' <- mk_ActionGroupPreActivateCallback cb' connectSignalFunPtr obj "pre-activate" cb'' SignalConnectAfter -- VVV Prop "accel-group" -- Type: TInterface (Name {namespace = "Gtk", name = "AccelGroup"}) -- Flags: [PropertyReadable,PropertyWritable] -- Nullable: (Just False,Just True) {- | Get the value of the “@accel-group@” property. When is enabled, this is equivalent to @ 'Data.GI.Base.Attributes.get' actionGroup #accelGroup @ -} getActionGroupAccelGroup :: (MonadIO m, IsActionGroup o) => o -> m Gtk.AccelGroup.AccelGroup getActionGroupAccelGroup obj = liftIO $ checkUnexpectedNothing "getActionGroupAccelGroup" $ B.Properties.getObjectPropertyObject obj "accel-group" Gtk.AccelGroup.AccelGroup {- | Set the value of the “@accel-group@” property. When is enabled, this is equivalent to @ 'Data.GI.Base.Attributes.set' actionGroup [ #accelGroup 'Data.GI.Base.Attributes.:=' value ] @ -} setActionGroupAccelGroup :: (MonadIO m, IsActionGroup o, Gtk.AccelGroup.IsAccelGroup a) => o -> a -> m () setActionGroupAccelGroup obj val = liftIO $ B.Properties.setObjectPropertyObject obj "accel-group" (Just val) {- | Construct a `GValueConstruct` with valid value for the “@accel-group@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`. -} constructActionGroupAccelGroup :: (IsActionGroup o, Gtk.AccelGroup.IsAccelGroup a) => a -> IO (GValueConstruct o) constructActionGroupAccelGroup val = B.Properties.constructObjectPropertyObject "accel-group" (Just val) {- | Set the value of the “@accel-group@” property to `Nothing`. When is enabled, this is equivalent to @ 'Data.GI.Base.Attributes.clear' #accelGroup @ -} clearActionGroupAccelGroup :: (MonadIO m, IsActionGroup o) => o -> m () clearActionGroupAccelGroup obj = liftIO $ B.Properties.setObjectPropertyObject obj "accel-group" (Nothing :: Maybe Gtk.AccelGroup.AccelGroup) #if ENABLE_OVERLOADING data ActionGroupAccelGroupPropertyInfo instance AttrInfo ActionGroupAccelGroupPropertyInfo where type AttrAllowedOps ActionGroupAccelGroupPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet, 'AttrClear] type AttrSetTypeConstraint ActionGroupAccelGroupPropertyInfo = Gtk.AccelGroup.IsAccelGroup type AttrBaseTypeConstraint ActionGroupAccelGroupPropertyInfo = IsActionGroup type AttrGetType ActionGroupAccelGroupPropertyInfo = Gtk.AccelGroup.AccelGroup type AttrLabel ActionGroupAccelGroupPropertyInfo = "accel-group" type AttrOrigin ActionGroupAccelGroupPropertyInfo = ActionGroup attrGet _ = getActionGroupAccelGroup attrSet _ = setActionGroupAccelGroup attrConstruct _ = constructActionGroupAccelGroup attrClear _ = clearActionGroupAccelGroup #endif -- VVV Prop "name" -- Type: TBasicType TUTF8 -- Flags: [PropertyReadable,PropertyWritable,PropertyConstructOnly] -- Nullable: (Just False,Nothing) {- | Get the value of the “@name@” property. When is enabled, this is equivalent to @ 'Data.GI.Base.Attributes.get' actionGroup #name @ -} getActionGroupName :: (MonadIO m, IsActionGroup o) => o -> m T.Text getActionGroupName obj = liftIO $ checkUnexpectedNothing "getActionGroupName" $ B.Properties.getObjectPropertyString obj "name" {- | Construct a `GValueConstruct` with valid value for the “@name@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`. -} constructActionGroupName :: (IsActionGroup o) => T.Text -> IO (GValueConstruct o) constructActionGroupName val = B.Properties.constructObjectPropertyString "name" (Just val) #if ENABLE_OVERLOADING data ActionGroupNamePropertyInfo instance AttrInfo ActionGroupNamePropertyInfo where type AttrAllowedOps ActionGroupNamePropertyInfo = '[ 'AttrConstruct, 'AttrGet, 'AttrClear] type AttrSetTypeConstraint ActionGroupNamePropertyInfo = (~) T.Text type AttrBaseTypeConstraint ActionGroupNamePropertyInfo = IsActionGroup type AttrGetType ActionGroupNamePropertyInfo = T.Text type AttrLabel ActionGroupNamePropertyInfo = "name" type AttrOrigin ActionGroupNamePropertyInfo = ActionGroup attrGet _ = getActionGroupName attrSet _ = undefined attrConstruct _ = constructActionGroupName attrClear _ = undefined #endif -- VVV Prop "sensitive" -- Type: TBasicType TBoolean -- Flags: [PropertyReadable,PropertyWritable] -- Nullable: (Just False,Just False) {- | Get the value of the “@sensitive@” property. When is enabled, this is equivalent to @ 'Data.GI.Base.Attributes.get' actionGroup #sensitive @ -} getActionGroupSensitive :: (MonadIO m, IsActionGroup o) => o -> m Bool getActionGroupSensitive obj = liftIO $ B.Properties.getObjectPropertyBool obj "sensitive" {- | Set the value of the “@sensitive@” property. When is enabled, this is equivalent to @ 'Data.GI.Base.Attributes.set' actionGroup [ #sensitive 'Data.GI.Base.Attributes.:=' value ] @ -} setActionGroupSensitive :: (MonadIO m, IsActionGroup o) => o -> Bool -> m () setActionGroupSensitive obj val = liftIO $ B.Properties.setObjectPropertyBool obj "sensitive" val {- | Construct a `GValueConstruct` with valid value for the “@sensitive@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`. -} constructActionGroupSensitive :: (IsActionGroup o) => Bool -> IO (GValueConstruct o) constructActionGroupSensitive val = B.Properties.constructObjectPropertyBool "sensitive" val #if ENABLE_OVERLOADING data ActionGroupSensitivePropertyInfo instance AttrInfo ActionGroupSensitivePropertyInfo where type AttrAllowedOps ActionGroupSensitivePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet] type AttrSetTypeConstraint ActionGroupSensitivePropertyInfo = (~) Bool type AttrBaseTypeConstraint ActionGroupSensitivePropertyInfo = IsActionGroup type AttrGetType ActionGroupSensitivePropertyInfo = Bool type AttrLabel ActionGroupSensitivePropertyInfo = "sensitive" type AttrOrigin ActionGroupSensitivePropertyInfo = ActionGroup attrGet _ = getActionGroupSensitive attrSet _ = setActionGroupSensitive attrConstruct _ = constructActionGroupSensitive attrClear _ = undefined #endif -- VVV Prop "visible" -- Type: TBasicType TBoolean -- Flags: [PropertyReadable,PropertyWritable] -- Nullable: (Just False,Just False) {- | Get the value of the “@visible@” property. When is enabled, this is equivalent to @ 'Data.GI.Base.Attributes.get' actionGroup #visible @ -} getActionGroupVisible :: (MonadIO m, IsActionGroup o) => o -> m Bool getActionGroupVisible obj = liftIO $ B.Properties.getObjectPropertyBool obj "visible" {- | Set the value of the “@visible@” property. When is enabled, this is equivalent to @ 'Data.GI.Base.Attributes.set' actionGroup [ #visible 'Data.GI.Base.Attributes.:=' value ] @ -} setActionGroupVisible :: (MonadIO m, IsActionGroup o) => o -> Bool -> m () setActionGroupVisible obj val = liftIO $ B.Properties.setObjectPropertyBool obj "visible" val {- | Construct a `GValueConstruct` with valid value for the “@visible@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`. -} constructActionGroupVisible :: (IsActionGroup o) => Bool -> IO (GValueConstruct o) constructActionGroupVisible val = B.Properties.constructObjectPropertyBool "visible" val #if ENABLE_OVERLOADING data ActionGroupVisiblePropertyInfo instance AttrInfo ActionGroupVisiblePropertyInfo where type AttrAllowedOps ActionGroupVisiblePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet] type AttrSetTypeConstraint ActionGroupVisiblePropertyInfo = (~) Bool type AttrBaseTypeConstraint ActionGroupVisiblePropertyInfo = IsActionGroup type AttrGetType ActionGroupVisiblePropertyInfo = Bool type AttrLabel ActionGroupVisiblePropertyInfo = "visible" type AttrOrigin ActionGroupVisiblePropertyInfo = ActionGroup attrGet _ = getActionGroupVisible attrSet _ = setActionGroupVisible attrConstruct _ = constructActionGroupVisible attrClear _ = undefined #endif #if ENABLE_OVERLOADING instance O.HasAttributeList ActionGroup type instance O.AttributeList ActionGroup = ActionGroupAttributeList type ActionGroupAttributeList = ('[ '("accelGroup", ActionGroupAccelGroupPropertyInfo), '("name", ActionGroupNamePropertyInfo), '("sensitive", ActionGroupSensitivePropertyInfo), '("visible", ActionGroupVisiblePropertyInfo)] :: [(Symbol, *)]) #endif #if ENABLE_OVERLOADING actionGroupAccelGroup :: AttrLabelProxy "accelGroup" actionGroupAccelGroup = AttrLabelProxy actionGroupName :: AttrLabelProxy "name" actionGroupName = AttrLabelProxy actionGroupSensitive :: AttrLabelProxy "sensitive" actionGroupSensitive = AttrLabelProxy actionGroupVisible :: AttrLabelProxy "visible" actionGroupVisible = AttrLabelProxy #endif #if ENABLE_OVERLOADING data ActionGroupConnectProxySignalInfo instance SignalInfo ActionGroupConnectProxySignalInfo where type HaskellCallbackType ActionGroupConnectProxySignalInfo = ActionGroupConnectProxyCallback connectSignal _ obj cb connectMode = do let cb' = wrap_ActionGroupConnectProxyCallback cb cb'' <- mk_ActionGroupConnectProxyCallback cb' connectSignalFunPtr obj "connect-proxy" cb'' connectMode data ActionGroupDisconnectProxySignalInfo instance SignalInfo ActionGroupDisconnectProxySignalInfo where type HaskellCallbackType ActionGroupDisconnectProxySignalInfo = ActionGroupDisconnectProxyCallback connectSignal _ obj cb connectMode = do let cb' = wrap_ActionGroupDisconnectProxyCallback cb cb'' <- mk_ActionGroupDisconnectProxyCallback cb' connectSignalFunPtr obj "disconnect-proxy" cb'' connectMode data ActionGroupPostActivateSignalInfo instance SignalInfo ActionGroupPostActivateSignalInfo where type HaskellCallbackType ActionGroupPostActivateSignalInfo = ActionGroupPostActivateCallback connectSignal _ obj cb connectMode = do let cb' = wrap_ActionGroupPostActivateCallback cb cb'' <- mk_ActionGroupPostActivateCallback cb' connectSignalFunPtr obj "post-activate" cb'' connectMode data ActionGroupPreActivateSignalInfo instance SignalInfo ActionGroupPreActivateSignalInfo where type HaskellCallbackType ActionGroupPreActivateSignalInfo = ActionGroupPreActivateCallback connectSignal _ obj cb connectMode = do let cb' = wrap_ActionGroupPreActivateCallback cb cb'' <- mk_ActionGroupPreActivateCallback cb' connectSignalFunPtr obj "pre-activate" cb'' connectMode type instance O.SignalList ActionGroup = ActionGroupSignalList type ActionGroupSignalList = ('[ '("connectProxy", ActionGroupConnectProxySignalInfo), '("disconnectProxy", ActionGroupDisconnectProxySignalInfo), '("notify", GObject.Object.ObjectNotifySignalInfo), '("postActivate", ActionGroupPostActivateSignalInfo), '("preActivate", ActionGroupPreActivateSignalInfo)] :: [(Symbol, *)]) #endif -- method ActionGroup::new -- method type : Constructor -- Args : [Arg {argCName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the name of the action group.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}] -- Lengths : [] -- returnType : Just (TInterface (Name {namespace = "Gtk", name = "ActionGroup"})) -- throws : False -- Skip return : False foreign import ccall "gtk_action_group_new" gtk_action_group_new :: CString -> -- name : TBasicType TUTF8 IO (Ptr ActionGroup) {-# DEPRECATED actionGroupNew ["(Since version 3.10)"] #-} {- | Creates a new 'GI.Gtk.Objects.ActionGroup.ActionGroup' object. The name of the action group is used when associating [keybindings][Action-Accel] with the actions. /Since: 2.4/ -} actionGroupNew :: (B.CallStack.HasCallStack, MonadIO m) => T.Text {- ^ /@name@/: the name of the action group. -} -> m ActionGroup {- ^ __Returns:__ the new 'GI.Gtk.Objects.ActionGroup.ActionGroup' -} actionGroupNew name = liftIO $ do name' <- textToCString name result <- gtk_action_group_new name' checkUnexpectedReturnNULL "actionGroupNew" result result' <- (wrapObject ActionGroup) result freeMem name' return result' #if ENABLE_OVERLOADING #endif -- method ActionGroup::add_action -- method type : OrdinaryMethod -- Args : [Arg {argCName = "action_group", argType = TInterface (Name {namespace = "Gtk", name = "ActionGroup"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the action group", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "action", argType = TInterface (Name {namespace = "Gtk", name = "Action"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "an action", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}] -- Lengths : [] -- returnType : Nothing -- throws : False -- Skip return : False foreign import ccall "gtk_action_group_add_action" gtk_action_group_add_action :: Ptr ActionGroup -> -- action_group : TInterface (Name {namespace = "Gtk", name = "ActionGroup"}) Ptr Gtk.Action.Action -> -- action : TInterface (Name {namespace = "Gtk", name = "Action"}) IO () {-# DEPRECATED actionGroupAddAction ["(Since version 3.10)"] #-} {- | Adds an action object to the action group. Note that this function does not set up the accel path of the action, which can lead to problems if a user tries to modify the accelerator of a menuitem associated with the action. Therefore you must either set the accel path yourself with 'GI.Gtk.Objects.Action.actionSetAccelPath', or use @gtk_action_group_add_action_with_accel (..., NULL)@. /Since: 2.4/ -} actionGroupAddAction :: (B.CallStack.HasCallStack, MonadIO m, IsActionGroup a, Gtk.Action.IsAction b) => a {- ^ /@actionGroup@/: the action group -} -> b {- ^ /@action@/: an action -} -> m () actionGroupAddAction actionGroup action = liftIO $ do actionGroup' <- unsafeManagedPtrCastPtr actionGroup action' <- unsafeManagedPtrCastPtr action gtk_action_group_add_action actionGroup' action' touchManagedPtr actionGroup touchManagedPtr action return () #if ENABLE_OVERLOADING data ActionGroupAddActionMethodInfo instance (signature ~ (b -> m ()), MonadIO m, IsActionGroup a, Gtk.Action.IsAction b) => O.MethodInfo ActionGroupAddActionMethodInfo a signature where overloadedMethod _ = actionGroupAddAction #endif -- method ActionGroup::add_action_with_accel -- method type : OrdinaryMethod -- Args : [Arg {argCName = "action_group", argType = TInterface (Name {namespace = "Gtk", name = "ActionGroup"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the action group", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "action", argType = TInterface (Name {namespace = "Gtk", name = "Action"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the action to add", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "accelerator", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "the accelerator for the action, in\n the format understood by gtk_accelerator_parse(), or \"\" for no accelerator, or\n %NULL to use the stock accelerator", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}] -- Lengths : [] -- returnType : Nothing -- throws : False -- Skip return : False foreign import ccall "gtk_action_group_add_action_with_accel" gtk_action_group_add_action_with_accel :: Ptr ActionGroup -> -- action_group : TInterface (Name {namespace = "Gtk", name = "ActionGroup"}) Ptr Gtk.Action.Action -> -- action : TInterface (Name {namespace = "Gtk", name = "Action"}) CString -> -- accelerator : TBasicType TUTF8 IO () {-# DEPRECATED actionGroupAddActionWithAccel ["(Since version 3.10)"] #-} {- | Adds an action object to the action group and sets up the accelerator. If /@accelerator@/ is 'Nothing', attempts to use the accelerator associated with the stock_id of the action. Accel paths are set to @\\/group-name\/action-name@. /Since: 2.4/ -} actionGroupAddActionWithAccel :: (B.CallStack.HasCallStack, MonadIO m, IsActionGroup a, Gtk.Action.IsAction b) => a {- ^ /@actionGroup@/: the action group -} -> b {- ^ /@action@/: the action to add -} -> Maybe (T.Text) {- ^ /@accelerator@/: the accelerator for the action, in the format understood by 'GI.Gtk.Functions.acceleratorParse', or \"\" for no accelerator, or 'Nothing' to use the stock accelerator -} -> m () actionGroupAddActionWithAccel actionGroup action accelerator = liftIO $ do actionGroup' <- unsafeManagedPtrCastPtr actionGroup action' <- unsafeManagedPtrCastPtr action maybeAccelerator <- case accelerator of Nothing -> return nullPtr Just jAccelerator -> do jAccelerator' <- textToCString jAccelerator return jAccelerator' gtk_action_group_add_action_with_accel actionGroup' action' maybeAccelerator touchManagedPtr actionGroup touchManagedPtr action freeMem maybeAccelerator return () #if ENABLE_OVERLOADING data ActionGroupAddActionWithAccelMethodInfo instance (signature ~ (b -> Maybe (T.Text) -> m ()), MonadIO m, IsActionGroup a, Gtk.Action.IsAction b) => O.MethodInfo ActionGroupAddActionWithAccelMethodInfo a signature where overloadedMethod _ = actionGroupAddActionWithAccel #endif -- method ActionGroup::get_accel_group -- method type : OrdinaryMethod -- Args : [Arg {argCName = "action_group", argType = TInterface (Name {namespace = "Gtk", name = "ActionGroup"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkActionGroup", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}] -- Lengths : [] -- returnType : Just (TInterface (Name {namespace = "Gtk", name = "AccelGroup"})) -- throws : False -- Skip return : False foreign import ccall "gtk_action_group_get_accel_group" gtk_action_group_get_accel_group :: Ptr ActionGroup -> -- action_group : TInterface (Name {namespace = "Gtk", name = "ActionGroup"}) IO (Ptr Gtk.AccelGroup.AccelGroup) {-# DEPRECATED actionGroupGetAccelGroup ["(Since version 3.10)"] #-} {- | Gets the accelerator group. /Since: 3.6/ -} actionGroupGetAccelGroup :: (B.CallStack.HasCallStack, MonadIO m, IsActionGroup a) => a {- ^ /@actionGroup@/: a 'GI.Gtk.Objects.ActionGroup.ActionGroup' -} -> m Gtk.AccelGroup.AccelGroup {- ^ __Returns:__ the accelerator group associated with this action group or 'Nothing' if there is none. -} actionGroupGetAccelGroup actionGroup = liftIO $ do actionGroup' <- unsafeManagedPtrCastPtr actionGroup result <- gtk_action_group_get_accel_group actionGroup' checkUnexpectedReturnNULL "actionGroupGetAccelGroup" result result' <- (newObject Gtk.AccelGroup.AccelGroup) result touchManagedPtr actionGroup return result' #if ENABLE_OVERLOADING data ActionGroupGetAccelGroupMethodInfo instance (signature ~ (m Gtk.AccelGroup.AccelGroup), MonadIO m, IsActionGroup a) => O.MethodInfo ActionGroupGetAccelGroupMethodInfo a signature where overloadedMethod _ = actionGroupGetAccelGroup #endif -- method ActionGroup::get_action -- method type : OrdinaryMethod -- Args : [Arg {argCName = "action_group", argType = TInterface (Name {namespace = "Gtk", name = "ActionGroup"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the action group", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "action_name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the name of the action", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}] -- Lengths : [] -- returnType : Just (TInterface (Name {namespace = "Gtk", name = "Action"})) -- throws : False -- Skip return : False foreign import ccall "gtk_action_group_get_action" gtk_action_group_get_action :: Ptr ActionGroup -> -- action_group : TInterface (Name {namespace = "Gtk", name = "ActionGroup"}) CString -> -- action_name : TBasicType TUTF8 IO (Ptr Gtk.Action.Action) {-# DEPRECATED actionGroupGetAction ["(Since version 3.10)"] #-} {- | Looks up an action in the action group by name. /Since: 2.4/ -} actionGroupGetAction :: (B.CallStack.HasCallStack, MonadIO m, IsActionGroup a) => a {- ^ /@actionGroup@/: the action group -} -> T.Text {- ^ /@actionName@/: the name of the action -} -> m (Maybe Gtk.Action.Action) {- ^ __Returns:__ the action, or 'Nothing' if no action by that name exists -} actionGroupGetAction actionGroup actionName = liftIO $ do actionGroup' <- unsafeManagedPtrCastPtr actionGroup actionName' <- textToCString actionName result <- gtk_action_group_get_action actionGroup' actionName' maybeResult <- convertIfNonNull result $ \result' -> do result'' <- (newObject Gtk.Action.Action) result' return result'' touchManagedPtr actionGroup freeMem actionName' return maybeResult #if ENABLE_OVERLOADING data ActionGroupGetActionMethodInfo instance (signature ~ (T.Text -> m (Maybe Gtk.Action.Action)), MonadIO m, IsActionGroup a) => O.MethodInfo ActionGroupGetActionMethodInfo a signature where overloadedMethod _ = actionGroupGetAction #endif -- method ActionGroup::get_name -- method type : OrdinaryMethod -- Args : [Arg {argCName = "action_group", argType = TInterface (Name {namespace = "Gtk", name = "ActionGroup"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the action group", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}] -- Lengths : [] -- returnType : Just (TBasicType TUTF8) -- throws : False -- Skip return : False foreign import ccall "gtk_action_group_get_name" gtk_action_group_get_name :: Ptr ActionGroup -> -- action_group : TInterface (Name {namespace = "Gtk", name = "ActionGroup"}) IO CString {-# DEPRECATED actionGroupGetName ["(Since version 3.10)"] #-} {- | Gets the name of the action group. /Since: 2.4/ -} actionGroupGetName :: (B.CallStack.HasCallStack, MonadIO m, IsActionGroup a) => a {- ^ /@actionGroup@/: the action group -} -> m T.Text {- ^ __Returns:__ the name of the action group. -} actionGroupGetName actionGroup = liftIO $ do actionGroup' <- unsafeManagedPtrCastPtr actionGroup result <- gtk_action_group_get_name actionGroup' checkUnexpectedReturnNULL "actionGroupGetName" result result' <- cstringToText result touchManagedPtr actionGroup return result' #if ENABLE_OVERLOADING data ActionGroupGetNameMethodInfo instance (signature ~ (m T.Text), MonadIO m, IsActionGroup a) => O.MethodInfo ActionGroupGetNameMethodInfo a signature where overloadedMethod _ = actionGroupGetName #endif -- method ActionGroup::get_sensitive -- method type : OrdinaryMethod -- Args : [Arg {argCName = "action_group", argType = TInterface (Name {namespace = "Gtk", name = "ActionGroup"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the action group", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}] -- Lengths : [] -- returnType : Just (TBasicType TBoolean) -- throws : False -- Skip return : False foreign import ccall "gtk_action_group_get_sensitive" gtk_action_group_get_sensitive :: Ptr ActionGroup -> -- action_group : TInterface (Name {namespace = "Gtk", name = "ActionGroup"}) IO CInt {-# DEPRECATED actionGroupGetSensitive ["(Since version 3.10)"] #-} {- | Returns 'True' if the group is sensitive. The constituent actions can only be logically sensitive (see 'GI.Gtk.Objects.Action.actionIsSensitive') if they are sensitive (see 'GI.Gtk.Objects.Action.actionGetSensitive') and their group is sensitive. /Since: 2.4/ -} actionGroupGetSensitive :: (B.CallStack.HasCallStack, MonadIO m, IsActionGroup a) => a {- ^ /@actionGroup@/: the action group -} -> m Bool {- ^ __Returns:__ 'True' if the group is sensitive. -} actionGroupGetSensitive actionGroup = liftIO $ do actionGroup' <- unsafeManagedPtrCastPtr actionGroup result <- gtk_action_group_get_sensitive actionGroup' let result' = (/= 0) result touchManagedPtr actionGroup return result' #if ENABLE_OVERLOADING data ActionGroupGetSensitiveMethodInfo instance (signature ~ (m Bool), MonadIO m, IsActionGroup a) => O.MethodInfo ActionGroupGetSensitiveMethodInfo a signature where overloadedMethod _ = actionGroupGetSensitive #endif -- method ActionGroup::get_visible -- method type : OrdinaryMethod -- Args : [Arg {argCName = "action_group", argType = TInterface (Name {namespace = "Gtk", name = "ActionGroup"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the action group", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}] -- Lengths : [] -- returnType : Just (TBasicType TBoolean) -- throws : False -- Skip return : False foreign import ccall "gtk_action_group_get_visible" gtk_action_group_get_visible :: Ptr ActionGroup -> -- action_group : TInterface (Name {namespace = "Gtk", name = "ActionGroup"}) IO CInt {-# DEPRECATED actionGroupGetVisible ["(Since version 3.10)"] #-} {- | Returns 'True' if the group is visible. The constituent actions can only be logically visible (see 'GI.Gtk.Objects.Action.actionIsVisible') if they are visible (see 'GI.Gtk.Objects.Action.actionGetVisible') and their group is visible. /Since: 2.4/ -} actionGroupGetVisible :: (B.CallStack.HasCallStack, MonadIO m, IsActionGroup a) => a {- ^ /@actionGroup@/: the action group -} -> m Bool {- ^ __Returns:__ 'True' if the group is visible. -} actionGroupGetVisible actionGroup = liftIO $ do actionGroup' <- unsafeManagedPtrCastPtr actionGroup result <- gtk_action_group_get_visible actionGroup' let result' = (/= 0) result touchManagedPtr actionGroup return result' #if ENABLE_OVERLOADING data ActionGroupGetVisibleMethodInfo instance (signature ~ (m Bool), MonadIO m, IsActionGroup a) => O.MethodInfo ActionGroupGetVisibleMethodInfo a signature where overloadedMethod _ = actionGroupGetVisible #endif -- method ActionGroup::list_actions -- method type : OrdinaryMethod -- Args : [Arg {argCName = "action_group", argType = TInterface (Name {namespace = "Gtk", name = "ActionGroup"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the action group", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}] -- Lengths : [] -- returnType : Just (TGList (TInterface (Name {namespace = "Gtk", name = "Action"}))) -- throws : False -- Skip return : False foreign import ccall "gtk_action_group_list_actions" gtk_action_group_list_actions :: Ptr ActionGroup -> -- action_group : TInterface (Name {namespace = "Gtk", name = "ActionGroup"}) IO (Ptr (GList (Ptr Gtk.Action.Action))) {-# DEPRECATED actionGroupListActions ["(Since version 3.10)"] #-} {- | Lists the actions in the action group. /Since: 2.4/ -} actionGroupListActions :: (B.CallStack.HasCallStack, MonadIO m, IsActionGroup a) => a {- ^ /@actionGroup@/: the action group -} -> m [Gtk.Action.Action] {- ^ __Returns:__ an allocated list of the action objects in the action group -} actionGroupListActions actionGroup = liftIO $ do actionGroup' <- unsafeManagedPtrCastPtr actionGroup result <- gtk_action_group_list_actions actionGroup' result' <- unpackGList result result'' <- mapM (newObject Gtk.Action.Action) result' g_list_free result touchManagedPtr actionGroup return result'' #if ENABLE_OVERLOADING data ActionGroupListActionsMethodInfo instance (signature ~ (m [Gtk.Action.Action]), MonadIO m, IsActionGroup a) => O.MethodInfo ActionGroupListActionsMethodInfo a signature where overloadedMethod _ = actionGroupListActions #endif -- method ActionGroup::remove_action -- method type : OrdinaryMethod -- Args : [Arg {argCName = "action_group", argType = TInterface (Name {namespace = "Gtk", name = "ActionGroup"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the action group", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "action", argType = TInterface (Name {namespace = "Gtk", name = "Action"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "an action", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}] -- Lengths : [] -- returnType : Nothing -- throws : False -- Skip return : False foreign import ccall "gtk_action_group_remove_action" gtk_action_group_remove_action :: Ptr ActionGroup -> -- action_group : TInterface (Name {namespace = "Gtk", name = "ActionGroup"}) Ptr Gtk.Action.Action -> -- action : TInterface (Name {namespace = "Gtk", name = "Action"}) IO () {-# DEPRECATED actionGroupRemoveAction ["(Since version 3.10)"] #-} {- | Removes an action object from the action group. /Since: 2.4/ -} actionGroupRemoveAction :: (B.CallStack.HasCallStack, MonadIO m, IsActionGroup a, Gtk.Action.IsAction b) => a {- ^ /@actionGroup@/: the action group -} -> b {- ^ /@action@/: an action -} -> m () actionGroupRemoveAction actionGroup action = liftIO $ do actionGroup' <- unsafeManagedPtrCastPtr actionGroup action' <- unsafeManagedPtrCastPtr action gtk_action_group_remove_action actionGroup' action' touchManagedPtr actionGroup touchManagedPtr action return () #if ENABLE_OVERLOADING data ActionGroupRemoveActionMethodInfo instance (signature ~ (b -> m ()), MonadIO m, IsActionGroup a, Gtk.Action.IsAction b) => O.MethodInfo ActionGroupRemoveActionMethodInfo a signature where overloadedMethod _ = actionGroupRemoveAction #endif -- method ActionGroup::set_accel_group -- method type : OrdinaryMethod -- Args : [Arg {argCName = "action_group", argType = TInterface (Name {namespace = "Gtk", name = "ActionGroup"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkActionGroup", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "accel_group", argType = TInterface (Name {namespace = "Gtk", name = "AccelGroup"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "a #GtkAccelGroup to set or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}] -- Lengths : [] -- returnType : Nothing -- throws : False -- Skip return : False foreign import ccall "gtk_action_group_set_accel_group" gtk_action_group_set_accel_group :: Ptr ActionGroup -> -- action_group : TInterface (Name {namespace = "Gtk", name = "ActionGroup"}) Ptr Gtk.AccelGroup.AccelGroup -> -- accel_group : TInterface (Name {namespace = "Gtk", name = "AccelGroup"}) IO () {-# DEPRECATED actionGroupSetAccelGroup ["(Since version 3.10)"] #-} {- | Sets the accelerator group to be used by every action in this group. /Since: 3.6/ -} actionGroupSetAccelGroup :: (B.CallStack.HasCallStack, MonadIO m, IsActionGroup a, Gtk.AccelGroup.IsAccelGroup b) => a {- ^ /@actionGroup@/: a 'GI.Gtk.Objects.ActionGroup.ActionGroup' -} -> Maybe (b) {- ^ /@accelGroup@/: a 'GI.Gtk.Objects.AccelGroup.AccelGroup' to set or 'Nothing' -} -> m () actionGroupSetAccelGroup actionGroup accelGroup = liftIO $ do actionGroup' <- unsafeManagedPtrCastPtr actionGroup maybeAccelGroup <- case accelGroup of Nothing -> return nullPtr Just jAccelGroup -> do jAccelGroup' <- unsafeManagedPtrCastPtr jAccelGroup return jAccelGroup' gtk_action_group_set_accel_group actionGroup' maybeAccelGroup touchManagedPtr actionGroup whenJust accelGroup touchManagedPtr return () #if ENABLE_OVERLOADING data ActionGroupSetAccelGroupMethodInfo instance (signature ~ (Maybe (b) -> m ()), MonadIO m, IsActionGroup a, Gtk.AccelGroup.IsAccelGroup b) => O.MethodInfo ActionGroupSetAccelGroupMethodInfo a signature where overloadedMethod _ = actionGroupSetAccelGroup #endif -- method ActionGroup::set_sensitive -- method type : OrdinaryMethod -- Args : [Arg {argCName = "action_group", argType = TInterface (Name {namespace = "Gtk", name = "ActionGroup"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the action group", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "sensitive", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "new sensitivity", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}] -- Lengths : [] -- returnType : Nothing -- throws : False -- Skip return : False foreign import ccall "gtk_action_group_set_sensitive" gtk_action_group_set_sensitive :: Ptr ActionGroup -> -- action_group : TInterface (Name {namespace = "Gtk", name = "ActionGroup"}) CInt -> -- sensitive : TBasicType TBoolean IO () {-# DEPRECATED actionGroupSetSensitive ["(Since version 3.10)"] #-} {- | Changes the sensitivity of /@actionGroup@/ /Since: 2.4/ -} actionGroupSetSensitive :: (B.CallStack.HasCallStack, MonadIO m, IsActionGroup a) => a {- ^ /@actionGroup@/: the action group -} -> Bool {- ^ /@sensitive@/: new sensitivity -} -> m () actionGroupSetSensitive actionGroup sensitive = liftIO $ do actionGroup' <- unsafeManagedPtrCastPtr actionGroup let sensitive' = (fromIntegral . fromEnum) sensitive gtk_action_group_set_sensitive actionGroup' sensitive' touchManagedPtr actionGroup return () #if ENABLE_OVERLOADING data ActionGroupSetSensitiveMethodInfo instance (signature ~ (Bool -> m ()), MonadIO m, IsActionGroup a) => O.MethodInfo ActionGroupSetSensitiveMethodInfo a signature where overloadedMethod _ = actionGroupSetSensitive #endif -- method ActionGroup::set_translate_func -- method type : OrdinaryMethod -- Args : [Arg {argCName = "action_group", argType = TInterface (Name {namespace = "Gtk", name = "ActionGroup"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkActionGroup", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "func", argType = TInterface (Name {namespace = "Gtk", name = "TranslateFunc"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkTranslateFunc", sinceVersion = Nothing}, argScope = ScopeTypeNotified, argClosure = 2, argDestroy = 3, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "data to be passed to @func and @notify", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "notify", argType = TInterface (Name {namespace = "GLib", name = "DestroyNotify"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GDestroyNotify function to be called when @action_group is\n destroyed and when the translation function is changed again", sinceVersion = Nothing}, argScope = ScopeTypeAsync, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}] -- Lengths : [] -- returnType : Nothing -- throws : False -- Skip return : False foreign import ccall "gtk_action_group_set_translate_func" gtk_action_group_set_translate_func :: Ptr ActionGroup -> -- action_group : TInterface (Name {namespace = "Gtk", name = "ActionGroup"}) FunPtr Gtk.Callbacks.C_TranslateFunc -> -- func : TInterface (Name {namespace = "Gtk", name = "TranslateFunc"}) Ptr () -> -- data : TBasicType TPtr FunPtr GLib.Callbacks.C_DestroyNotify -> -- notify : TInterface (Name {namespace = "GLib", name = "DestroyNotify"}) IO () {-# DEPRECATED actionGroupSetTranslateFunc ["(Since version 3.10)"] #-} {- | Sets a function to be used for translating the /@label@/ and /@tooltip@/ of @/GtkActionEntrys/@ added by @/gtk_action_group_add_actions()/@. If you’re using @/gettext()/@, it is enough to set the translation domain with 'GI.Gtk.Objects.ActionGroup.actionGroupSetTranslationDomain'. /Since: 2.4/ -} actionGroupSetTranslateFunc :: (B.CallStack.HasCallStack, MonadIO m, IsActionGroup a) => a {- ^ /@actionGroup@/: a 'GI.Gtk.Objects.ActionGroup.ActionGroup' -} -> Gtk.Callbacks.TranslateFunc {- ^ /@func@/: a 'GI.Gtk.Callbacks.TranslateFunc' -} -> m () actionGroupSetTranslateFunc actionGroup func = liftIO $ do actionGroup' <- unsafeManagedPtrCastPtr actionGroup func' <- Gtk.Callbacks.mk_TranslateFunc (Gtk.Callbacks.wrap_TranslateFunc Nothing (Gtk.Callbacks.drop_closures_TranslateFunc func)) let data_ = castFunPtrToPtr func' let notify = safeFreeFunPtrPtr gtk_action_group_set_translate_func actionGroup' func' data_ notify touchManagedPtr actionGroup return () #if ENABLE_OVERLOADING data ActionGroupSetTranslateFuncMethodInfo instance (signature ~ (Gtk.Callbacks.TranslateFunc -> m ()), MonadIO m, IsActionGroup a) => O.MethodInfo ActionGroupSetTranslateFuncMethodInfo a signature where overloadedMethod _ = actionGroupSetTranslateFunc #endif -- method ActionGroup::set_translation_domain -- method type : OrdinaryMethod -- Args : [Arg {argCName = "action_group", argType = TInterface (Name {namespace = "Gtk", name = "ActionGroup"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkActionGroup", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "domain", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "the translation domain to use for g_dgettext()\ncalls, or %NULL to use the domain set with textdomain()", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}] -- Lengths : [] -- returnType : Nothing -- throws : False -- Skip return : False foreign import ccall "gtk_action_group_set_translation_domain" gtk_action_group_set_translation_domain :: Ptr ActionGroup -> -- action_group : TInterface (Name {namespace = "Gtk", name = "ActionGroup"}) CString -> -- domain : TBasicType TUTF8 IO () {-# DEPRECATED actionGroupSetTranslationDomain ["(Since version 3.10)"] #-} {- | Sets the translation domain and uses 'GI.GLib.Functions.dgettext' for translating the /@label@/ and /@tooltip@/ of @/GtkActionEntrys/@ added by @/gtk_action_group_add_actions()/@. If you’re not using @/gettext()/@ for localization, see 'GI.Gtk.Objects.ActionGroup.actionGroupSetTranslateFunc'. /Since: 2.4/ -} actionGroupSetTranslationDomain :: (B.CallStack.HasCallStack, MonadIO m, IsActionGroup a) => a {- ^ /@actionGroup@/: a 'GI.Gtk.Objects.ActionGroup.ActionGroup' -} -> Maybe (T.Text) {- ^ /@domain@/: the translation domain to use for 'GI.GLib.Functions.dgettext' calls, or 'Nothing' to use the domain set with @/textdomain()/@ -} -> m () actionGroupSetTranslationDomain actionGroup domain = liftIO $ do actionGroup' <- unsafeManagedPtrCastPtr actionGroup maybeDomain <- case domain of Nothing -> return nullPtr Just jDomain -> do jDomain' <- textToCString jDomain return jDomain' gtk_action_group_set_translation_domain actionGroup' maybeDomain touchManagedPtr actionGroup freeMem maybeDomain return () #if ENABLE_OVERLOADING data ActionGroupSetTranslationDomainMethodInfo instance (signature ~ (Maybe (T.Text) -> m ()), MonadIO m, IsActionGroup a) => O.MethodInfo ActionGroupSetTranslationDomainMethodInfo a signature where overloadedMethod _ = actionGroupSetTranslationDomain #endif -- method ActionGroup::set_visible -- method type : OrdinaryMethod -- Args : [Arg {argCName = "action_group", argType = TInterface (Name {namespace = "Gtk", name = "ActionGroup"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the action group", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "visible", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "new visiblity", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}] -- Lengths : [] -- returnType : Nothing -- throws : False -- Skip return : False foreign import ccall "gtk_action_group_set_visible" gtk_action_group_set_visible :: Ptr ActionGroup -> -- action_group : TInterface (Name {namespace = "Gtk", name = "ActionGroup"}) CInt -> -- visible : TBasicType TBoolean IO () {-# DEPRECATED actionGroupSetVisible ["(Since version 3.10)"] #-} {- | Changes the visible of /@actionGroup@/. /Since: 2.4/ -} actionGroupSetVisible :: (B.CallStack.HasCallStack, MonadIO m, IsActionGroup a) => a {- ^ /@actionGroup@/: the action group -} -> Bool {- ^ /@visible@/: new visiblity -} -> m () actionGroupSetVisible actionGroup visible = liftIO $ do actionGroup' <- unsafeManagedPtrCastPtr actionGroup let visible' = (fromIntegral . fromEnum) visible gtk_action_group_set_visible actionGroup' visible' touchManagedPtr actionGroup return () #if ENABLE_OVERLOADING data ActionGroupSetVisibleMethodInfo instance (signature ~ (Bool -> m ()), MonadIO m, IsActionGroup a) => O.MethodInfo ActionGroupSetVisibleMethodInfo a signature where overloadedMethod _ = actionGroupSetVisible #endif -- method ActionGroup::translate_string -- method type : OrdinaryMethod -- Args : [Arg {argCName = "action_group", argType = TInterface (Name {namespace = "Gtk", name = "ActionGroup"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkActionGroup", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "string", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a string", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}] -- Lengths : [] -- returnType : Just (TBasicType TUTF8) -- throws : False -- Skip return : False foreign import ccall "gtk_action_group_translate_string" gtk_action_group_translate_string :: Ptr ActionGroup -> -- action_group : TInterface (Name {namespace = "Gtk", name = "ActionGroup"}) CString -> -- string : TBasicType TUTF8 IO CString {-# DEPRECATED actionGroupTranslateString ["(Since version 3.10)"] #-} {- | Translates a string using the function set with 'GI.Gtk.Objects.ActionGroup.actionGroupSetTranslateFunc'. This is mainly intended for language bindings. /Since: 2.6/ -} actionGroupTranslateString :: (B.CallStack.HasCallStack, MonadIO m, IsActionGroup a) => a {- ^ /@actionGroup@/: a 'GI.Gtk.Objects.ActionGroup.ActionGroup' -} -> T.Text {- ^ /@string@/: a string -} -> m T.Text {- ^ __Returns:__ the translation of /@string@/ -} actionGroupTranslateString actionGroup string = liftIO $ do actionGroup' <- unsafeManagedPtrCastPtr actionGroup string' <- textToCString string result <- gtk_action_group_translate_string actionGroup' string' checkUnexpectedReturnNULL "actionGroupTranslateString" result result' <- cstringToText result touchManagedPtr actionGroup freeMem string' return result' #if ENABLE_OVERLOADING data ActionGroupTranslateStringMethodInfo instance (signature ~ (T.Text -> m T.Text), MonadIO m, IsActionGroup a) => O.MethodInfo ActionGroupTranslateStringMethodInfo a signature where overloadedMethod _ = actionGroupTranslateString #endif