GTK+ Reference Manual |
||||
---|---|---|---|---|
Top | Description | Object Hierarchy | Properties | Style Properties | Signals |
GtkExpanderGtkExpander Контейнер способный скрывать дочерний виджет |
#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
{
/* Скрываемые или разрушаемые виджеты */
}
}
typedef struct _GtkExpander GtkExpander;
gtk_expander_new ()
GtkWidget* gtk_expander_new (const gchar *label);Создаёт новый расширитель использующий
label
как текст метки.
|
Текст метки |
Возвращает: |
Новый виджет GtkExpander. |
Начиная с версии 2.4
GtkWidget* gtk_expander_new_with_mnemonic (const gchar *label);Создаёт новый расширитель использующий
label
как текст метки. Если знакам вlabel
предшествует подчёркивание, то они подчёркиваются. Если вам нужен знак подчёркивания перед меткой, используйте '__' (двойное подчёркивание). Первый подчёркнутый знак представляет клавиатурный акселератор называемый мнемоник. Нажатие клавиши Alt и этой клавиши активизирует кнопку.
|
текст метки с подчеркиванием перед мнемоническим знаком |
Возвращает: |
Новый виджет GtkExpander. |
Начиная с версии 2.4
void gtk_expander_set_expanded (GtkExpander *expander,
gboolean expanded);
Устанавливает состояние расширителя.
Установите TRUE
,
если вы хотите сделать дочерний виджет
отображаемым, а FALSE
если вы хотите сделать дочерний виджет
скрытым.
|
|
|
Должен ли отображаться дочерний виджет |
Начиная с версии 2.4
gboolean gtk_expander_get_expanded (GtkExpander *expander);Запрашивает GtkExpander и возвращает текущеме состояние. Возвращается
TRUE
если дочерний виджет отображаем.Смотрите
gtk_expander_set_expanded()
.
|
|
Возвращает: |
Текущее состояние расширителя. |
Начиная с версии 2.4
void gtk_expander_set_spacing (GtkExpander *expander,
gint spacing);
Устанавливает свободное пространство
expander
, которое является
числом пикселей между расширителем и
дочерним виджетом.
|
|
|
Промежуток между расширителем и дочерним виджетом в пикселах. |
Начиная с версии 2.4
gint gtk_expander_get_spacing (GtkExpander *expander);Получает значение установленное
gtk_expander_set_spacing()
.
|
|
Возвращает: |
Промежуток между расширителем и дочерним виджетом. |
Начиная с версии 2.4
void gtk_expander_set_label (GtkExpander *expander,
const gchar *label);
Устанавливает текст метки расширителя
равным label
.
Это также очищает предварительно установленную метку.
|
|
|
Стока |
Начиная с версии 2.4
const gchar* gtk_expander_get_label (GtkExpander *expander);Извлекает текст из метки расширителя, которая установлена функцией
gtk_expander_set_label()
. Если текст метки не установлен возвращаетсяNULL
. Это происходит при создании пустой кнопки с помощьюgtk_button_new()
используемой как контейнер.
|
|
Возвращает: |
Текст метки виджета. Этой строкой владеет виджет и она не должна изменяться или высвобождаться. |
Начиная с версии 2.4
void gtk_expander_set_use_underline (GtkExpander *expander,
gboolean use_underline);
Если установлено TRUE, подчеркивание в тексте метки расширителя сообщает что следующий знак должен использоваться как клавиша мнемонического акселератора.
|
|
|
|
Начиная с версии 2.4
gboolean gtk_expander_get_use_underline (GtkExpander *expander);Определяет является ли подчёркивание в метки расширителя индикатором мнемоника. Смотрите
gtk_expander_set_use_underline()
.
|
|
Возвращает: |
|
Начиная с версии 2.4
void gtk_expander_set_use_markup (GtkExpander *expander,
gboolean use_markup);
Устанавливает содержит ли текст метки
разметку в Pango's
text markup language. Смотрите gtk_label_set_markup()
.
|
|
|
|
Начиная с версии 2.4
gboolean gtk_expander_get_use_markup (GtkExpander *expander);Определяет интерпретируется ли текст метки как разметка Pango text markup language. Смотрите
gtk_expander_set_use_markup()
.
|
|
Возвращает: |
|
Начиная с версии 2.4
void gtk_expander_set_label_widget (GtkExpander *expander,
GtkWidget *label_widget);
Устанавливает ярлык виджет для расширителя. Это виджет который будет вложен рядом со стрелкой расширителя.
|
|
|
Новый виджет ярлык |
Начиная с версии 2.4
GtkWidget* gtk_expander_get_label_widget (GtkExpander *expander);Восстанавливает ярлык виджет для конструкции. Смотрите
gtk_expander_set_label_widget()
.
|
|
Возвращает: |
Ярлык виджет, или |
Начиная с версии 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
|
Объект получающий сигнал. |
|
Пользовательские данные устанавливаемые при подключении обработчика сигнала. |