Spec-Zone.ru › GTK 3.24

GtkExpander

GtkExpander — Контейнер, который может скрывать своего ребёнка

Функции

GtkWidget * gtk_expander_new ()
GtkWidget * gtk_expander_new_with_mnemonic ()
void gtk_expander_set_expanded ()
gboolean gtk_expander_get_expanded ()
void gtk_expander_set_spacing ()
gint gtk_expander_get_spacing ()
void gtk_expander_set_label ()
const gchar * gtk_expander_get_label ()
void gtk_expander_set_use_underline ()
gboolean gtk_expander_get_use_underline ()
void gtk_expander_set_use_markup ()
gboolean gtk_expander_get_use_markup ()
void gtk_expander_set_label_widget ()
GtkWidget * gtk_expander_get_label_widget ()
void gtk_expander_set_label_fill ()
gboolean gtk_expander_get_label_fill ()
void gtk_expander_set_resize_toplevel ()
gboolean gtk_expander_get_resize_toplevel ()

Свойства

gboolean expanded Чтение/Запись/Конструктор
char * label Чтение/Запись/Конструктор
gboolean label-fill Чтение/Запись/Конструктор
GtkWidget * label-widget Чтение/Запись
gboolean resize-toplevel Чтение/Запись
int spacing Чтение/Запись
gboolean use-markup Чтение/Запись/Конструктор
gboolean use-underline Чтение/Запись/Конструктор

Стилизованные свойства

int expander-size Чтение
int expander-spacing Чтение

Сигналы

void activate Действие

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

struct GtkExpander
struct GtkExpanderClass

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

    GObject
    ╰── GInitiallyUnowned
        ╰── GtkWidget
            ╰── GtkContainer
                ╰── GtkBin
                    ╰── GtkExpander

Реализованные интерфейсы

GtkExpander реализует AtkImplementorIface и GtkBuildable.

Включения

#include <gtk/gtk.h>

Описание

С помощью GtkExpander пользователь может скрывать или показывать его дочерний элемент, нажав на треугольник-расширитель, похожий на треугольники в GtkTreeView.

Обычно вы используете расширитель, как любой другой потомок GtkBin; создайте дочерний виджет и используйте gtk_container_add() для его добавления к расширителю. При переключении состояния расширителя он автоматически спрячет или покажет дочерний элемент.

Особое использование

В некоторых ситуациях вы можете захотеть самостоятельно показывать и скрывать расширенный виджет, например, когда нужно создать виджет во время расширения. В этом случае создайте GtkExpander, но не добавляйте к нему дочерний элемент. Виджет расширителя имеет свойство “expanded”, которое используется для отслеживания состояния расширения. Следите за этим свойством с помощью подключения сигнала следующим образом:

GtkExpander как GtkBuildable

Реализация GtkExpander интерфейса GtkBuildable поддерживает размещение дочернего элемента в позиции метки, указав «label» в качестве атрибута «type» элемента <child>. Обычный дочерний элемент содержимого может быть указан без указания атрибута типа <child>.

Пример фрагмента определения пользовательского интерфейса с GtkExpander:

CSS-узлы

static void
expander_callback (GObject    *object,
                   GParamSpec *param_spec,
                   gpointer    user_data)
{
  GtkExpander *expander;

  expander = GTK_EXPANDER (object);

  if (gtk_expander_get_expanded (expander))
    {
      // Show or create widgets
    }
  else
    {
      // Hide or destroy widgets
    }
}

static void
create_expander (void)
{
  GtkWidget *expander = gtk_expander_new_with_mnemonic ("_More Options");
  g_signal_connect (expander, "notify::expanded",
                    G_CALLBACK (expander_callback), NULL);

  // ...
}

GtkExpander имеет три CSS-узла: основной узел с именем expander, под-узел с именем title и узел под ним с именем arrow. У стрелки расширителя, отображающего дочерний элемент, добавляется псевдокласс :checked.

Функции

gtk_expander_new ()

GtkWidget *
gtk_expander_new (const gchar *label);

Создаёт новый раскрывающийся элемент, используя label в качестве текста метки.

Параметры

label

текст метки.

[nullable]

Возвращает

новый виджет GtkExpander.

Since: 2.4

gtk_expander_new_with_mnemonic ()

GtkWidget *
gtk_expander_new_with_mnemonic (const gchar *label);

Создаёт новый раскрывающийся элемент, используя label в качестве текста метки. Если символы в label предваряются нижним подчеркиванием, они подчеркиваются. Если вам нужен буквальный символ нижнего подчеркивания в метке, используйте «__» (два нижних подчеркивания). Первый подчеркнутый символ представляет собой клавишу быстрого вызова (мнемонику). Нажатие клавиши Alt и этой клавиши активирует кнопку.

Параметры

label

текст метки с нижним подчеркиванием перед символом мнемоники.

[nullable]

Возвращает

новый виджет GtkExpander.

Since: 2.4

gtk_expander_set_expanded ()

void
gtk_expander_set_expanded (GtkExpander *expander,
                           gboolean expanded);

Устанавливает состояние раскрывающегося элемента. Установите в TRUE, если вы хотите отобразить дочерний виджет, и FALSE, если вы хотите скрыть дочерний виджет.

Параметры

expander

элемент GtkExpander

expanded

отображается ли дочерний виджет

Since: 2.4

gtk_expander_get_expanded ()

gboolean
gtk_expander_get_expanded (GtkExpander *expander);

Опрашивает элемент GtkExpander и возвращает его текущее состояние. Возвращает TRUE, если дочерний виджет отображён.

См. gtk_expander_set_expanded().

Параметры

expander

элемент GtkExpander

Возвращает

текущее состояние раскрывающегося элемента

Since: 2.4

gtk_expander_set_spacing ()

void
gtk_expander_set_spacing (GtkExpander *expander,
                          gint spacing);

gtk_expander_set_spacing устарел начиная с версии 3.20 и не должен использоваться в новом коде.

Используйте отступы для дочернего элемента вместо этого.

Устанавливает поле отступа expander, которое представляет собой количество пикселей между раскрывающимся элементом и дочерним элементом.

Параметры

expander

элемент GtkExpander

spacing

расстояние между раскрывающимся элементом и дочерним элементом в пикселях

Since: 2.4

gtk_expander_get_spacing ()

gint
gtk_expander_get_spacing (GtkExpander *expander);

gtk_expander_get_spacing устарел начиная с версии 3.20 и не должен использоваться в новом коде.

Используйте отступы для дочернего элемента вместо этого.

Получает значение, установленное с помощью gtk_expander_set_spacing().

Параметры

expander

элемент GtkExpander

Возвращает

расстояние между раскрывающимся элементом и дочерним элементом

Since: 2.4

gtk_expander_set_label ()

void
gtk_expander_set_label (GtkExpander *expander,
                        const gchar *label);

Устанавливает текст метки раскрывающегося элемента на label.

Это также очистит любые ранее установленные метки.

Параметры

expander

элемент GtkExpander

label

строка.

[nullable]

Since: 2.4

gtk_expander_get_label ()

const gchar *
gtk_expander_get_label (GtkExpander *expander);

Извлекает текст из виджета метки, включая любые встроенные нижние подчеркивания, указывающие мнемоники и разметку Pango, как задано с помощью gtk_expander_set_label(). Если текст метки не был задан, возвращаемое значение будет NULL. Это будет случай, если вы создали пустую кнопку с помощью gtk_button_new() для использования в качестве контейнера.

Обратите внимание, что эта функция работала по-другому в версиях до 2.14 и ранее возвращала текст метки без встроенных нижних подчеркиваний, указывающих мнемоники и разметку Pango. Эту проблему можно избежать, извлекая текст метки напрямую из виджета метки.

Параметры

expander

элемент GtkExpander

Возвращает

текст виджета метки. Эта строка принадлежит виджету и не должна изменяться или освобождаться.

[nullable]

Since: 2.4

gtk_expander_set_use_underline ()

void
gtk_expander_set_use_underline (GtkExpander *expander,
                                gboolean use_underline);

Если true, нижнее подчеркивание в тексте метки раскрывающегося элемента указывает на то, что следующий символ должен использоваться для клавиши мнемоники.

Параметры

expander

элемент GtkExpander

use_underline

TRUE если нижние подчеркивания в тексте указывают на мнемоники

Since: 2.4

gtk_expander_get_use_underline ()

gboolean
gtk_expander_get_use_underline (GtkExpander *expander);

Возвращает, указывает ли встроенное нижнее подчеркивание в метке раскрывающегося элемента на мнемонику. См. gtk_expander_set_use_underline().

Параметры

expander

элемент GtkExpander

Возвращает

TRUE если встроенное нижнее подчеркивание в метке раскрывающегося элемента указывает на клавиши быстрого вызова мнемоники

Since: 2.4

gtk_expander_set_use_markup ()

void
gtk_expander_set_use_markup (GtkExpander *expander,
                             gboolean use_markup);

Устанавливает, содержит ли текст метки разметку в языке разметки текста Pango. См. gtk_label_set_markup().

Параметры

expander

элемент GtkExpander

use_markup

TRUE если текст метки должен быть проанализирован на наличие разметки

Since: 2.4

gtk_expander_get_use_markup ()

gboolean
gtk_expander_get_use_markup (GtkExpander *expander);

Возвращает, интерпретируется ли текст метки как разметка языка Pango. См. gtk_expander_set_use_markup().

Параметры

expander

a GtkExpander

Возвращает

TRUE , если текст метки будет проанализирован на предмет разметки

С: 2.4

gtk_expander_set_label_widget ()

void
gtk_expander_set_label_widget (GtkExpander *expander,
                               GtkWidget *label_widget);

Устанавливает виджет метки для раскрывающегося элемента. Это виджет, который будет отображаться вместе со стрелкой раскрывающегося элемента.

Параметры

expander

a GtkExpander

label_widget

новый виджет метки.

[nullable]

С: 2.4

gtk_expander_get_label_widget ()

GtkWidget *
gtk_expander_get_label_widget (GtkExpander *expander);

Возвращает виджет метки для рамки. См. gtk_expander_set_label_widget().

Параметры

expander

a GtkExpander

Возвращает

виджет метки или NULL , если его нет.

[nullable][transfer none]

С: 2.4

gtk_expander_set_label_fill ()

void
gtk_expander_set_label_fill (GtkExpander *expander,
                             gboolean label_fill);

Устанавливает, должен ли виджет метки заполнять всё доступное горизонтальное пространство, выделенное для expander .

Обратите внимание, что эта функция не оказывает никакого влияния с версии 3.20.

Параметры

expander

a GtkExpander

label_fill

TRUE , если метка должна заполнять всё доступное горизонтальное пространство

С: 2.22

gtk_expander_get_label_fill ()

gboolean
gtk_expander_get_label_fill (GtkExpander *expander);

Возвращает, будет ли виджет метки заполнять всё доступное горизонтальное пространство, выделенное для expander .

Параметры

expander

a GtkExpander

Возвращает

TRUE , если виджет метки будет заполнять всё доступное горизонтальное пространство

С: 2.22

gtk_expander_set_resize_toplevel ()

void
gtk_expander_set_resize_toplevel (GtkExpander *expander,
                                  gboolean resize_toplevel);

Устанавливает, будет ли раскрывающийся элемент изменять размер виджета верхнего уровня, содержащего раскрывающийся элемент, при изменении размера и сворачивании.

Параметры

expander

a GtkExpander

resize_toplevel

нужно ли изменять размер верхнего уровня

С: 3.2

gtk_expander_get_resize_toplevel ()

gboolean
gtk_expander_get_resize_toplevel (GtkExpander *expander);

Возвращает, будет ли раскрывающийся элемент изменять размер виджета верхнего уровня, содержащего раскрывающийся элемент, при изменении размера и сворачивании.

Параметры

expander

a GtkExpander

Возвращает

значение «изменить размер верхнего уровня».

С: 3.2

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

struct GtkExpander

struct GtkExpander;

struct GtkExpanderClass

struct GtkExpanderClass {
  GtkBinClass    parent_class;

  /* Key binding signal; to get notification on the expansion
   * state connect to notify:expanded.
   */
  void        (* activate) (GtkExpander *expander);
};

Члены

activate ()

Сигнал сочетания клавиш генерируется, когда пользователь нажимает клавишу Enter.

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

Свойство “expanded”

  “expanded”                 gboolean

Раскрыт ли раскрывающийся элемент для отображения дочернего виджета.

Владелец: GtkExpander

Флаги: Чтение/Запись/Конструктор

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

Свойство “label”

  “label”                    char *

Текст метки раскрывающегося элемента.

Владелец: GtkExpander

Флаги: Чтение/Запись/Конструктор

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

Свойство “label-fill”

  “label-fill”               gboolean

Заполняет ли виджет метки всё доступное горизонтальное пространство.

Обратите внимание, что это свойство игнорируется с версии 3.20.

Владелец: GtkExpander

Флаги: Чтение/Запись/Конструктор

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

Свойство “label-widget”

  “label-widget”             GtkWidget *

Виджет для отображения вместо обычной метки раскрывающегося элемента.

Владелец: GtkExpander

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

Свойство “resize-toplevel”

  “resize-toplevel”          gboolean

Когда это свойство TRUE, раскрывающийся элемент будет изменять размер виджета верхнего уровня, содержащего раскрывающийся элемент, при раскрытии и сворачивании.

Владелец: GtkExpander

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

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

С: 3.2

Свойство “spacing”

  “spacing”                  int

Пробел между меткой и дочерним элементом при раскрытии раскрывающегося элемента.

GtkExpander:spacing устарело с версии 3.20 и не должно использоваться в новом коде.

Это свойство устарело и игнорируется. Используйте отступы дочернего элемента вместо него.

Владелец: GtkExpander

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

Допустимые значения: >= 0

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

Свойство “use-markup”

  “use-markup”               gboolean

Текст метки включает разметку XML. См. pango_parse_markup().

Владелец: GtkExpander

Флаги: Чтение/Запись/Конструктор

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

Свойство “use-underline”

  “use-underline”            gboolean

Если установлено, подчеркивание в тексте указывает на то, что следующий символ должен использоваться для клавиши ускоренного доступа.

Владелец: GtkExpander

Флаги: Чтение/Запись/Конструктор

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

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

Свойство стиля “expander-size”

  “expander-size”            int

Размер стрелки раскрывающегося элемента.

GtkExpander:expander-size устарело с версии 3.20 и не должно использоваться в новом коде.

Используйте CSS min-width и min-height вместо этого.

Владелец: GtkExpander

Флаги: Чтение

Допустимые значения: >= 0

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

Свойство стиля “expander-spacing”

  “expander-spacing”         int

Пробел вокруг стрелки раскрывающегося элемента.

GtkExpander:expander-spacing устарело с версии 3.20 и не должно использоваться в новом коде.

Используйте CSS отступы вместо этого, значение этого свойства стиля игнорируется.

Владелец: GtkExpander

Флаги: Чтение

Допустимые значения: >= 0

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

Подробности сигналов

Сигнал “activate”

void
user_function (GtkExpander *expander,
               gpointer     user_data)

Флаги: Действие

© 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/GtkExpander.html

Spec-Zone.ru

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