Spec-Zone.ru › GTK 3.20

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 Чтение / Запись / Создание
gchar * label Чтение / Запись / Создание
gboolean label-fill Чтение / Запись / Создание
GtkWidget * label-widget Чтение / Запись
gboolean resize-toplevel Чтение / Запись
gint spacing Чтение / Запись
gboolean use-markup Чтение / Запись / Создание
gboolean use-underline Чтение / Запись / Создание

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

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

Сигналы

void activate Действие

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

struct GtkExpander
struct GtkExpanderClass

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

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

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

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

Включенные файлы

#include <gtk/gtk.h>

Описание

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

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

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

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

GtkExpander как GtkBuildable

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

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

CSS-узлы

expander =gtk_expander_new_with_mnemonic("_More Options");
g_signal_connect(expander,"notify::expanded",
G_CALLBACK(expander_callback), NULL);

...

staticvoid
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
}
}

GtkExpander имеет три CSS-узла: основной узел с именем expander, подразумевающий узел с именем title и узел ниже него с именем arrow. Ни один из них не использует никаких стилей.

Функции

gtk_expander_new ()

GtkWidget *
gtk_expander_new (const gchar *label);

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

Параметры

label

текст метки

Возвращаемое значение

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

С версии: 2.4

gtk_expander_new_with_mnemonic ()

GtkWidget *
gtk_expander_new_with_mnemonic (const gchar *label);

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

Параметры

label

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

[allow-none]

Возвращаемое значение

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

С версии: 2.4

gtk_expander_set_expanded ()

void
gtk_expander_set_expanded (GtkExpander *expander,
                           gboolean expanded);

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

Параметры

expander

элемент GtkExpander

expanded

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

С версии: 2.4

gtk_expander_get_expanded ()

gboolean
gtk_expander_get_expanded (GtkExpander *expander);

Получает состояние GtkExpander и возвращает его текущее состояние. Возвращает TRUE, если дочерний виджет отображен.

См. gtk_expander_set_expanded().

Параметры

expander

элемент GtkExpander

Возвращаемое значение

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

С версии: 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

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

С версии: 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

Возвращаемое значение

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

С версии: 2.4

gtk_expander_set_label ()

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

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

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

Параметры

expander

элемент GtkExpander

label

строка.

[allow-none]

С версии: 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

Возвращаемое значение

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

С версии: 2.4

gtk_expander_set_use_underline ()

void
gtk_expander_set_use_underline (GtkExpander *expander,
                                gboolean use_underline);

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

Параметры

expander

элемент GtkExpander

use_underline

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

С версии: 2.4

gtk_expander_get_use_underline ()

gboolean
gtk_expander_get_use_underline (GtkExpander *expander);

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

Параметры

expander

элемент GtkExpander

Возвращаемое значение

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

С версии: 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, если текст метки должен быть проанализирован на наличие разметки

С версии: 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, если текст метки будет проанализирован на разметку

C: 2.4

gtk_expander_set_label_widget ()

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

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

Параметры

expander

a GtkExpander

label_widget

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

[allow-none]

C: 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]

C: 2.4

gtk_expander_set_label_fill ()

void
gtk_expander_set_label_fill (GtkExpander *expander,
                             gboolean label_fill);

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

Параметры

expander

a GtkExpander

label_fill

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

C: 2.22

gtk_expander_get_label_fill ()

gboolean
gtk_expander_get_label_fill (GtkExpander *expander);

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

Параметры

expander

a GtkExpander

Возвращаемое значение

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

C: 2.22

gtk_expander_set_resize_toplevel ()

void
gtk_expander_set_resize_toplevel (GtkExpander *expander,
                                  gboolean resize_toplevel);

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

Параметры

expander

a GtkExpander

resize_toplevel

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

C: 3.2

gtk_expander_get_resize_toplevel ()

gboolean
gtk_expander_get_resize_toplevel (GtkExpander *expander);

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

Параметры

expander

a GtkExpander

Возвращаемое значение

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

C: 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

Открыт ли расширитель для отображения дочернего виджета.

Флаги: Чтение / Запись / Создание

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

Свойство “label”

  “label”                    gchar *

Текст метки расширителя.

Флаги: Чтение / Запись / Создание

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

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

  “label-fill”               gboolean

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

Флаги: Чтение / Запись / Создание

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

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

  “label-widget”             GtkWidget *

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

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

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

  “resize-toplevel”          gboolean

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

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

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

C: 3.2

Свойство “spacing”

  “spacing”                  gint

Пространство между меткой и дочерним элементом, когда расширитель раскрыт.

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

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

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

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

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

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

  “use-markup”               gboolean

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

Флаги: Чтение / Запись / Создание

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

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

  “use-underline”            gboolean

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

Флаги: Чтение / Запись / Создание

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

Подробные сведения о свойствах стиля

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

  “expander-size”            gint

Размер стрелки расширителя.

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

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

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

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

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

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

  “expander-spacing”         gint

Отступ вокруг стрелки расширителя.

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

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

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

Допустимые значения: >= 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.20/GtkExpander.html

Spec-Zone.ru

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