GtkExpander
GtkExpander — Контейнер, который может скрывать своё содержимое
Функции
Свойства
| 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 | Чтение |
Типы и значения
| 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 |
|
С версии: 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 |
|
С версии: 2.4
gtk_expander_get_use_markup ()
gboolean
gtk_expander_get_use_markup (GtkExpander *expander); Возвращает, интерпретируется ли текст метки как разметка языка Pango. См. gtk_expander_set_use_markup().
Параметры
expander |
Возвращаемое значение
TRUE, если текст метки будет проанализирован на разметку
C: 2.4
gtk_expander_set_label_widget ()
void gtk_expander_set_label_widget (GtkExpander *expander,GtkWidget *label_widget);
Устанавливает виджет метки для расширителя. Это виджет, который будет отображаться встроеным рядом со стрелкой расширителя.
Параметры
expander | ||
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 |
C: 2.4
gtk_expander_set_label_fill ()
void gtk_expander_set_label_fill (GtkExpander *expander,gboolean label_fill);
Устанавливает, должен ли виджет метки заполнять всё доступное горизонтальное пространство, выделенное для expander .
Параметры
expander | ||
label_fill |
|
C: 2.22
gtk_expander_get_label_fill ()
gboolean
gtk_expander_get_label_fill (GtkExpander *expander); Возвращает, будет ли виджет метки заполнять всё доступное горизонтальное пространство, выделенное для expander .
Параметры
expander |
Возвращаемое значение
TRUE, если виджет метки заполнит всё доступное горизонтальное пространство
C: 2.22
gtk_expander_set_resize_toplevel ()
void gtk_expander_set_resize_toplevel (GtkExpander *expander,gboolean resize_toplevel);
Устанавливает, будет ли расширитель изменять размер виджета верхнего уровня, содержащего расширитель при изменении размера и сворачивании.
Параметры
expander | ||
resize_toplevel | изменить ли размер верхнего уровня |
C: 3.2
gtk_expander_get_resize_toplevel ()
gboolean
gtk_expander_get_resize_toplevel (GtkExpander *expander); Возвращает, будет ли расширитель изменять размер виджета верхнего уровня, содержащего расширитель при изменении размера и сворачивании.
Параметры
expander |
Возвращаемое значение
значение "изменить размер верхнего уровня".
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);
};
Члены
| Сигнал сочетания клавиш срабатывает, когда пользователь нажимает 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
Подробные сведения о сигналах
© 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