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.20/GtkPopoverMenu.html