Main Page Widgets Namespaces Book

# Gtk::UIManager Class Reference

Inheritance diagram for Gtk::UIManager:

[legend]
List of all members.

## Public Types
typedef guint | ui_merge_id
## Public Member Functions
void | add_ui (ui_merge_id merge_id, const Glib::ustring& path, const Glib::ustring& name, const Glib::ustring& action, UIManagerItemType type=Gtk::UI_MANAGER_AUTO, bool top=true)
| Adds a UI element to the current contents of self .
ui_merge_id | add_ui_from_file (const Glib::ustring& filename)
| Parses a file containing a UI definition and merges it with the current contents of self .
ui_merge_id | add_ui_from_string (const Glib::ustring& buffer)
| Parses a string containing a UI definition and merges it with the current contents.
void | add_ui_separator (ui_merge_id merge_id, const Glib::ustring& path, const Glib::ustring& name="", UIManagerItemType type=Gtk::UI_MANAGER_AUTO, bool top=true)
| Adds a separator UI element to the current contents.
void | ensure_update ()
| Makes sure that all pending updates to the UI have been completed.
Glib::RefPtr<const AccelGroup> | get_accel_group () const
| Returns the Gtk::AccelGroup associated with self .
Glib::RefPtr<AccelGroup> | get_accel_group ()
| Returns the Gtk::AccelGroup associated with self .
Glib::RefPtr<const Action> | get_action (const Glib::ustring& path) const
| Looks up an action by following a path.
Glib::RefPtr<Action> | get_action (const Glib::ustring& path)
| Looks up an action by following a path.
Glib::ListHandle< Glib::RefPtr< const ActionGroup > > | get_action_groups () const
| Returns the list of action groups associated with self .
Glib::ListHandle< Glib::RefPtr< ActionGroup > > | get_action_groups ()
| Returns the list of action groups associated with self .
bool | get_add_tearoffs () const
| Returns whether menus generated by this Gtk::UIManager will have tearoff menu items.
Glib::SListHandle<const Widget*> | get_toplevels (UIManagerItemType types) const
| Obtains a list of all toplevel widgets of the requested types.
Glib::SListHandle<Widget*> | get_toplevels (UIManagerItemType types)
| Obtains a list of all toplevel widgets of the requested types.
Glib::ustring | get_ui () const
| Creates a UI definition of the merged UI.
const Widget* | get_widget (const Glib::ustring& path) const
| Looks up a widget by following a path.
Widget* | get_widget (const Glib::ustring& path)
| Looks up a widget by following a path.
const GtkUIManager* | gobj () const
| Provides access to the underlying C GObject.
GtkUIManager* | gobj ()
| Provides access to the underlying C GObject.
GtkUIManager* | gobj_copy ()
| Provides access to the underlying C instance. The caller is responsible for unrefing it. Use when directly setting fields in structs.
void | insert_action_group (const Glib::RefPtr<ActionGroup>& action_group, int pos=0)
| Inserts an action group into the list of action groups associated with self .
ui_merge_id | new_merge_id ()
| Returns an unused merge id, suitable for use with gtk_ui_manager_add_ui().
Glib::PropertyProxy_ReadOnly< bool > | property_add_tearoffs () const
| Whether tearoff menu items should be added to menus.
Glib::PropertyProxy<bool> | property_add_tearoffs ()
| Whether tearoff menu items should be added to menus.
Glib::PropertyProxy_ReadOnly< Glib::ustring > | property_ui () const
| An XML string describing the merged UI.
void | remove_action_group (const Glib::RefPtr<ActionGroup>& action_group)
| Removes an action group from the list of action groups associated with self .
void | remove_ui (ui_merge_id merge_id)
| Unmerges the part of self <!-- -->s content identified by merge_id .
void | set_add_tearoffs (bool add_tearoffs=true)
| Sets the "add_tearoffs" property, which controls whether menus generated by this Gtk::UIManager will have tearoff menu items.
Glib::SignalProxy0<void> | signal_actions_changed ()
| The "actions-changed" signal is emitted whenever the set of actions changes.
Glib::SignalProxy1< void, Widget* > | signal_add_widget ()
| The add_widget signal is emitted for each generated menubar and toolbar.
Glib::SignalProxy2< void, const Glib::RefPtr<Action>&, Widget* > | signal_connect_proxy ()
| The connect_proxy signal is emitted after connecting a proxy to an action in the group.
Glib::SignalProxy2< void, const Glib::RefPtr<Action>&, Widget* > | signal_disconnect_proxy ()
| The disconnect_proxy signal is emitted after disconnecting a proxy from an action in the group.
Glib::SignalProxy1< void, const Glib::RefPtr<Action >&> | signal_post_activate ()
| The post_activate signal is emitted just after the action is activated.
Glib::SignalProxy1< void, const Glib::RefPtr<Action >&> | signal_pre_activate ()
| The pre_activate signal is emitted just before the action is activated.
virtual | ~UIManager ()
## Static Public Member Functions
static Glib::RefPtr<UIManager> | create ()
## Protected Member Functions
virtual void | on_actions_changed ()
virtual void | on_add_widget (Widget* widget)
| UIManager ()
## Related Functions
(Note that these are not member functions.)
Glib::RefPtr<Gtk::UIManager> | wrap (GtkUIManager* object, bool take_copy=false)

## Member Typedef Documentation

typedef guint Gtk::UIManager::ui_merge_id

## Constructor & Destructor Documentation

virtual Gtk::UIManager::~UIManager | ( |  | ) | `[virtual]`

Gtk::UIManager::UIManager | ( |  | ) | `[protected]`

## Member Function Documentation

void Gtk::UIManager::add_ui | ( | ui_merge_id | merge_id,
|  | const Glib::ustring& | path,
|  | const Glib::ustring& | name,
|  | const Glib::ustring& | action,
|  | UIManagerItemType | type = `Gtk::UI_MANAGER_AUTO`,
|  | bool | top = `true`
| ) |

  | Adds a UI element to the current contents of self . If type is Gtk::UI_MANAGER_AUTO, GTK+ inserts a menuitem, toolitem or separator if such an element can be inserted at the place determined by path . Otherwise type must indicate an element that can be inserted at the place determined by path . see add_ui_separator(). Since: 2.4 Parameters:
  | merge_id | The merge id for the merged UI, see gtk_ui_manager_new_merge_id().
  | path | A path.
  | name | The name for the added UI element.
  | action | The name of the action to be proxied, if this is not a separator.
  | type | The type of UI element to add.
  | top | If `true`, the UI element is added before its siblings, otherwise it is added after its siblings.

ui_merge_id Gtk::UIManager::add_ui_from_file | ( | const Glib::ustring& | filename | ) |

  | Parses a file containing a UI definition and merges it with the current contents of self . Parameters:
  | filename | The name of the file to parse.
Returns: The merge id for the merged UI. The merge id can be used to unmerge the UI with gtk_ui_manager_remove_ui(). If an error occurred, the return value is 0. Since: 2.4.

ui_merge_id Gtk::UIManager::add_ui_from_string | ( | const Glib::ustring& | buffer | ) |

  | Parses a string containing a UI definition and merges it with the current contents. An enclosing <ui> element is added if it is missing. Parameters:
  | buffer | the string to parse
  Returns: The merge id for the merged UI. The merge id can be used to unmerge the UI with remove_ui(). If an error occurred, the return value is 0. Exceptions:
  | exception | Since: 2.4

void Gtk::UIManager::add_ui_separator | ( | ui_merge_id | merge_id,
|  | const Glib::ustring& | path,
|  | const Glib::ustring& | name = `""`,
|  | UIManagerItemType | type = `Gtk::UI_MANAGER_AUTO`,
|  | bool | top = `true`
| ) |

  | Adds a separator UI element to the current contents. If type is Gtk::UI_MANAGER_AUTO, GTK+ inserts a menuitem, toolitem or separator if such an element can be inserted at the place determined by path . Otherwise type must indicate an element that can be inserted at the place determined by path. See also: add_ui(). Since: 2.4 Parameters:
  | merge_id | The merge id for the merged UI, see gtk_ui_manager_new_merge_id().
  | path | A path.
  | name | The name for the added UI element.
  | type | The type of UI element to add.
  | top | If `true`, the UI element is added before its siblings, otherwise it is added after its siblings.

static Glib::RefPtr<UIManager> Gtk::UIManager::create | ( |  | ) | `[static]`

void Gtk::UIManager::ensure_update | ( |  | ) |

| Makes sure that all pending updates to the UI have been completed. This may occasionally be necessary, since Gtk::UIManager updates the UI in an idle function. A typical example where this function is useful is to enforce that the menubar and toolbar have been added to the main window before showing it:
     gtk_container_add (GTK_CONTAINER (window), vbox);
     g_signal_connect (merge, "add_widget",
     G_CALLBACK (add_widget), vbox);
     gtk_ui_manager_add_ui_from_file (merge, "my-menus");
     gtk_ui_manager_add_ui_from_file (merge, "my-toolbars");
     gtk_ui_manager_ensure_update (merge);
     gtk_widget_show (window);
Since: 2.4

Glib::RefPtr<const AccelGroup> Gtk::UIManager::get_accel_group | ( |  | ) | const

| Returns the Gtk::AccelGroup associated with self . Returns: The Gtk::AccelGroup. Since: 2.4.

Glib::RefPtr<AccelGroup> Gtk::UIManager::get_accel_group | ( |  | ) |

| Returns the Gtk::AccelGroup associated with self . Returns: The Gtk::AccelGroup. Since: 2.4.

Glib::RefPtr<const Action> Gtk::UIManager::get_action | ( | const Glib::ustring& | path | ) | const

  | Looks up an action by following a path. See gtk_ui_manager_get_widget() for more information about paths. Parameters:
  | path | A path.
Returns: The action whose proxy widget is found by following the path, or `0` if no widget was found. Since: 2.4.

Glib::RefPtr<Action> Gtk::UIManager::get_action | ( | const Glib::ustring& | path | ) |

  | Looks up an action by following a path. See gtk_ui_manager_get_widget() for more information about paths. Parameters:
  | path | A path.
Returns: The action whose proxy widget is found by following the path, or `0` if no widget was found. Since: 2.4.

Glib::ListHandle<Glib::RefPtr<const ActionGroup>> Gtk::UIManager::get_action_groups | ( |  | ) | const

| Returns the list of action groups associated with self . Returns: A G::List of action groups. The list is owned by GTK+ and should not be modified. Since: 2.4.

Glib::ListHandle<Glib::RefPtr<ActionGroup>> Gtk::UIManager::get_action_groups | ( |  | ) |

| Returns the list of action groups associated with self . Returns: A G::List of action groups. The list is owned by GTK+ and should not be modified. Since: 2.4.

bool Gtk::UIManager::get_add_tearoffs | ( |  | ) | const

| Returns whether menus generated by this Gtk::UIManager will have tearoff menu items. Returns: Whether tearoff menu items are added Since: 2.4.

Glib::SListHandle<const Widget*> Gtk::UIManager::get_toplevels | ( | UIManagerItemType | types | ) | const

  | Obtains a list of all toplevel widgets of the requested types. Parameters:
  | types | Specifies the types of toplevel widgets to include. Allowed types are Gtk::UI_MANAGER_MENUBAR, Gtk::UI_MANAGER_TOOLBAR and Gtk::UI_MANAGER_POPUP.
Returns: A newly-allocated of all toplevel widgets of the requested types. Since: 2.4.

Glib::SListHandle<Widget*> Gtk::UIManager::get_toplevels | ( | UIManagerItemType | types | ) |

  | Obtains a list of all toplevel widgets of the requested types. Parameters:
  | types | Specifies the types of toplevel widgets to include. Allowed types are Gtk::UI_MANAGER_MENUBAR, Gtk::UI_MANAGER_TOOLBAR and Gtk::UI_MANAGER_POPUP.
Returns: A newly-allocated of all toplevel widgets of the requested types. Since: 2.4.

Glib::ustring Gtk::UIManager::get_ui | ( |  | ) | const

| Creates a UI definition of the merged UI. Returns: A newly allocated string containing an XML representation of the merged UI. Since: 2.4.

const Widget* Gtk::UIManager::get_widget | ( | const Glib::ustring& | path | ) | const

  | Looks up a widget by following a path. The path consists of the names specified in the XML description of the UI. separated by '/'. Elements which don't have a name or action attribute in the XML (e.g. <popup>) can be addressed by their XML element name (e.g. "popup"). The root element ("/ui") can be omitted in the path. Note that the widget found by following a path that ends in a <menu> element is the menuitem to which the menu is attached, not the menu itself. Parameters:
  | path | A path.
Returns: The widget found by following the path, or `0` if no widget was found. Since: 2.4.

Widget* Gtk::UIManager::get_widget | ( | const Glib::ustring& | path | ) |

  | Looks up a widget by following a path. The path consists of the names specified in the XML description of the UI. separated by '/'. Elements which don't have a name or action attribute in the XML (e.g. <popup>) can be addressed by their XML element name (e.g. "popup"). The root element ("/ui") can be omitted in the path. Note that the widget found by following a path that ends in a <menu> element is the menuitem to which the menu is attached, not the menu itself. Parameters:
  | path | A path.
Returns: The widget found by following the path, or `0` if no widget was found. Since: 2.4.

const GtkUIManager* Gtk::UIManager::gobj | ( |  | ) | const`[inline]`

| Provides access to the underlying C GObject.

GtkUIManager* Gtk::UIManager::gobj | ( |  | ) | `[inline]`

| Provides access to the underlying C GObject.

GtkUIManager* Gtk::UIManager::gobj_copy | ( |  | ) |

| Provides access to the underlying C instance. The caller is responsible for unrefing it. Use when directly setting fields in structs.

void Gtk::UIManager::insert_action_group | ( | const Glib::RefPtr<ActionGroup>& | action_group,
|  | int | pos = `0`
| ) |

  | Inserts an action group into the list of action groups associated with self . Actions in earlier groups hide actions with the same name in later groups. Since: 2.4 Parameters:
  | action_group | The action group to be inserted.
  | pos | The position at which the group will be inserted.

ui_merge_id Gtk::UIManager::new_merge_id | ( |  | ) |

| Returns an unused merge id, suitable for use with gtk_ui_manager_add_ui(). Returns: An unused merge id. Since: 2.4.

virtual void Gtk::UIManager::on_actions_changed | ( |  | ) | `[protected, virtual]`

virtual void Gtk::UIManager::on_add_widget | ( | Widget* | widget | ) | `[protected, virtual]`

Glib::PropertyProxy_ReadOnly<bool> Gtk::UIManager::property_add_tearoffs | ( |  | ) | const

| Whether tearoff menu items should be added to menus. You rarely need to use properties because there are get_ and set_ methods for almost all of them. Returns: A PropertyProxy that allows you to get or set the property of the value, or receive notification when the value of the property changes.

Glib::PropertyProxy<bool> Gtk::UIManager::property_add_tearoffs | ( |  | ) |

| Whether tearoff menu items should be added to menus. You rarely need to use properties because there are get_ and set_ methods for almost all of them. Returns: A PropertyProxy that allows you to get or set the property of the value, or receive notification when the value of the property changes.

Glib::PropertyProxy_ReadOnly<Glib::ustring> Gtk::UIManager::property_ui | ( |  | ) | const

| An XML string describing the merged UI. You rarely need to use properties because there are get_ and set_ methods for almost all of them. Returns: A PropertyProxy that allows you to get or set the property of the value, or receive notification when the value of the property changes.

void Gtk::UIManager::remove_action_group | ( | const Glib::RefPtr<ActionGroup>& | action_group | ) |

  | Removes an action group from the list of action groups associated with self . Since: 2.4 Parameters:
  | action_group | The action group to be removed.

void Gtk::UIManager::remove_ui | ( | ui_merge_id | merge_id | ) |

  | Unmerges the part of self <!-- -->s content identified by merge_id . Since: 2.4 Parameters:
  | merge_id | A merge id as returned by gtk_ui_manager_add_ui_from_string().

void Gtk::UIManager::set_add_tearoffs | ( | bool | add_tearoffs = `true` | ) |

  | Sets the "add_tearoffs" property, which controls whether menus generated by this Gtk::UIManager will have tearoff menu items. Note that this only affects regular menus. Generated popup menus never have tearoff menu items. Since: 2.4 Parameters:
  | add_tearoffs | Whether tearoff menu items are added.

Glib::SignalProxy0<void> Gtk::UIManager::signal_actions_changed | ( |  | ) |

| The "actions-changed" signal is emitted whenever the set of actions changes.

Glib::SignalProxy1<void,Widget*> Gtk::UIManager::signal_add_widget | ( |  | ) |

  | The add_widget signal is emitted for each generated menubar and toolbar. It is not emitted for generated popup menus, which can be obtained by get_widget(). Parameters:
  | widget | the added widget

Glib::SignalProxy2<void,const Glib::RefPtr<Action>&,Widget*> Gtk::UIManager::signal_connect_proxy | ( |  | ) |

  | The connect_proxy signal is emitted after connecting a proxy to an action in the group. 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. Parameters:
  | action | the action
  | widget | the proxy

Glib::SignalProxy2<void,const Glib::RefPtr<Action>&,Widget*> Gtk::UIManager::signal_disconnect_proxy | ( |  | ) |

  | The disconnect_proxy signal is emitted after disconnecting a proxy from an action in the group. Parameters:
  | action | the action
  | widget | the proxy

Glib::SignalProxy1<void,const Glib::RefPtr<Action>&> Gtk::UIManager::signal_post_activate | ( |  | ) |

  | The post_activate signal is emitted just after the action is activated. This is intended for applications to get notification just after any action is activated. Parameters:
  | action | the action

Glib::SignalProxy1<void,const Glib::RefPtr<Action>&> Gtk::UIManager::signal_pre_activate | ( |  | ) |

  | The pre_activate signal is emitted just before the action is activated. This is intended for applications to get notification just before any action is activated. Parameters:
  | action | the action

## Friends And Related Function Documentation

Glib::RefPtr<Gtk::UIManager> wrap | ( | GtkUIManager* | object,
|  | bool | take_copy = `false`
| ) | `[related]`

  | Parameters:
  | object | The C instance
  | take_copy | False if the result should take ownership of the C instance. True if it should take a new copy or ref.
Returns: A C++ instance that wraps this C instance.

The documentation for this class was generated from the following file:

- uimanager.h