gi-gio-2.0.35: Gio bindings

Copyright | Will Thompson and Iñaki García Etxebarria
License | LGPL-2.1
Maintainer | Iñaki García Etxebarria
Safe Haskell | Safe-Inferred
Language | Haskell2010

GI.Gio.Interfaces.ActionMap

Contents

- Exported types
- Methods
  - addAction
  - addActionEntries
  - lookupAction
  - removeAction
  - removeActionEntries

Description

`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

newtype ActionMap Source #

Memory-managed wrapper type.

Constructors

ActionMap (ManagedPtr ActionMap) |

#### Instances

Instances details

Eq ActionMap Source # |
Instance details Defined in GI.Gio.Interfaces.ActionMap Methods (==) :: ActionMap -> ActionMap -> Bool Source # (/=) :: ActionMap -> ActionMap -> Bool Source #
GObject ActionMap Source # |
Instance details Defined in GI.Gio.Interfaces.ActionMap
ManagedPtrNewtype ActionMap Source # |
Instance details Defined in GI.Gio.Interfaces.ActionMap Methods toManagedPtr :: ActionMap -> ManagedPtr ActionMap Source #
TypedObject ActionMap Source # |
Instance details Defined in GI.Gio.Interfaces.ActionMap Methods glibType :: IO GType Source #
HasParentTypes ActionMap Source # |
Instance details Defined in GI.Gio.Interfaces.ActionMap
IsGValue (Maybe ActionMap) Source # | Convert `ActionMap` to and from `GValue`. See `toGValue` and `fromGValue`.
Instance details Defined in GI.Gio.Interfaces.ActionMap Methods gvalueGType_ :: IO GType Source # gvalueSet_ :: Ptr GValue -> Maybe ActionMap -> IO () Source # gvalueGet_ :: Ptr GValue -> IO (Maybe ActionMap) Source #
type ParentTypes ActionMap Source # |
Instance details 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

Instances details

(GObject o, IsDescendantOf ActionMap o) => IsActionMap o Source # |
Instance details Defined in GI.Gio.Interfaces.ActionMap

toActionMap :: (MonadIO m, IsActionMap o) => o -> m ActionMap Source #

Cast to `ActionMap`, for types for which this is known to be safe. For general casts, use `castTo`.

# Methods

### Click to display all available methods, including inherited ones

Expand

#### 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

setData, setDataFull, setProperty.

## addAction

actionMapAddAction Source #

Arguments

:: (HasCallStack, MonadIO m, IsActionMap a, IsAction b) |
=> a | `actionMap`: an action map
-> b | `action`: a `Action`
-> 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 #

Arguments

:: (HasCallStack, MonadIO m, IsActionMap a) |
=> a | `actionMap`: an action map
-> [ActionEntry] | `entries`: a pointer to the first item in an array of [struct`gio`.ActionEntry] structs
-> Ptr () | `userData`: the user data for signal connections
-> m () |

A convenience function for creating multiple `SimpleAction` instances and adding them to a `ActionMap`.

Each action is constructed as per one [struct`gio`.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 #

Arguments

:: (HasCallStack, MonadIO m, IsActionMap a) |
=> a | `actionMap`: an action map
-> Text | `actionName`: the name of an action
-> m (Maybe Action) | Returns: a `Action`

Looks up the action with the name `actionName` in `actionMap`.

If no such action exists, returns `NULL`.

Since: 2.32

## removeAction

actionMapRemoveAction Source #

Arguments

:: (HasCallStack, MonadIO m, IsActionMap a) |
=> a | `actionMap`: an action map
-> Text | `actionName`: the name of the action
-> 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 #

Arguments

:: (HasCallStack, MonadIO m, IsActionMap a) |
=> a | `actionMap`: The `ActionMap`
-> [ActionEntry] | `entries`: a pointer to the first item in an array of [struct`gio`.ActionEntry] structs
-> 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