e-ui-menu

e-ui-menu — a UI menu

Functions

Properties

char * id Read / Write / Construct Only
EUIManager * manager Read / Write / Construct Only

Types and Values

#define E_TYPE_UI_MENU
  EUIMenu

Object Hierarchy

    GObject
    ╰── GMenuModel
        ╰── EUIMenu

Includes

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

Description

EUIMenu is a GMenuModel descendant, which takes care of an EUIAction visibility and regenerates its content when any of the actions hides/shows itself or when the associated EUIManager changes.

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

Functions

e_ui_menu_new ()

EUIMenu *
e_ui_menu_new (EUIManager *manager,
               const gchar *id);

Creates a new EUIMenu, which will use the manager to get its content from under identifier id .

Parameters

manager

an *EUIManager

 

id

a menu identifier to use the created EUIMenu with

 

Returns

a new EUIMenu.

[transfer full]

Since: 3.56


e_ui_menu_get_manager ()

EUIManager *
e_ui_menu_get_manager (EUIMenu *self);

Gets an associated EUIManager.

Parameters

self

an EUIMenu

 

Returns

an associated EUIManager.

[transfer none]

Since: 3.56


e_ui_menu_get_id ()

const gchar *
e_ui_menu_get_id (EUIMenu *self);

Gets an identifier of the menu to populate the self with.

Parameters

self

an EUIMenu

 

Returns

a menu identifier

Since: 3.56


e_ui_menu_append_item ()

void
e_ui_menu_append_item (EUIMenu *self,
                       EUIAction *action,
                       GMenuItem *item);

Appends a GMenuItem descendant item into the menu, which can be related to the action . When the action is not NULL, its state is tracked and the menu is regenerated whenever the state changed (and when needed).

Parameters

self

an EUIMenu

 

action

an EUIAction, or NULL.

[nullable]

item

a GMenuItem to append

 

Since: 3.56


e_ui_menu_append_section ()

void
e_ui_menu_append_section (EUIMenu *self,
                          GMenuModel *section);

Appends a GMenuModel as a new section in the self .

Parameters

self

an EUIMenu

 

section

a GMenuModel

 

Since: 3.56


e_ui_menu_track_action ()

void
e_ui_menu_track_action (EUIMenu *self,
                        EUIAction *action);

Tracks a state change of the action and regenerates the menu content when needed.

Parameters

self

an EUIMenu

 

action

an EUIAction.

[not nullable]

Since: 3.56


e_ui_menu_freeze ()

void
e_ui_menu_freeze (EUIMenu *self);

Freezes rebuild of the menu content. Useful when filling the content. The function can be called multiple times, only each call needs a pair call of the e_ui_menu_thaw() to revert the effect of this function.

Parameters

self

an EUIMenu

 

Since: 3.56


e_ui_menu_thaw ()

void
e_ui_menu_thaw (EUIMenu *self);

Pair function for the e_ui_menu_freeze(). It's a programming error to thaw a menu, which is not frozen.

Parameters

self

an EUIMenu

 

Since: 3.56


e_ui_menu_is_frozen ()

gboolean
e_ui_menu_is_frozen (EUIMenu *self);

Gets whether the self is frozen for rebuild. It can be frozen with the e_ui_menu_freeze() and unfrozen with the e_ui_menu_thaw().

Parameters

self

an EUIMenu

 

Returns

whether rebuild of the self is frozen

Since: 3.56


e_ui_menu_rebuild ()

void
e_ui_menu_rebuild (EUIMenu *self);

Rebuilds the self content. If the rebuild is frozen (see e_ui_menu_freeze()), the rebuild is postponed until the rebuild is allowed again.

Parameters

self

an EUIMenu

 

Since: 3.56


e_ui_menu_remove_all ()

void
e_ui_menu_remove_all (EUIMenu *self);

Cleans up content of the self , including tracked actions and all the menu items.

Parameters

self

an EUIMenu

 

Since: 3.56

Types and Values

E_TYPE_UI_MENU

#define E_TYPE_UI_MENU e_ui_menu_get_type ()

EUIMenu

typedef struct _EUIMenu EUIMenu;

Property Details

The “id” property

  “id”                       char *

Identifier of the menu to be read from the EUIManager.

Owner: EUIMenu

Flags: Read / Write / Construct Only

Default value: NULL

Since: 3.56


The “manager” property

  “manager”                  EUIManager *

An EUIManager associated with the menu.

Owner: EUIMenu

Flags: Read / Write / Construct Only

Since: 3.56