GtkModelButton
GtkModelButton — Кнопка, использующая GAction в качестве модели
Функции
Свойства
| gboolean | active | Чтение / Запись |
| gboolean | centered | Чтение / Запись |
| GIcon * | icon | Чтение / Запись |
| gboolean | iconic | Чтение / Запись |
| gboolean | inverted | Чтение / Запись |
| char * | menu-name | Чтение / Запись |
| GtkButtonRole | role | Чтение / Запись |
| char * | text | Чтение / Запись |
| gboolean | use-markup | Чтение / Запись |
Типы и значения
| GtkModelButton | |
| перечисление | GtkButtonRole |
Иерархия объектов
GObject
╰── GInitiallyUnowned
╰── GtkWidget
╰── GtkContainer
╰── GtkBin
╰── GtkButton
╰── GtkModelButton
Реализованные интерфейсы
GtkModelButton реализует AtkImplementorIface, GtkBuildable, GtkActionable и GtkActivatable.
Включаемые файлы
#include <gtk/gtk.h>
Описание
GtkModelButton — это класс кнопок, которые могут использовать GAction в качестве модели. В отличие от GtkToggleButton или GtkRadioButton, которые также могут использовать GAction через свойство “action-name”, GtkModelButton будет адаптировать свой внешний вид в соответствии с типом действия, которое он использует, и отображаться как обычная, флажковая или радиокнопка.
Кнопки модели используются, когда всплывающие меню создаются из модели меню с помощью gtk_popover_new_from_model(); они также могут использоваться вручную в GtkPopoverMenu.
Если действие задано через свойства “action-name” и “action-target”, роль кнопки (т. е. является ли она обычной, флажковой или радиокнопкой) определяется типом действия и не должна быть явно указана с помощью свойства “role”.
Содержание кнопки задается свойствами “text” и “icon”.
Внешний вид кнопок модели может быть изменён с помощью свойств “centered” и “iconic”.
Кнопки модели имеют встроенную поддержку подменю в GtkPopoverMenu. Чтобы создать GtkModelButton, открывающую подменю при активации, установите свойство “menu-name”. Чтобы создать кнопку, возвращающуюся в родительское меню, установите свойство “inverted” для размещения индикатора подменю на противоположной стороне.
Пример
CSS узлы
GtkModelButton имеет главный CSS узел с именем modelbutton и дочерний узел, который будет иметь имя check, radio или arrow в зависимости от роли кнопки и наличия имени меню.
Дочерний узел размещается перед или после узлов с содержимым и получает класс стиля .left или .right в зависимости от своего местоположения.
<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">view.cut</property>
<property name="text" translatable="yes">Cut</property>
</object>
</child>
<child>
<object class="GtkModelButton">
<property name="visible">True</property>
<property name="action-name">view.copy</property>
<property name="text" translatable="yes">Copy</property>
</object>
</child>
<child>
<object class="GtkModelButton">
<property name="visible">True</property>
<property name="action-name">view.paste</property>
<property name="text" translatable="yes">Paste</property>
</object>
</child>
</object>
</child>
</object>Иконные кнопки модели (см. “iconic”) изменяют имя своего главного узла на button и добавляют к нему класс стиля .model. Индикаторный дочерний узел в этом случае невидим.
Подробное описание функций
gtk_model_button_new ()
GtkWidget *
gtk_model_button_new (void); Создаёт новую кнопку GtkModelButton.
Возвращает
новый созданный виджет GtkModelButton
С момента: 3.16
Подробное описание типов и значений
GtkModelButton
typedef struct _GtkModelButton GtkModelButton;
Перечисление GtkButtonRole
Роль определяет желаемый внешний вид GtkModelButton.
Члены
GTK_BUTTON_ROLE_NORMAL | Обычная кнопка | |
GTK_BUTTON_ROLE_CHECK | Флажковая кнопка | |
GTK_BUTTON_ROLE_RADIO | Радиокнопка |
Подробное описание свойств
Свойство “active”
“active” gboolean
Состояние кнопки. Оно отражает состояние связанного GAction.
Владелец: GtkModelButton
Флаги: Чтение / Запись
Значение по умолчанию: FALSE
С версии: 3.16
Свойство “centered”
“centered” gboolean
Определяет, будут ли содержимое кнопки выводиться по центру, или по левому краю. Это свойство нужно устанавливать для пунктов типа заголовков.
Владелец: GtkModelButton
Флаги: Чтение / Запись
Значение по умолчанию: FALSE
С версии: 3.16
Свойство “icon”
“icon” GIcon *
GIcon, который будет использован, если для кнопки нужно использовать иконку.
Владелец: GtkModelButton
Флаги: Чтение / Запись
С версии: 3.16
Свойство “iconic”
“iconic” gboolean
Если это свойство установлено, кнопка будет отображать иконку, если она задана. Если иконка не задана, будет использоваться текст. Обычно используется для горизонтальных рядов связанных кнопок.
Владелец: GtkModelButton
Флаги: Чтение / Запись
Значение по умолчанию: FALSE
С версии: 3.16
Свойство “inverted”
“inverted” gboolean
Определяет, будет ли индикатор подменю отображаться с противоположной стороны от обычного положения. Это свойство должно быть установлено для кнопок, которые "возвращаются" в родительское меню.
Владелец: GtkModelButton
Флаги: Чтение / Запись
Значение по умолчанию: FALSE
С версии: 3.16
Свойство “menu-name”
“menu-name” char *
Имя подменю, которое должно открыться при активации кнопки. Если это свойство установлено, кнопка не должна иметь связанного с ней действия.
Владелец: GtkModelButton
Флаги: Чтение / Запись
Значение по умолчанию: NULL
С версии: 3.16
Свойство “role”
“role” GtkButtonRole
Определяет, является ли кнопка обычной, флажком или радиокнопкой. Когда свойство “action-name” установлено, роль определяется из действия и не нуждается в явном указании.
Владелец: GtkModelButton
Флаги: Чтение / Запись
Значение по умолчанию: GTK_BUTTON_ROLE_NORMAL
С версии: 3.16
Свойство “text”
“text” char *
Текст метки кнопки.
Владелец: GtkModelButton
Флаги: Чтение / Запись
Значение по умолчанию: ""
С версии: 3.16
Свойство “use-markup”
“use-markup” gboolean
Если TRUE, теги XML в тексте кнопки интерпретируются как в pango_parse_markup() для форматирования выделенных фрагментов текста. Если FALSE, текст будет отображаться дословно.
Владелец: GtkModelButton
Флаги: Чтение / Запись
Значение по умолчанию: FALSE
С версии: 3.24
© 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/GtkModelButton.html