gi-gio-2.0.32: Gio bindings
CopyrightWill Thompson and Iñaki García Etxebarria
LicenseLGPL-2.1
MaintainerIñaki García Etxebarria
Safe HaskellSafe-Inferred
LanguageHaskell2010

GI.Gio.Interfaces.ActionMap

Description

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

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

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

TypedObject ActionMap Source # 
Instance details

Defined in GI.Gio.Interfaces.ActionMap

Methods

glibType :: IO GType

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

gvalueSet_ :: Ptr GValue -> Maybe ActionMap -> IO ()

gvalueGet_ :: Ptr GValue -> IO (Maybe ActionMap)

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

addAction

actionMapAddAction Source #

Arguments

:: (HasCallStack, MonadIO m, IsActionMap a, IsAction b) 
=> a

actionMap: a ActionMap

-> 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: a ActionMap

-> [ActionEntry]

entries: a pointer to the first item in an array of 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 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: a ActionMap

-> Text

actionName: the name of an action

-> m (Maybe Action)

Returns: a Action, or Nothing

Looks up the action with the name actionName in actionMap.

If no such action exists, returns Nothing.

Since: 2.32

removeAction

actionMapRemoveAction Source #

Arguments

:: (HasCallStack, MonadIO m, IsActionMap a) 
=> a

actionMap: a ActionMap

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