Spec-Zone.ru › GTK 3.24

GtkModelButton

GtkModelButton — Кнопка, использующая GAction в качестве модели

Функции

GtkWidget * gtk_model_button_new ()

Свойства

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

Spec-Zone.ru

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