Spec-Zone.ru › GTK 3.24

GtkPopoverMenu

GtkPopoverMenu — Поповеры для использования в качестве меню

Функции

GtkWidget * gtk_popover_menu_new ()
void gtk_popover_menu_open_submenu ()

Свойства

char * visible-submenu Чтение / Запись

Свойства дочерних элементов

int position Чтение / Запись
char * submenu Чтение / Запись

Типы и значения

GtkPopoverMenu

Иерархия объектов

    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

a GtkPopoverMenu

name

имя меню, на которое нужно переключиться

С момента: 3.16

Типы и значения

GtkPopoverMenu

typedef struct _GtkPopoverMenu GtkPopoverMenu;

Подробности свойств

Свойство “visible-submenu”

  “visible-submenu”          char *

Имя видимого подменю.

Владелец: GtkPopoverMenu

Флаги: Чтение / Запись

Значение по умолчанию: NULL

Подробности свойств дочерних элементов

Свойство дочернего элемента “position”

  “position”                 int

Индекс дочернего элемента в родительском элементе.

Владелец: GtkPopoverMenu

Флаги: Чтение / Запись

Разрешённые значения: >= -1

Значение по умолчанию: 0

Свойство дочернего элемента “submenu”

  “submenu”                  char *

Свойство дочернего элемента подменю указывает имя подменю. Если это NULL или "main", дочерний элемент используется как основное меню, которое отображается по умолчанию при отображении поповера.

Владелец: GtkPopoverMenu

Флаги: Чтение / Запись

Значение по умолчанию: 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.24/GtkPopoverMenu.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API