gtk2/docs/reference/gtk/tmpl/gtkuimanager.sgml
Matthias Clasen 320bba9f37 Additions.
2003-08-31  Matthias Clasen  <maclas@gmx.de>

	* gtk/tmpl/gtkuimanager.sgml:
	* gtk/tmpl/gtkactiongroup.sgml:
	* gtk/tmpl/gtkaction.sgml:
	* gtk/tmpl/gtktoggleaction.sgml:
	* gtk/tmpl/gtkradioaction.sgml: Additions.

	* gtk/gtk-sections.txt: Updates.

	* gtk/gtk.types: Add GtkAction, GtkActionGroup, GtkToggleAction,
	GtkRadioAction and GtkUIManager.

	* gtk/gtkaction.c:
	* gtk/gtkactiongroup.c: Some doc tweaks.

	* gtk/gtkuimanager.[hc]: Get rid of the remove_widget signal. It
	wasn't emitted anyway. Some doc tweaks.
2003-08-31 00:27:15 +00:00

221 lines
4.8 KiB
Plaintext

<!-- ##### SECTION Title ##### -->
GtkUIManager
<!-- ##### SECTION Short_Description ##### -->
constructing menus and toolbars from an XML description
<!-- ##### SECTION Long_Description ##### -->
<para>
A #GtkUIManager constructs a user interface (menus and toolbars) from
one or more UI definitions, which reference actions from one or ore
action groups.
</para>
<refsect2 id="XML-UI"><title>UI Definitions</title>
<para>
The UI definitions are specified in an XML format which is described
by the following DTD.
<programlisting>
&lt;!ELEMENT ui (menubar|toolbar|popup)* &gt;
&lt;!ELEMENT menubar (menuitem|separator|placeholder|menu)* &gt;
&lt;!ELEMENT menu (menuitem|separator|placeholder|menu)* &gt;
&lt;!ELEMENT popup (menuitem|separator|placeholder|menu)* &gt;
&lt;!ELEMENT toolbar (toolitem|separator|placeholder)* &gt;
&lt;!ELEMENT placeholder (menuitem|toolitem|separator|placeholder|menu)* &gt;
&lt;!ELEMENT menuitem EMPTY &gt;
&lt;!ELEMENT toolitem EMPTY &gt;
&lt;!ELEMENT separator EMPTY &gt;
&lt;!ATTLIST menubar name &num;IMPLIED &gt;
&lt;!ATTLIST toolbar name &num;IMPLIED &gt;
&lt;!ATTLIST popup name &num;IMPLIED &gt;
&lt;!ATTLIST placeholder name &num;IMPLIED &gt;
&lt;!ATTLIST menu name &num;IMPLIED
action &num;REQUIRED
pos (top|bot) &num;IMPLIED &gt;
&lt;!ATTLIST menuitem name &num;IMPLIED
action &num;REQUIRED
pos (top|bot) &num;IMPLIED &gt;
&lt;!ATTLIST toolitem name &num;IMPLIED
action &num;REQUIRED
pos (top|bot) &num;IMPLIED &gt;
</programlisting>
There are some additional restrictions beyond those specified in the DTD, e.g.
every toolitem must have a toolbar in its anchestry and every menuitem must have
a menubar or popup in its anchestry. If a name is not specified, it defaults to
the action. If an action is not specified either, the element name is used.
</para>
<para>
The constructed widget hierarchy is very similar to the element
tree of the XML, with the exception that placeholders are merged into their
parents. The correspondence of XML elements to widgets should be almost obvious:
<itemizedlist>
<listitem><para>menubar: a #GtkMenuBar</para></listitem>
<listitem><para>toolbar: a #GtkToolBar</para></listitem>
<listitem><para>popup: a toplevel #GtkMenu</para></listitem>
<listitem><para>menu: a #GtkMenu attached to a menuitem</para></listitem>
<listitem><para>menuitem: a #GtkMenuItem subclass, the exact type depends on the action</para></listitem>
<listitem><para>toolitem: a #GtkToolItem subclass, the exact type depends on the action</para></listitem>
<listitem><para>separator: a #GtkSeparatorMenuItem or #GtkSeparatorToolItem</para></listitem>
</itemizedlist>
</para>
<para>
The pos attribute determines where a constructed widget is positioned wrt. to its
siblings in the partially constructed tree. If it is "top", the widget is prepended,
otherwise it is appended.
</para>
</refsect2>
<!-- ##### SECTION See_Also ##### -->
<para>
</para>
<!-- ##### STRUCT GtkUIManager ##### -->
<para>
</para>
<!-- ##### FUNCTION gtk_ui_manager_new ##### -->
<para>
</para>
@Returns:
<!-- ##### FUNCTION gtk_ui_manager_set_add_tearoffs ##### -->
<para>
</para>
@self:
@add_tearoffs:
<!-- ##### FUNCTION gtk_ui_manager_get_add_tearoffs ##### -->
<para>
</para>
@self:
@Returns:
<!-- ##### FUNCTION gtk_ui_manager_insert_action_group ##### -->
<para>
</para>
@self:
@action_group:
@pos:
<!-- ##### FUNCTION gtk_ui_manager_remove_action_group ##### -->
<para>
</para>
@self:
@action_group:
<!-- ##### FUNCTION gtk_ui_manager_get_action_groups ##### -->
<para>
</para>
@self:
@Returns:
<!-- ##### FUNCTION gtk_ui_manager_get_accel_group ##### -->
<para>
</para>
@self:
@Returns:
<!-- ##### FUNCTION gtk_ui_manager_get_widget ##### -->
<para>
</para>
@self:
@path:
@Returns:
<!-- ##### FUNCTION gtk_ui_manager_add_ui_from_string ##### -->
<para>
</para>
@self:
@buffer:
@length:
@error:
@Returns:
<!-- ##### FUNCTION gtk_ui_manager_add_ui_from_file ##### -->
<para>
</para>
@self:
@filename:
@error:
@Returns:
<!-- ##### FUNCTION gtk_ui_manager_remove_ui ##### -->
<para>
</para>
@self:
@merge_id:
<!-- ##### FUNCTION gtk_ui_manager_get_ui ##### -->
<para>
</para>
@self:
@Returns:
<!-- ##### FUNCTION gtk_ui_manager_activate ##### -->
<para>
</para>
@self:
@path:
<!-- ##### SIGNAL GtkUIManager::add-widget ##### -->
<para>
</para>
@uimanager: the object which received the signal.
@widget:
<!-- ##### SIGNAL GtkUIManager::changed ##### -->
<para>
</para>
@uimanager: the object which received the signal.
<!-- ##### ARG GtkUIManager:add-tearoffs ##### -->
<para>
</para>