构造函数
GioMenuItemnew_section
自:2.32
声明 [源]
GMenuItem*
g_menu_item_new_section (
const gchar* label,
GMenuModel* section
)
描述 [源]
创建一个新的表示节的GMenuItem
。
这是一个围绕g_menu_item_new()
和 g_menu_item_set_section()的便利API。
将一个菜单显示为另一个菜单的部分的效果与字面意思相同:来自section
的项目成为menu_item
添加到菜单的直接部分。
通常在两个非空节之间显示视觉分隔。如果label
非NULL
,则它将包含在视觉指示中。这允许在菜单中具有带标签的子节。
作为一个简单的例子,考虑一个简单程序的典型“编辑”菜单。它可能包含“撤销”和“重做”项目,然后是一个分隔符,然后是“剪切”、“复制”和“粘贴”。
这可以通过创建三个GMenu
实例来完成。第一个将包含“撤销”和“重做”项目,第二个将包含“剪切”、“复制”和“粘贴”项目。然后将第一个和第二个菜单添加为第三个菜单的子菜单。在XML格式中,它看起来大致如下
<menu id='edit-menu'>
<section>
<item label='Undo'/>
<item label='Redo'/>
</section>
<section>
<item label='Cut'/>
<item label='Copy'/>
<item label='Paste'/>
</section>
</menu>
以下示例与此完全等效。它更多地说明了菜单和项目之间确切关系(同时记住,“链接”元素定义了一个与包含菜单相关联的新菜单)。第二个示例的样式更为冗长且难以阅读(因此除了解释真正发生的事情外,不建议使用)。
<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>
自:2.32
参数
label
-
类型:
const gchar*
节标签,或
NULL
。该参数可以是 NULL
。数据由函数的调用者拥有。 该值是一个以空字符终止的UTF-8字符串。 section
-
类型:
GMenuModel
包含节项的
GMenuModel
。数据由函数的调用者拥有。
返回值
类型: GMenuItem
一个新的GMenuItem
。
函数的调用者拥有数据,并且负责释放它。 |