The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

Каталог документации / Раздел "Программирование, языки" / Оглавление документа

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 :

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






Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру