GtkActionGroup

GtkActionGroup

Properties

gchar * name Read / Write / Construct Only
gboolean sensitive Read / Write
gboolean visible Read / Write

Signals

void connect-proxy  
void disconnect-proxy  
void post-activate  
void pre-activate  

Types and Values

Object Hierarchy

    GObject
    ╰── GtkActionGroup

Implemented Interfaces

GtkActionGroup implements GtkBuildable.

Includes

#include <gtk/gtk.h>

Description

Functions

gtk_action_group_new ()

GtkActionGroup *
gtk_action_group_new (const gchar *name);

Creates a new GtkActionGroup object. The name of the action group is used when associating keybindings with the actions.

Parameters

name

the name of the action group.

 

Returns

the new GtkActionGroup

Since: 2.4


gtk_action_group_get_name ()

const gchar *
gtk_action_group_get_name (GtkActionGroup *action_group);

Gets the name of the action group.

Parameters

action_group

the action group

 

Returns

the name of the action group.

Since: 2.4


gtk_action_group_get_sensitive ()

gboolean
gtk_action_group_get_sensitive (GtkActionGroup *action_group);

Returns TRUE if the group is sensitive. The constituent actions can only be logically sensitive (see gtk_action_is_sensitive()) if they are sensitive (see gtk_action_get_sensitive()) and their group is sensitive.

Parameters

action_group

the action group

 

Returns

TRUE if the group is sensitive.

Since: 2.4


gtk_action_group_set_sensitive ()

void
gtk_action_group_set_sensitive (GtkActionGroup *action_group,
                                gboolean sensitive);

Changes the sensitivity of action_group

Parameters

action_group

the action group

 

sensitive

new sensitivity

 

Since: 2.4


gtk_action_group_get_visible ()

gboolean
gtk_action_group_get_visible (GtkActionGroup *action_group);

Returns TRUE if the group is visible. The constituent actions can only be logically visible (see gtk_action_is_visible()) if they are visible (see gtk_action_get_visible()) and their group is visible.

Parameters

action_group

the action group

 

Returns

TRUE if the group is visible.

Since: 2.4


gtk_action_group_set_visible ()

void
gtk_action_group_set_visible (GtkActionGroup *action_group,
                              gboolean visible);

Changes the visible of action_group .

Parameters

action_group

the action group

 

visible

new visiblity

 

Since: 2.4


gtk_action_group_get_action ()

GtkAction *
gtk_action_group_get_action (GtkActionGroup *action_group,
                             const gchar *action_name);

Looks up an action in the action group by name.

Parameters

action_group

the action group

 

action_name

the name of the action

 

Returns

the action, or NULL if no action by that name exists.

[transfer none]

Since: 2.4


gtk_action_group_list_actions ()

GList *
gtk_action_group_list_actions (GtkActionGroup *action_group);

Lists the actions in the action group.

Parameters

action_group

the action group

 

Returns

an allocated list of the action objects in the action group.

[element-type GtkAction][transfer container]

Since: 2.4


gtk_action_group_add_action ()

void
gtk_action_group_add_action (GtkActionGroup *action_group,
                             GtkAction *action);

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 gtk_action_set_accel_path(), or use gtk_action_group_add_action_with_accel (..., NULL).

Parameters

action_group

the action group

 

action

an action

 

Since: 2.4


gtk_action_group_add_action_with_accel ()

void
gtk_action_group_add_action_with_accel
                               (GtkActionGroup *action_group,
                                GtkAction *action,
                                const gchar *accelerator);

Adds an action object to the action group and sets up the accelerator.

If accelerator is NULL, attempts to use the accelerator associated with the stock_id of the action.

Accel paths are set to <Actions>/group-name/action-name.

Parameters

action_group

the action group

 

action

the action to add

 

accelerator

the accelerator for the action, in the format understood by gtk_accelerator_parse(), or "" for no accelerator, or NULL to use the stock accelerator.

[allow-none]

Since: 2.4


gtk_action_group_remove_action ()

void
gtk_action_group_remove_action (GtkActionGroup *action_group,
                                GtkAction *action);

Removes an action object from the action group.

Parameters

action_group

the action group

 

action

an action

 

Since: 2.4


gtk_action_group_add_actions ()

void
gtk_action_group_add_actions (GtkActionGroup *action_group,
                              const GtkActionEntry *entries,
                              guint n_entries,
                              gpointer user_data);

This is a convenience function to create a number of actions and add them to the action group.

The "activate" signals of the actions are connected to the callbacks and their accel paths are set to <Actions>/group-name/action-name.

Parameters

action_group

the action group

 

entries

an array of action descriptions

 

n_entries

the number of entries

 

user_data

data to pass to the action callbacks

 

Since: 2.4


gtk_action_group_add_actions_full ()

void
gtk_action_group_add_actions_full (GtkActionGroup *action_group,
                                   const GtkActionEntry *entries,
                                   guint n_entries,
                                   gpointer user_data,
                                   GDestroyNotify destroy);

This variant of gtk_action_group_add_actions() adds a GDestroyNotify callback for user_data .

Parameters

action_group

the action group

 

entries

an array of action descriptions

 

n_entries

the number of entries

 

user_data

data to pass to the action callbacks

 

destroy

destroy notification callback for user_data

 

Since: 2.4


gtk_action_group_add_toggle_actions ()

void
gtk_action_group_add_toggle_actions (GtkActionGroup *action_group,
                                     const GtkToggleActionEntry *entries,
                                     guint n_entries,
                                     gpointer user_data);

This is a convenience function to create a number of toggle actions and add them to the action group.

The "activate" signals of the actions are connected to the callbacks and their accel paths are set to <Actions>/group-name/action-name.

Parameters

action_group

the action group

 

entries

an array of toggle action descriptions

 

n_entries

the number of entries

 

user_data

data to pass to the action callbacks

 

Since: 2.4


gtk_action_group_add_toggle_actions_full ()

void
gtk_action_group_add_toggle_actions_full
                               (GtkActionGroup *action_group,
                                const GtkToggleActionEntry *entries,
                                guint n_entries,
                                gpointer user_data,
                                GDestroyNotify destroy);

This variant of gtk_action_group_add_toggle_actions() adds a GDestroyNotify callback for user_data .

Parameters

action_group

the action group

 

entries

an array of toggle action descriptions

 

n_entries

the number of entries

 

user_data

data to pass to the action callbacks

 

destroy

destroy notification callback for user_data

 

Since: 2.4


gtk_action_group_add_radio_actions ()

void
gtk_action_group_add_radio_actions (GtkActionGroup *action_group,
                                    const GtkRadioActionEntry *entries,
                                    guint n_entries,
                                    gint value,
                                    GCallback on_change,
                                    gpointer user_data);

This is a convenience routine to create a group of radio actions and add them to the action group.

The "changed" signal of the first radio action is connected to the on_change callback and the accel paths of the actions are set to <Actions>/group-name/action-name.

Parameters

action_group

the action group

 

entries

an array of radio action descriptions

 

n_entries

the number of entries

 

value

the value of the action to activate initially, or -1 if no action should be activated

 

on_change

the callback to connect to the changed signal

 

user_data

data to pass to the action callbacks

 

Since: 2.4


gtk_action_group_add_radio_actions_full ()

void
gtk_action_group_add_radio_actions_full
                               (GtkActionGroup *action_group,
                                const GtkRadioActionEntry *entries,
                                guint n_entries,
                                gint value,
                                GCallback on_change,
                                gpointer user_data,
                                GDestroyNotify destroy);

This variant of gtk_action_group_add_radio_actions() adds a GDestroyNotify callback for user_data .

Parameters

action_group

the action group

 

entries

an array of radio action descriptions

 

n_entries

the number of entries

 

value

the value of the action to activate initially, or -1 if no action should be activated

 

on_change

the callback to connect to the changed signal

 

user_data

data to pass to the action callbacks

 

destroy

destroy notification callback for user_data

 

Since: 2.4


gtk_action_group_set_translate_func ()

void
gtk_action_group_set_translate_func (GtkActionGroup *action_group,
                                     GtkTranslateFunc func,
                                     gpointer data,
                                     GDestroyNotify notify);

Sets a function to be used for translating the label and tooltip of GtkActionGroupEntrys added by gtk_action_group_add_actions().

If you're using gettext(), it is enough to set the translation domain with gtk_action_group_set_translation_domain().

Parameters

action_group

a GtkActionGroup

 

func

a GtkTranslateFunc

 

data

data to be passed to func and notify

 

notify

a GDestroyNotify function to be called when action_group is destroyed and when the translation function is changed again

 

Since: 2.4


gtk_action_group_set_translation_domain ()

void
gtk_action_group_set_translation_domain
                               (GtkActionGroup *action_group,
                                const gchar *domain);

Sets the translation domain and uses g_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 gtk_action_group_set_translate_func().

Parameters

action_group

a GtkActionGroup

 

domain

the translation domain to use for g_dgettext() calls

 

Since: 2.4


gtk_action_group_translate_string ()

const gchar *
gtk_action_group_translate_string (GtkActionGroup *action_group,
                                   const gchar *string);

Translates a string using the specified translate_func(). This is mainly intended for language bindings.

Parameters

action_group

a GtkActionGroup

 

string

a string

 

Returns

the translation of string

Since: 2.6

Types and Values

struct GtkActionGroup

struct GtkActionGroup;

struct GtkActionEntry

struct GtkActionEntry {
  const gchar     *name;
  const gchar     *stock_id;
  const gchar     *label;
  const gchar     *accelerator;
  const gchar     *tooltip;
  GCallback  callback;
};

struct GtkToggleActionEntry

struct GtkToggleActionEntry {
  const gchar     *name;
  const gchar     *stock_id;
  const gchar     *label;
  const gchar     *accelerator;
  const gchar     *tooltip;
  GCallback  callback;
  gboolean   is_active;
};

struct GtkRadioActionEntry

struct GtkRadioActionEntry {
  const gchar *name;
  const gchar *stock_id;
  const gchar *label;
  const gchar *accelerator;
  const gchar *tooltip;
  gint   value; 
};

Property Details

The “name” property

  “name”                     gchar *

A name for the action group.

Flags: Read / Write / Construct Only

Default value: NULL


The “sensitive” property

  “sensitive”                gboolean

Whether the action group is enabled.

Flags: Read / Write

Default value: TRUE


The “visible” property

  “visible”                  gboolean

Whether the action group is visible.

Flags: Read / Write

Default value: TRUE

Signal Details

The “connect-proxy” signal

void
user_function (GtkActionGroup *action_group,
               GtkAction      *action,
               GtkWidget      *proxy,
               gpointer        user_data)

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.

GtkUIManager proxies the signal and provides global notification just before any action is connected to a proxy, which is probably more convenient to use.

Parameters

action_group

the group

 

action

the action

 

proxy

the proxy

 

user_data

user data set when the signal handler was connected.

 

Since: 2.4


The “disconnect-proxy” signal

void
user_function (GtkActionGroup *action_group,
               GtkAction      *action,
               GtkWidget      *proxy,
               gpointer        user_data)

The ::disconnect-proxy signal is emitted after disconnecting a proxy from an action in the group.

GtkUIManager proxies the signal and provides global notification just before any action is connected to a proxy, which is probably more convenient to use.

Parameters

action_group

the group

 

action

the action

 

proxy

the proxy

 

user_data

user data set when the signal handler was connected.

 

Since: 2.4


The “post-activate” signal

void
user_function (GtkActionGroup *action_group,
               GtkAction      *action,
               gpointer        user_data)

The ::post-activate signal is emitted just after the action in the action_group is activated

This is intended for GtkUIManager to proxy the signal and provide global notification just after any action is activated.

Parameters

action_group

the group

 

action

the action

 

user_data

user data set when the signal handler was connected.

 

Since: 2.4


The “pre-activate” signal

void
user_function (GtkActionGroup *action_group,
               GtkAction      *action,
               gpointer        user_data)

The ::pre-activate signal is emitted just before the action in the action_group is activated

This is intended for GtkUIManager to proxy the signal and provide global notification just before any action is activated.

Parameters

action_group

the group

 

action

the action

 

user_data

user data set when the signal handler was connected.

 

Since: 2.4