Prev

Up

Home

GTK+ Reference Manual

Next

Top  |  Description  |  Object Hierarchy  |  Properties  |  Style Properties  |  Signals

GtkExpander

GtkExpander Контейнер способный скрывать дочерний виджет

Краткое описание

#include <gtk/gtk.h> GtkExpander; GtkWidget* gtk_expander_new (const gchar *label); GtkWidget* gtk_expander_new_with_mnemonic (const gchar *label); void gtk_expander_set_expanded (GtkExpander *expander, gboolean expanded); gboolean gtk_expander_get_expanded (GtkExpander *expander); void gtk_expander_set_spacing (GtkExpander *expander, gint spacing); gint gtk_expander_get_spacing (GtkExpander *expander); void gtk_expander_set_label (GtkExpander *expander, const gchar *label); const gchar* gtk_expander_get_label (GtkExpander *expander); void gtk_expander_set_use_underline (GtkExpander *expander, gboolean use_underline); gboolean gtk_expander_get_use_underline (GtkExpander *expander); void gtk_expander_set_use_markup (GtkExpander *expander, gboolean use_markup); gboolean gtk_expander_get_use_markup (GtkExpander *expander); void gtk_expander_set_label_widget (GtkExpander *expander, GtkWidget *label_widget); GtkWidget* gtk_expander_get_label_widget (GtkExpander *expander);

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

GObject +----GInitiallyUnowned +----GtkObject +----GtkWidget +----GtkContainer +----GtkBin +----GtkExpander

Осуществляемые интерфейсы

GtkExpander осуществляет AtkImplementorIface.

Свойства

"expanded" gboolean : Read / Write / Construct "label" gchararray : Read / Write / Construct "label-widget" GtkWidget : Read / Write "spacing" gint : Read / Write "use-markup" gboolean : Read / Write / Construct "use-underline" gboolean : Read / Write / Construct

Свойства стиля

"expander-size" gint : Read "expander-spacing" gint : Read

Сигналы

"activate" void user_function (GtkExpander *expander, gpointer user_data) : Run last / Action

Описание

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

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

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

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

expander = gtk_expander_new_with_mnemonic ("_More Options"); g_signal_connect (expander, "notify::expanded", G_CALLBACK (expander_callback), NULL); ... static void expander_callback (GObject *object, GParamSpec *param_spec, gpointer user_data) { GtkExpander *expander; expander = GTK_EXPANDER (object); if (gtk_expander_get_expanded (expander)) { /* Показываемые или создаваемые виджеты */ } else { /* Скрываемые или разрушаемые виджеты */ } }

Детали

GtkExpander

typedef struct _GtkExpander GtkExpander;

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 :

текст метки с подчеркиванием перед мнемоническим знаком

Возвращает:

Новый виджет 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);

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

expander :

GtkExpander

spacing :

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

Начиная с версии 2.4


gtk_expander_get_spacing ()

gint        gtk_expander_get_spacing        (GtkExpander *expander);

Получает значение установленное 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 :

Стока

Начиная с версии 2.4


gtk_expander_get_label ()

const gchar* gtk_expander_get_label         (GtkExpander *expander);

Извлекает текст из метки расширителя, которая установлена функцией gtk_expander_set_label(). Если текст метки не установлен возвращается NULL. Это происходит при создании пустой кнопки с помощью gtk_button_new() используемой как контейнер.

expander :

GtkExpander

Возвращает:

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

Начиная с версии 2.4


gtk_expander_set_use_underline ()

void gtk_expander_set_use_underline (GtkExpander *expander, gboolean use_underline);

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

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's text markup language. Смотрите 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 text markup language. Смотрите gtk_expander_set_use_markup().

expander :

GtkExpander

Возвращает:

TRUE если текст метки должен быть анализируем для разметки

Начиная с версии 2.4


gtk_expander_set_label_widget ()

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

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

expander :

GtkExpander

label_widget :

Новый виджет ярлык

Начиная с версии 2.4


gtk_expander_get_label_widget ()

GtkWidget*  gtk_expander_get_label_widget   (GtkExpander *expander);

Восстанавливает ярлык виджет для конструкции. Смотрите gtk_expander_set_label_widget().

expander :

GtkExpander

Возвращает:

Ярлык виджет, или NULL если его нет.

Начиная с версии 2.4

Детали свойств

Свойство "expanded"

  "expanded"             gboolean              : Read / Write / Construct

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

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


Свойство "label"

  "label"                gchararray            : Read / Write / Construct

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

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


Свойство "label-widget"

  "label-widget"         GtkWidget             : Read / Write

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


Свойство "spacing"

  "spacing"              gint                  : Read / Write

Промежуток между меткой и дочерним виджетом.

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

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


Свойство "use-markup"

  "use-markup"           gboolean              : Read / Write / Construct

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

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


Свойство "use-underline"

  "use-underline"        gboolean              : Read / Write / Construct

Если установлено, подчеркивание текста перед первым знаком указывает на мнемонический акселератор.

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

Детали свойств стиля

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

  "expander-size"        gint                  : Read

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

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

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


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

  "expander-spacing"     gint                  : Read

Интервал вокруг стрелки расширителя.

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

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

Детали сигналов

Сигнал "activate"

void user_function (GtkExpander *expander, gpointer user_data) : Run last / Action

expander :

Объект получающий сигнал.

user_data :

Пользовательские данные устанавливаемые при подключении обработчика сигнала.