GtkPopoverMenu
GtkPopoverMenu — Поповеры для использования в качестве меню
Функции
| GtkWidget * | gtk_popover_menu_new () |
| void | gtk_popover_menu_open_submenu () |
Свойства
| gchar * | visible-submenu | Чтение/Запись |
Типы и значения
Иерархия объектов
GObject ╰── GInitiallyUnowned ╰── GtkWidget ╰── GtkContainer ╰── GtkBin ╰── GtkPopover ╰── GtkPopoverMenu
Реализованные интерфейсы
GtkPopoverMenu реализует AtkImplementorIface и GtkBuildable.
Файлы
#include <gtk/gtk.h>
Описание
GtkPopoverMenu — подкласс GtkPopover, который обрабатывает свои дочерние элементы как меню и позволяет переключаться между ними. Он предназначен в основном для совместного использования с GtkModelButton, но может использоваться с любым виджетом, например, GtkSpinButton или GtkScale. В этом отношении GtkPopoverMenu более гибкий, чем поповеры, созданные из GMenuModel с помощью gtk_popover_new_from_model().
Чтобы добавить дочерний элемент в качестве подменю, установите свойство “submenu” дочернего элемента со значением имени подменю. Чтобы пользователь мог открыть это подменю, добавьте GtkModelButton, у которого свойство “menu-name” установлено в значение, заданное подменю.
По соглашению, первый дочерний элемент подменю должен быть GtkModelButton для возвращения в родительское меню. Такая кнопка должна использовать свойства “inverted” и “centered” для достижения внешнего вида, похожего на заголовок, и размещения индикатора подменю на противоположной стороне. Для возвращения в главное меню используйте "main" в качестве имени меню.
Пример
<object class="GtkPopoverMenu">
<child>
<object class="GtkBox">
<property name="visible">True</property>
<property name="margin">10</property>
<child>
<object class="GtkModelButton">
<property name="visible">True</property>
<property name="action-name">win.frob</property>
<property name="text" translatable="yes">Frob</property>
</object>
</child>
<child>
<object class="GtkModelButton">
<property name="visible">True</property>
<property name="menu-name">more</property>
<property name="text" translatable="yes">More</property>
</object>
</child>
</object>
</child>
<child>
<object class="GtkBox">
<property name="visible">True</property>
<property name="margin">10</property>
<child>
<object class="GtkModelButton">
<property name="visible">True</property>
<property name="action-name">win.foo</property>
<property name="text" translatable="yes">Foo</property>
</object>
</child>
<child>
<object class="GtkModelButton">
<property name="visible">True</property>
<property name="action-name">win.bar</property>
<property name="text" translatable="yes">Bar</property>
</object>
</child>
</object>
<packing>
<property name="submenu">more</property>
</packing>
</child>
</object>Как и обычные поповеры, созданные с помощью gtk_popover_new_from_model, экземпляры GtkPopoverMenu имеют единственный узел CSS с именем "popover" и получают класс стиля .menu.
Функции
gtk_popover_menu_new ()
GtkWidget *
gtk_popover_menu_new (void); Создаёт новое меню-поповер.
Возвращает
новое GtkPopoverMenu
С момента: 3.16
gtk_popover_menu_open_submenu ()
void gtk_popover_menu_open_submenu (GtkPopoverMenu *popover,const gchar *name);
Открывает подменю popover. name должно быть одним из имён подменю popover, заданных свойством “submenu”, или "main" для переключения на главное меню.
GtkModelButton автоматически открывает подменю, когда свойство “menu-name” установлено, поэтому эта функция нужна только в случае использования других виджетов для инициализации изменений меню.
Параметры
popover | ||
name | имя меню для переключения |
С момента: 3.16
Типы и значения
GtkPopoverMenu
typedef struct _GtkPopoverMenu GtkPopoverMenu;
Подробности свойств
Свойство “visible-submenu”
“visible-submenu” gchar *
Имя видимого подменю.
Флаги: Чтение/Запись
Значение по умолчанию: NULL
Подробности свойств дочерних элементов
Свойство “position” дочернего элемента
“position” gint
Индекс дочернего элемента в родителе.
Флаги: Чтение/Запись
Допустимые значения: >= -1
Значение по умолчанию: 0
Свойство “submenu” дочернего элемента
“submenu” gchar *
Свойство дочернего элемента подменю указывает имя подменю. Если оно равно NULL или "main", дочерний элемент используется как главное меню, которое отображается изначально при отображении поповера.
Флаги: Чтение/Запись
Значение по умолчанию: NULL
С момента: 3.16
© 2005–2020 The GNOME Project
Licensed under the GNU Lesser General Public License version 2.1 or later.
https://developer.gnome.org/gtk3/3.22/GtkPopoverMenu.html