gtk2/docs/reference/gtk/tmpl/gtkmenuitem.sgml
Tristan Van Berkom 4858ae47e2 Made buildable and added support for adding children of type "submenu"
* gtk/gtkmenuitem.c: Made buildable and added support for adding children
	of type "submenu"

	* gtk/gtkwindow.c: Added support for custom tag "accel-groups" to add GtkAccelGroups
	to the window.

	* gtk/gtkcontainer.c: Added builder contextual warnings in buildable_add_child()

	* gtk/tests/builder.c: Added tests for buildable menus (test that accelerators are
	properly connected on stock items, test the menu hierarchy, test permission to
	add alien/custom menuitem children).

	* docs/reference/gtk/tmpl/gtkbuilder.sgml, docs/reference/gtk/tmpl/gtkwindow.sgml,
	docs/reference/gtk/tmpl/gtkmenuitem.sgml: Updated docs for buildable submenus
	and accel groups.


svn path=/trunk/; revision=21767
2008-11-06 17:34:30 +00:00

279 lines
5.0 KiB
Plaintext

<!-- ##### SECTION Title ##### -->
GtkMenuItem
<!-- ##### SECTION Short_Description ##### -->
The widget used for item in menus
<!-- ##### SECTION Long_Description ##### -->
<para>
The #GtkMenuItem widget and the derived widgets are the only valid
childs for menus. Their function is to correctly handle highlighting,
alignment, events and submenus.
</para>
<para>
As it derives from #GtkBin it can hold any valid child widget, altough
only a few are really useful.
</para>
<refsect2 id="GtkMenuItem-BUILDER-UI">
<title>GtkMenuItem as GtkBuildable</title>
<para>
The GtkMenuItem implementation of the GtkBuildable interface
supports adding a submenu by specifying "submenu" as the "type"
attribute of a &lt;child&gt; element.
</para>
<example>
<title>A UI definition fragment with submenus</title>
<programlisting><![CDATA[
<object class="GtkMenuItem">
<child type="submenu">
<object class="GtkMenu"/>
</child>
</object>
]]></programlisting>
</example>
</refsect2>
<!-- ##### SECTION See_Also ##### -->
<para>
<variablelist>
<varlistentry>
<term>#GtkBin</term>
<listitem><para>for how to handle the child.</para></listitem>
</varlistentry>
<varlistentry>
<term>#GtkItem</term>
<listitem><para>is the abstract class for all sorts of items.</para></listitem>
</varlistentry>
<varlistentry>
<term>#GtkMenuShell</term>
<listitem><para>is always the parent of #GtkMenuItem.</para></listitem>
</varlistentry>
</variablelist>
</para>
<!-- ##### SECTION Stability_Level ##### -->
<!-- ##### STRUCT GtkMenuItem ##### -->
<para>
</para>
<!-- ##### SIGNAL GtkMenuItem::activate ##### -->
<para>
Emitted when the item is activated.
</para>
@menuitem: the object which received the signal.
<!-- ##### SIGNAL GtkMenuItem::activate-item ##### -->
<para>
Emitted when the item is activated, but also if the menu item has a
submenu. For normal applications, the relevant signal is "activate".
</para>
@menuitem: the object which received the signal.
<!-- ##### SIGNAL GtkMenuItem::toggle-size-allocate ##### -->
<para>
</para>
@menuitem: the object which received the signal.
@arg1:
<!-- ##### SIGNAL GtkMenuItem::toggle-size-request ##### -->
<para>
</para>
@menuitem: the object which received the signal.
@arg1:
<!-- ##### ARG GtkMenuItem:accel-path ##### -->
<para>
</para>
<!-- ##### ARG GtkMenuItem:right-justified ##### -->
<para>
</para>
<!-- ##### ARG GtkMenuItem:submenu ##### -->
<para>
</para>
<!-- ##### ARG GtkMenuItem:arrow-scaling ##### -->
<para>
</para>
<!-- ##### ARG GtkMenuItem:arrow-spacing ##### -->
<para>
</para>
<!-- ##### ARG GtkMenuItem:horizontal-padding ##### -->
<para>
</para>
<!-- ##### ARG GtkMenuItem:selected-shadow-type ##### -->
<para>
</para>
<!-- ##### ARG GtkMenuItem:toggle-spacing ##### -->
<para>
</para>
<!-- ##### ARG GtkMenuItem:width-chars ##### -->
<para>
</para>
<!-- ##### FUNCTION gtk_menu_item_new ##### -->
<para>
Creates a new #GtkMenuItem.
</para>
@Returns: the newly created #GtkMenuItem
<!-- ##### FUNCTION gtk_menu_item_new_with_label ##### -->
<para>
Creates a new #GtkMenuItem whose child is a #GtkLabel.
</para>
@label: the text for the label
@Returns: the newly created #GtkMenuItem
<!-- ##### FUNCTION gtk_menu_item_new_with_mnemonic ##### -->
<para>
</para>
@label:
@Returns:
<!-- ##### FUNCTION gtk_menu_item_set_right_justified ##### -->
<para>
</para>
@menu_item:
@right_justified:
<!-- ##### FUNCTION gtk_menu_item_get_right_justified ##### -->
<para>
</para>
@menu_item:
@Returns:
<!-- ##### FUNCTION gtk_menu_item_set_submenu ##### -->
<para>
</para>
@menu_item:
@submenu:
<!-- ##### FUNCTION gtk_menu_item_get_submenu ##### -->
<para>
</para>
@menu_item:
@Returns:
<!-- ##### FUNCTION gtk_menu_item_set_accel_path ##### -->
<para>
</para>
@menu_item:
@accel_path:
<!-- ##### FUNCTION gtk_menu_item_get_accel_path ##### -->
<para>
</para>
@menu_item:
@Returns:
<!-- ##### FUNCTION gtk_menu_item_remove_submenu ##### -->
<para>
</para>
@menu_item:
<!-- ##### FUNCTION gtk_menu_item_select ##### -->
<para>
Emits the "select" signal on the given item. Behaves exactly like
#gtk_item_select.
</para>
@menu_item: the menu item
<!-- ##### FUNCTION gtk_menu_item_deselect ##### -->
<para>
Emits the "deselect" signal on the given item. Behaves exactly like
#gtk_item_deselect.
</para>
@menu_item: the menu item
<!-- ##### FUNCTION gtk_menu_item_activate ##### -->
<para>
Emits the "activate" signal on the given item
</para>
@menu_item: the menu item
<!-- ##### FUNCTION gtk_menu_item_toggle_size_request ##### -->
<para>
Emits the "toggle_size_request" signal on the given item.
</para>
@menu_item: the menu item
@requisition: the requisition to use as signal data.
<!-- ##### FUNCTION gtk_menu_item_toggle_size_allocate ##### -->
<para>
Emits the "toggle_size_allocate" signal on the given item.
</para>
@menu_item: the menu item.
@allocation: the allocation to use as signal data.
<!-- ##### MACRO gtk_menu_item_right_justify ##### -->
<para>
Sets the menu item to be right-justified. Only useful for menu bars.
</para>
@menu_item: the menu item