Copyright | Will Thompson and Iñaki García Etxebarria |
---|---|
License | LGPL-2.1 |
Maintainer | Iñaki García Etxebarria |
Safe Haskell | None |
Language | Haskell2010 |
GActionMap
is an interface for action containers.
The GActionMap
interface is implemented by ActionGroup
implementations that operate by containing a number of named
Action
instances, such as SimpleActionGroup
.
One useful application of this interface is to map the names of actions from various action groups to unique, prefixed names (e.g. by prepending "app." or "win."). This is the motivation for the 'Map' part of the interface name.
Since: 2.32
Synopsis
- newtype ActionMap = ActionMap (ManagedPtr ActionMap)
- class (GObject o, IsDescendantOf ActionMap o) => IsActionMap o
- toActionMap :: (MonadIO m, IsActionMap o) => o -> m ActionMap
- actionMapAddAction :: (HasCallStack, MonadIO m, IsActionMap a, IsAction b) => a -> b -> m ()
- actionMapAddActionEntries :: (HasCallStack, MonadIO m, IsActionMap a) => a -> [ActionEntry] -> Ptr () -> m ()
- actionMapLookupAction :: (HasCallStack, MonadIO m, IsActionMap a) => a -> Text -> m (Maybe Action)
- actionMapRemoveAction :: (HasCallStack, MonadIO m, IsActionMap a) => a -> Text -> m ()
- actionMapRemoveActionEntries :: (HasCallStack, MonadIO m, IsActionMap a) => a -> [ActionEntry] -> m ()
Exported types
Memory-managed wrapper type.
Instances
Eq ActionMap Source # | |
GObject ActionMap Source # | |
Defined in GI.Gio.Interfaces.ActionMap | |
ManagedPtrNewtype ActionMap Source # | |
Defined in GI.Gio.Interfaces.ActionMap | |
TypedObject ActionMap Source # | |
Defined in GI.Gio.Interfaces.ActionMap | |
HasParentTypes ActionMap Source # | |
Defined in GI.Gio.Interfaces.ActionMap | |
IsGValue (Maybe ActionMap) Source # | Convert |
Defined in GI.Gio.Interfaces.ActionMap | |
type ParentTypes ActionMap Source # | |
Defined in GI.Gio.Interfaces.ActionMap type ParentTypes ActionMap = '[Object] |
class (GObject o, IsDescendantOf ActionMap o) => IsActionMap o Source #
Type class for types which can be safely cast to ActionMap
, for instance with toActionMap
.
Instances
(GObject o, IsDescendantOf ActionMap o) => IsActionMap o Source # | |
Defined in GI.Gio.Interfaces.ActionMap |
toActionMap :: (MonadIO m, IsActionMap o) => o -> m ActionMap Source #
Methods
Click to display all available methods, including inherited ones
Methods
addAction, addActionEntries, bindProperty, bindPropertyFull, forceFloating, freezeNotify, getv, isFloating, lookupAction, notify, notifyByPspec, ref, refSink, removeAction, removeActionEntries, runDispose, stealData, stealQdata, thawNotify, unref, watchClosure.
Getters
getData, getProperty, getQdata.
Setters
addAction
:: (HasCallStack, MonadIO m, IsActionMap a, IsAction b) | |
=> a |
|
-> b |
|
-> m () |
Adds an action to the actionMap
.
If the action map already contains an action with the same name
as action
then the old action is dropped from the action map.
The action map takes its own reference on action
.
Since: 2.32
addActionEntries
actionMapAddActionEntries Source #
:: (HasCallStack, MonadIO m, IsActionMap a) | |
=> a |
|
-> [ActionEntry] |
|
-> Ptr () |
|
-> m () |
A convenience function for creating multiple SimpleAction
instances
and adding them to a ActionMap
.
Each action is constructed as per one ActionEntry
.
C code
static void activate_quit (GSimpleAction *simple, GVariant *parameter, gpointer user_data) { exit (0); } static void activate_print_string (GSimpleAction *simple, GVariant *parameter, gpointer user_data) { g_print ("%s\n", g_variant_get_string (parameter, NULL)); } static GActionGroup * create_action_group (void) { const GActionEntry entries[] = { { "quit", activate_quit }, { "print-string", activate_print_string, "s" } }; GSimpleActionGroup *group; group = g_simple_action_group_new (); g_action_map_add_action_entries (G_ACTION_MAP (group), entries, G_N_ELEMENTS (entries), NULL); return G_ACTION_GROUP (group); }
Since: 2.32
lookupAction
actionMapLookupAction Source #
:: (HasCallStack, MonadIO m, IsActionMap a) | |
=> a |
|
-> Text |
|
-> m (Maybe Action) |
Looks up the action with the name actionName
in actionMap
.
If no such action exists, returns Nothing
.
Since: 2.32
removeAction
actionMapRemoveAction Source #
:: (HasCallStack, MonadIO m, IsActionMap a) | |
=> a |
|
-> Text |
|
-> m () |
Removes the named action from the action map.
If no action of this name is in the map then nothing happens.
Since: 2.32
removeActionEntries
actionMapRemoveActionEntries Source #
:: (HasCallStack, MonadIO m, IsActionMap a) | |
=> a |
|
-> [ActionEntry] |
|
-> m () |
Remove actions from a ActionMap
. This is meant as the reverse of
actionMapAddActionEntries
.
C code
static const GActionEntry entries[] = { { "quit", activate_quit }, { "print-string", activate_print_string, "s" } }; void add_actions (GActionMap *map) { g_action_map_add_action_entries (map, entries, G_N_ELEMENTS (entries), NULL); } void remove_actions (GActionMap *map) { g_action_map_remove_action_entries (map, entries, G_N_ELEMENTS (entries)); }
Since: 2.78