Constructor
GioMenuItemnew_section
since: 2.32
Declaration [src]
GMenuItem*
g_menu_item_new_section (
const gchar* label,
GMenuModel* section
)
Description [src]
Creates a new GMenuItem
representing a section.
This is a convenience API around g_menu_item_new()
and g_menu_item_set_section().
The effect of having one menu appear as a section of another is
exactly as it sounds: the items from section
become a direct part of
the menu that menu_item
is added to.
Visual separation is typically displayed between two non-empty
sections. If label
is non-NULL
then it will be incorporated into
this visual indication. This allows for labeled subsections of a menu.
As a simple example, consider a typical “Edit” menu from a simple program. It probably contains an “Undo” and “Redo” item, followed by a separator, followed by “Cut”, “Copy” and “Paste”.
This would be accomplished by creating three GMenu
instances. The
first would be populated with the “Undo” and “Redo” items, and the
second with the “Cut”, “Copy” and “Paste” items. The first and
second menus would then be added as submenus of the third. In XML
format, this would look something like the following:
<menu id='edit-menu'>
<section>
<item label='Undo'/>
<item label='Redo'/>
</section>
<section>
<item label='Cut'/>
<item label='Copy'/>
<item label='Paste'/>
</section>
</menu>
The following example is exactly equivalent. It is more illustrative of the exact relationship between the menus and items (keeping in mind that the ‘link’ element defines a new menu that is linked to the containing one). The style of the second example is more verbose and difficult to read (and therefore not recommended except for the purpose of understanding what is really going on).
<menu id='edit-menu'>
<item>
<link name='section'>
<item label='Undo'/>
<item label='Redo'/>
</link>
</item>
<item>
<link name='section'>
<item label='Cut'/>
<item label='Copy'/>
<item label='Paste'/>
</link>
</item>
</menu>
Available since: 2.32
Parameters
label
-
Type:
const gchar*
The section label, or
NULL
.The argument can be NULL
.The data is owned by the caller of the function. The value is a NUL terminated UTF-8 string. section
-
Type:
GMenuModel
A
GMenuModel
with the items of the section.The data is owned by the caller of the function.
Return value
Type: GMenuItem
A new GMenuItem
.
The caller of the function takes ownership of the data, and is responsible for freeing it. |