## e-ui-action-group

e-ui-action-group — Group of UI actions

## Functions

EUIActionGroup * | e_ui_action_group_new ()
const gchar * | e_ui_action_group_get_name ()
void | e_ui_action_group_add ()
void | e_ui_action_group_remove ()
void | e_ui_action_group_remove_by_name ()
void | e_ui_action_group_remove_all ()
EUIAction * | e_ui_action_group_get_action ()
GPtrArray * | e_ui_action_group_list_actions ()
gboolean | e_ui_action_group_get_visible ()
void | e_ui_action_group_set_visible ()
gboolean | e_ui_action_group_get_sensitive ()
void | e_ui_action_group_set_sensitive ()

## Properties

char * | name | Read / Write / Construct Only
gboolean | sensitive | Read / Write
gboolean | visible | Read / Write

## Signals

void | accel-added | Action
void | accel-removed | Action
void | added | Action
void | removed | Action

## Types and Values

#define | E_TYPE_UI_ACTION_GROUP
| EUIActionGroup

## Object Hierarchy

        GObject
        ╰── GSimpleActionGroup
            ╰── EUIActionGroup

## Implemented Interfaces

EUIActionGroup implements GActionGroup and GActionMap.

## Includes

    #include <e-util/e-util.h>

## Description

The EUIActionGroup is a named group of EUIAction actions. The group allows to sensitize or influence visibility of all the actions in it by setting sensitive or visible property of the group itself.

The EUIActionGroup can serve also as a GActionMap.

The object is not thread-safe, it's meant to be used only from the main/GUI thread.

## Functions

### e_ui_action_group_new ()

    EUIActionGroup *
    e_ui_action_group_new (const gchar *name);

Creates a new EUIActionGroup named `name` .

#### Parameters

name | a group name. | [not nullable]

#### Returns

a new EUIActionGroup.

[transfer full]

Since: 3.56

### e_ui_action_group_get_name ()

    const gchar *
    e_ui_action_group_get_name (EUIActionGroup *self);

Get a name of the `self` .

#### Parameters

self | an EUIActionGroup |

#### Returns

a name of the `self`

Since: 3.56

### e_ui_action_group_add ()

    void
    e_ui_action_group_add (EUIActionGroup *self,
                           EUIAction *action);

Adds an action into the `self` . When the `action` is already in this group, it does nothing. When the `action` is part of another group, it's removed from it first. In other words, the `action` can be part of a single group only.

Adding a new action of the same name as another action already in the group is considered as a programming error.

#### Parameters

self | an EUIActionGroup |
action | an EUIAction. | [transfer none]

Since: 3.56

### e_ui_action_group_remove ()

    void
    e_ui_action_group_remove (EUIActionGroup *self,
                              EUIAction *action);

Removes `action` from the `self` . It does nothing when the action does not exist in the group.

Trying to remove an action of the same name as another action already in the group is considered as a programming error.

See `e_ui_action_group_remove_by_name()`.

#### Parameters

self | an EUIActionGroup |
action | an EUIAction |

Since: 3.56

### e_ui_action_group_remove_by_name ()

    void
    e_ui_action_group_remove_by_name (EUIActionGroup *self,
                                      const gchar *action_name);

Removes an action from the `self` identified by the `action_name` . It does nothing, when the group does not contain any such named action.

See `e_ui_action_group_remove_by_name()`.

#### Parameters

self | an EUIActionGroup |
action_name | an action name. | [not nullable]

Since: 3.56

### e_ui_action_group_remove_all ()

    void
    e_ui_action_group_remove_all (EUIActionGroup *self);

Removes all actions from the `self` .

#### Parameters

self | an EUIActionGroup |

Since: 3.56

### e_ui_action_group_get_action ()

    EUIAction *
    e_ui_action_group_get_action (EUIActionGroup *self,
                                  const gchar *action_name);

Looks up an action by its name in the `self` .

#### Parameters

self | an EUIActionGroup |
action_name | an action name. | [not nullable]

#### Returns

an EUIAction of the name `action_name` , or `NULL`, when no such named action exists in the group.

[transfer none][nullable]

Since: 3.56

### e_ui_action_group_list_actions ()

    GPtrArray *
    e_ui_action_group_list_actions (EUIActionGroup *self);

List all the actions in the `self` . Free the returned GPtrArray with `g_ptr_array_unref()`, when no longer needed.

#### Parameters

self | an EUIActionGroup |

#### Returns

all actions in the `self` .

[transfer container][element-type EUIAction]

Since: 3.56

### e_ui_action_group_get_visible ()

    gboolean
    e_ui_action_group_get_visible (EUIActionGroup *self);

Checks whether the group, and also all the actions in the group, can be visible.

#### Parameters

self | an EUIActionGroup |

#### Returns

whether the group and all its actions can be visible

Since: 3.56

### e_ui_action_group_set_visible ()

    void
    e_ui_action_group_set_visible (EUIActionGroup *self,
                                   gboolean value);

Sets whether the group, and also all the actions in the group, can be visible.

#### Parameters

self | an EUIActionGroup |
value | value to set |

Since: 3.56

### e_ui_action_group_get_sensitive ()

    gboolean
    e_ui_action_group_get_sensitive (EUIActionGroup *self);

Checks whether the group, and also all the actions in the group, can be sensitive.

#### Parameters

self | an EUIActionGroup |

#### Returns

whether the group and all its actions can be sensitive

Since: 3.56

### e_ui_action_group_set_sensitive ()

    void
    e_ui_action_group_set_sensitive (EUIActionGroup *self,
                                     gboolean value);

Sets whether the group, and also all the actions in the group, can be visible.

#### Parameters

self | an EUIActionGroup |
value | a value to set |

Since: 3.56

## Types and Values

### E_TYPE_UI_ACTION_GROUP

    #define E_TYPE_UI_ACTION_GROUP e_ui_action_group_get_type ()

### EUIActionGroup

    typedef struct _EUIActionGroup EUIActionGroup;

## Property Details

### The `“name”` property

      “name”                     char *

Name of the action group.

Owner: EUIActionGroup

Flags: Read / Write / Construct Only

Default value: NULL

Since: 3.56

### The `“sensitive”` property

      “sensitive”                gboolean

Get or set whether the action group is sensitive, which influences all the actions in the group.

Owner: EUIActionGroup

Flags: Read / Write

Default value: TRUE

Since: 3.56

### The `“visible”` property

      “visible”                  gboolean

Get or set whether the action group is visible, which influences all the actions in the group.

Owner: EUIActionGroup

Flags: Read / Write

Default value: TRUE

Since: 3.56

## Signal Details

### The `“accel-added”` signal

    void
    user_function (EUIActionGroup *action_group,
                   EUIAction      *action,
                   char           *accel,
                   gpointer        user_data)

A signal emitted when one of the `action_group` `action` has added an accelerator string.

#### Parameters

action_group | an EUIActionGroup |
action | an EUIAction, whose accel was added |
accel | the added accel |
user_data | user data set when the signal handler was connected. |

Flags: Action

Since: 3.56

### The `“accel-removed”` signal

    void
    user_function (EUIActionGroup *action_group,
                   EUIAction      *action,
                   char           *accel,
                   gpointer        user_data)

A signal emitted when one of the `action_group` `action` has removed an accelerator string.

#### Parameters

action_group | an EUIActionGroup |
action | an EUIAction, whose accel was removed |
accel | the removed accel |
user_data | user data set when the signal handler was connected. |

Flags: Action

Since: 3.56

### The `“added”` signal

    void
    user_function (EUIActionGroup *action_group,
                   EUIAction      *action,
                   gpointer        user_data)

A signal emitted when the `action_group` added `action` into itself.

#### Parameters

action_group | an EUIActionGroup |
action | an EUIAction, which had been just added |
user_data | user data set when the signal handler was connected. |

Flags: Action

Since: 3.56

### The `“removed”` signal

    void
    user_function (EUIActionGroup *action_group,
                   EUIAction      *action,
                   gpointer        user_data)

A signal emitted when the `action_group` removed `action` from itself.

#### Parameters

action_group | an EUIActionGroup |
action | an EUIAction, which had been just removed |
user_data | user data set when the signal handler was connected. |

Flags: Action

Since: 3.56