The OpenNET Project / Index page

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

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

Prev

Up

Home

GTK+ Reference Manual

Next

Top  |  Description  |  Object Hierarchy  |  Implemented Interfaces  |  Properties  |  Signals

GtkContainer

GtkContainer Базовый класс для виджетов содержащих другие виджеты

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

#include <gtk/gtk.h>


            GtkContainer;
#define     GTK_IS_RESIZE_CONTAINER         (widget)
#define     GTK_CONTAINER_WARN_INVALID_CHILD_PROPERTY_ID(object, property_id, pspec)
#define     gtk_container_border_width

void        gtk_container_add               (GtkContainer *container,
                                             GtkWidget *widget);
void        gtk_container_remove            (GtkContainer *container,
                                             GtkWidget *widget);
void        gtk_container_add_with_properties

                                            (GtkContainer *container,
                                             GtkWidget *widget,
                                             const gchar *first_prop_name,
                                             ...);
GtkResizeMode gtk_container_get_resize_mode (GtkContainer *container);
void        gtk_container_set_resize_mode   (GtkContainer *container,
                                             GtkResizeMode resize_mode);
void        gtk_container_check_resize      (GtkContainer *container);
void        gtk_container_foreach           (GtkContainer *container,
                                             GtkCallback callback,
                                             gpointer callback_data);
void        gtk_container_foreach_full      (GtkContainer *container,
                                             GtkCallback callback,
                                             GtkCallbackMarshal marshal,
                                             gpointer callback_data,
                                             GtkDestroyNotify notify);
#define     gtk_container_children

GList*      gtk_container_get_children      (GtkContainer *container);
void        gtk_container_set_reallocate_redraws
                                            (GtkContainer *container,
                                             gboolean needs_redraws);
void        gtk_container_set_focus_child   (GtkContainer *container,
                                             GtkWidget *child);

GtkAdjustment* gtk_container_get_focus_vadjustment
                                            (GtkContainer *container);
void        gtk_container_set_focus_vadjustment
                                            (GtkContainer *container,
                                             GtkAdjustment *adjustment);

GtkAdjustment* gtk_container_get_focus_hadjustment
                                            (GtkContainer *container);
void        gtk_container_set_focus_hadjustment
                                            (GtkContainer *container,
                                             GtkAdjustment *adjustment);
void        gtk_container_resize_children   (GtkContainer *container);

GType       gtk_container_child_type        (GtkContainer *container);
void        gtk_container_child_get         (GtkContainer *container,
                                             GtkWidget *child,
                                             const gchar *first_prop_name,
                                             ...);
void        gtk_container_child_set         (GtkContainer *container,
                                             GtkWidget *child,
                                             const gchar *first_prop_name,
                                             ...);
void        gtk_container_child_get_property

                                            (GtkContainer *container,
                                             GtkWidget *child,
                                             const gchar *property_name,
                                             GValue *value);
void        gtk_container_child_set_property
                                            (GtkContainer *container,
                                             GtkWidget *child,
                                             const gchar *property_name,
                                             const GValue *value);
void        gtk_container_child_get_valist  (GtkContainer *container,
                                             GtkWidget *child,
                                             const gchar *first_property_name,
                                             va_list var_args);
void        gtk_container_child_set_valist  (GtkContainer *container,
                                             GtkWidget *child,
                                             const gchar *first_property_name,
                                             va_list var_args);
void        gtk_container_forall            (GtkContainer *container,
                                             GtkCallback callback,
                                             gpointer callback_data);

guint       gtk_container_get_border_width  (GtkContainer *container);
void        gtk_container_set_border_width  (GtkContainer *container,
                                             guint border_width);
void        gtk_container_propagate_expose  (GtkContainer *container,
                                             GtkWidget *child,
                                             GdkEventExpose *event);

gboolean    gtk_container_get_focus_chain   (GtkContainer *container,
                                             GList **focusable_widgets);
void        gtk_container_set_focus_chain   (GtkContainer *container,
                                             GList *focusable_widgets);
void        gtk_container_unset_focus_chain (GtkContainer *container);

GParamSpec* gtk_container_class_find_child_property
                                            (GObjectClass *cclass,
                                             const gchar *property_name);
void        gtk_container_class_install_child_property
                                            (GtkContainerClass *cclass,
                                             guint property_id,
                                             GParamSpec *pspec);

GParamSpec** gtk_container_class_list_child_properties
                                            (GObjectClass *cclass,
                                             guint *n_properties);

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

  GObject
   +----GInitiallyUnowned
         +----GtkObject
               +----GtkWidget

                     +----GtkContainer
                           +----GtkBin
                           +----GtkBox
                           +----GtkCList
                           +----GtkFixed
                           +----GtkPaned

                           +----GtkIconView
                           +----GtkLayout
                           +----GtkList
                           +----GtkMenuShell
                           +----GtkNotebook

                           +----GtkSocket
                           +----GtkTable
                           +----GtkTextView
                           +----GtkToolbar
                           +----GtkTree

                           +----GtkTreeView

Реализуемые интерфейсы

GtkContainer реализует AtkImplementorIface.

Свойства

  "border-width"         guint                 : Read / Write
  "child"                GtkWidget             : Write
  "resize-mode"          GtkResizeMode         : Read / Write

Сигналы

"add"       void        user_function      (GtkContainer *container,
                                            GtkWidget    *widget,
                                            gpointer      user_data)      : Run first
"check-resize"
            void        user_function      (GtkContainer *container,
                                            gpointer      user_data)      : Run last
"remove"    void        user_function      (GtkContainer *container,
                                            GtkWidget    *widget,
                                            gpointer      user_data)      : Run first
"set-focus-child"
            void        user_function      (GtkContainer *container,
                                            GtkWidget    *widget,
                                            gpointer      user_data)      : Run first

Описание

Пользовательский интерфейс GTK+ конструируется методом вложения одних виджетов в другие. Контейнерные виджеты являются внутренними узлами в получающемся дереве виджетов: они содержат другие виджеты. Таким образом, например, вы можете иметь GtkWindow содержащий GtkFrame который в свою очередь содержит GtkLabel. Если вам нужно изображение внутри текстового ярлыка находящегося в рамке, вы можете переразместить виджет GtkLabel с виджетом GtkImage.

Есть два основных вида контейнерных виджетов в GTK+. Оба являются подклассами абстрактного базового класса GtkContainer.

Первый тип контейнерного виджета имеет единственный дочерний виджет и происходит от GtkBin. Эти контейнеры являются декораторами, которые добавляют некоторый вид функциональности к дочерним виджетам. Например, GtkButton создаёт свой дочерний виджет внутри нажимаемой кнопки; GtkFrame отображает рамку вокруг своего дочернего виджета, а GtkWindow размещает свой дочерний виджет внутри окна верхнего уровня.

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

Для выполнения своей задачи, контейнер размещения должен согласовать запрашиваемый размер со своим родителем и дочерними виджетами. Это согласование выполняется в две фазы, запрос размера (size requisition) и распределение размера (size allocation).

Запрос размера

Запрос размера виджета это желаемая высота и ширина. Это представляется объектом GtkRequisition.

Желаемый размер виджета как правило зависит от его дочерних виджетов. GtkLabel, например, запрашивает пространство достаточное для отображения всего текста который он представляет.

Фаза запроса размера виджета размещения выполняется по нисходящей. Она начинается в виджете верхнего уровня, обычно это GtkWindow. Виджет верхнего уровня запрашивает свои дочерние виджеты о желаемом размере с помощью gtk_widget_size_request(). Для определения своего размера, дочерние виджеты запрашивают свои дочерние виджеты о желаемом размере и т.д.. В конце концов, виджет верхнего уровня получает назад запрос от своего дочернего виджета.


Распределение размера

Когда виджет верхнего уровня определил сколько пространства нужно для дочерних виджетов, начинается вторая фаза согласования распределение размера. В зависимости от конфигурации (смотрите gtk_window_set_resizable()), виджет верхнего уровня может расшириться для удовлетворения запрашиваемого размера, или может проигнорировать запрашиваемый, сохраняя фиксированный размер. Тогда он говорит своему дочернему виджету какое пространство он получит с помощью gtk_widget_size_allocate(). Дочерний виджет распределяет полученное пространство между своими дочерними виджетами и т.д.. При нормальных обстоятельствах, GtkWindow всегда выдаёт дочерним виджетам запрашиваемое ими пространство.

Распределение дочерних размеров представляется объектом GtkAllocation. Эта структура содержит не только ширину и высоту, но также позицию (то есть X и Y координаты), поэтому контейнер может сообщить своим дочерним виджетам не только какое пространство они должны занимать, но и где расположиться внутри контейнера.

Виджеты должны соблюдать распределённое для них пространство; запрос размера это только пожелание, виджеты должны уметь использовать любой размер.


Дочерние свойства

GtkContainer представляет дочерние свойства это свойства объекта которые определены не для контейнера и его дочерних виджетов, а скорее для их связки. Типичный пример дочерних свойств позиция или тип упаковки виджета который находится в GtkBox.

Используйте gtk_container_class_install_child_property() для установки дочерних свойств контейнерного класса, а gtk_container_class_find_child_property() или gtk_container_class_list_child_properties() для получения информации о существующих дочерних свойствах.

Для установки значения дочернего свойства, используйте gtk_container_child_set_property(), gtk_container_child_set() или gtk_container_child_set_valist(). Для определения значения дочернего свойства используйте gtk_container_child_get_property(), gtk_container_child_get() или gtk_container_child_get_valist(). Для издания уведомления об изменении дочернего свойства используйте gtk_widget_child_notify().

Детали

GtkContainer

typedef struct _GtkContainer GtkContainer;

GTK_IS_RESIZE_CONTAINER()

#define GTK_IS_RESIZE_CONTAINER(widget) (GTK_IS_CONTAINER (widget) && ((GtkContainer*) (widget))->resize_mode != GTK_RESIZE_PARENT)

widget :


GTK_CONTAINER_WARN_INVALID_CHILD_PROPERTY_ID()

#define     GTK_CONTAINER_WARN_INVALID_CHILD_PROPERTY_ID(object, property_id, pspec)

object :

property_id :

pspec :


gtk_container_border_width

#define gtk_container_border_width              gtk_container_set_border_width

Внимание

gtk_container_border_width устарела и не должна использоваться во вновь создаваемом коде. Вместо неё используйте gtk_container_set_border_width().

Тоже самое что gtk_container_set_border_width().


gtk_container_add ()

void        gtk_container_add               (GtkContainer *container,
                                             GtkWidget *widget);

Добавляет widget в container. Обычно используется для простых контейнеров, таких как GtkWindow, GtkFrame, или GtkButton; для более сложных контейнеров таких как GtkBox или GtkTable, эта функция выберет параметры по умолчанию, которые могут быть некорректны. Поэтому рассмотрите для этих случаев функции gtk_box_pack_start() и gtk_table_attach() как альтернативу gtk_container_add(). Одновременно виджет может быть добавлен только к одному контейнеру; вы можете разместить некоторые виджеты внутри двух разных контейнеров.

container :

GtkContainer

widget :

Виджет помещаемый в container


gtk_container_remove ()

void        gtk_container_remove            (GtkContainer *container,
                                             GtkWidget *widget);

Удаляет виджет widget из container. widget должен находиться внутри container. Помните что container владеет ссылкой на widget, и то что это может быть последняя ссылка; поэтому удаление виджета из контейнера может уничтожить этот виджет. Если вам нужно использовать widget снова, вы должны добавить на него ссылку пока он не в контейнере, используя g_object_ref(). Если вы больше не хотите использовать widget наиболее эффективным будет простое уничтожение с непосредственным использованием gtk_widget_destroy(), так как это удалит его из контейнера и поможет прекратить любые циклические ссылки.

container :

GtkContainer

widget :

Текущий дочерний виджет для container


gtk_container_add_with_properties ()

void        gtk_container_add_with_properties
                                            (GtkContainer *container,
                                             GtkWidget *widget,
                                             const gchar *first_prop_name,
                                             ...);

Добавляет widget в container, одновременно устанавливая дочерние свойства. Смотрите gtk_container_add() и gtk_container_child_set() для подробного изучения.

container :

GtkContainer

widget :

Виджет помещаемый в container

first_prop_name :

Имя первого дочернего свойства для установки

... :

NULL-завершённый список имен и значений свойств, начиная с first_prop_name.


gtk_container_get_resize_mode ()

GtkResizeMode gtk_container_get_resize_mode (GtkContainer *container);

Определяет режим изменения размера контейнера. Смотрите gtk_container_set_resize_mode().

container :

GtkContainer

Возвращает :

Текущий режим изменения размера


gtk_container_set_resize_mode ()

void        gtk_container_set_resize_mode   (GtkContainer *container,
                                             GtkResizeMode resize_mode);

Устанавливает режим изменения размера.

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

container :

GtkContainer.

resize_mode :

Новый режим изменения размера.


gtk_container_check_resize ()

void        gtk_container_check_resize      (GtkContainer *container);

container :


gtk_container_foreach ()

void        gtk_container_foreach           (GtkContainer *container,
                                             GtkCallback callback,
                                             gpointer callback_data);

Вызывает callback на каждом не внутреннем дочернем виджете контейнера container. Смотрите gtk_container_forall() для деталей относительно того, что составляет "внутренние" дочерние виджеты. Большинство приложений должны использовать gtk_container_foreach(), а не gtk_container_forall().

container :

GtkContainer

callback :

callback-функция

callback_data :

Данные используемые callback-функцией


gtk_container_foreach_full ()

void        gtk_container_foreach_full      (GtkContainer *container,
                                             GtkCallback callback,
                                             GtkCallbackMarshal marshal,
                                             gpointer callback_data,
                                             GtkDestroyNotify notify);

Внимание

gtk_container_foreach_full устарела и не должна использоваться во вновь создаваемом коде. Вместо неё используйте gtk_container_foreach().

container :

callback :

marshal :

callback_data :

notify :


gtk_container_children

#define gtk_container_children gtk_container_get_children

Внимание

gtk_container_children устарела и не должна использоваться во вновь создаваемом коде. Вместо неё используйте gtk_container_get_children().

Тоже самое что gtk_container_get_children().


gtk_container_get_children ()

GList*      gtk_container_get_children      (GtkContainer *container);

Определяет не внутренние дочерние виджеты контейнера. Смотрите gtk_container_forall() для деталей относительно того, что составляет "внутренние" дочерние виджеты.

container :

GtkContainer.

Возвращает :

Вновь созданный список не внутренних дочерних виджетов контейнера.


gtk_container_set_reallocate_redraws ()

void        gtk_container_set_reallocate_redraws
                                            (GtkContainer *container,
                                             gboolean needs_redraws);

Устанавливает reallocate_redraws флажок контейнера в полученное значение.

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

container :

GtkContainer.

needs_redraws :

Новое значение флажка reallocate_redraws.


gtk_container_set_focus_child ()

void        gtk_container_set_focus_child   (GtkContainer *container,
                                             GtkWidget *child);

container :

child :


gtk_container_get_focus_vadjustment ()

GtkAdjustment* gtk_container_get_focus_vadjustment
                                            (GtkContainer *container);

Определяет вертикальную регулировку фокуса для контейнера. Смотрите gtk_container_set_focus_vadjustment().

container :

GtkContainer

Возвращает :

Вертикальная регулировка, или NULL если не установлена.


gtk_container_set_focus_vadjustment ()

void        gtk_container_set_focus_vadjustment
                                            (GtkContainer *container,
                                             GtkAdjustment *adjustment);

Устанавливает регулятор для обработки фокуса в контейнере, таким образом когда дочерний виджет контейнера находится в фокусе, регулятор прокручивается для отображения этого виджета. Эта функция устанавливает вертикальное выравнивание. Смотрите gtk_scrolled_window_get_vadjustment() для обычного способа определения регулировки и gtk_container_set_focus_hadjustment() для установки горизонтальной регулировки.

Регулировки должны быть в пикселах и в той же самой координатной системе в которой распределены непосредственно дочерние виджеты контейнера.

container :

GtkContainer

adjustment :

Регулировки которые должны быть откорректированы при перемещении фокуса между дочерними виджетами container


gtk_container_get_focus_hadjustment ()

GtkAdjustment* gtk_container_get_focus_hadjustment
                                            (GtkContainer *container);

Определяет горизонтальную регулировку для контейнера. Смотрите gtk_container_set_focus_hadjustment().

container :

GtkContainer

Возвращает :

Горизонтальная регулировка фокуса, или NULL если не установлена.


gtk_container_set_focus_hadjustment ()

void        gtk_container_set_focus_hadjustment
                                            (GtkContainer *container,
                                             GtkAdjustment *adjustment);

Устанавливает регулятор для обработки фокуса в контейнере, таким образом когда дочерний виджет контейнера находится в фокусе, регулятор прокручивается для отображения этого виджета. Эта функция устанавливает вертикальное выравнивание. Смотрите gtk_scrolled_window_get_hadjustment() для обычного способа определения регулировки и gtk_container_set_focus_vadjustment() для установки горизонтальной регулировки.

Регулировки должны быть в пикселах и в той же самой координатной системе в которой распределены непосредственно дочерние виджеты контейнера.

container :

GtkContainer

adjustment :

Регулировки которые должны быть откорректированы при перемещении фокуса между дочерними виджетами container


gtk_container_resize_children ()

void        gtk_container_resize_children   (GtkContainer *container);

container :


gtk_container_child_type ()

GType       gtk_container_child_type        (GtkContainer *container);

Возвращает тип дочерних виджетов поддерживаемых контейнером.

Помните, она может вернуть G_TYPE_NONE указывающий что нельзя больше добавить дочерние виджеты, например для GtkPaned который уже имеет два дочерних виджета.

container :

GtkContainer.

Возвращает :

GType.


gtk_container_child_get ()

void        gtk_container_child_get         (GtkContainer *container,
                                             GtkWidget *child,
                                             const gchar *first_prop_name,
                                             ...);

Определяет значение одного или более дочерних свойств для child и container.

container :

GtkContainer

child :

Дочерний виджет для container

first_prop_name :

Имя первого свойства для определения

... :

NULL-завершённый список имен свойств и GValue*, начиная с first_prop_name.


gtk_container_child_set ()

void        gtk_container_child_set         (GtkContainer *container,
                                             GtkWidget *child,
                                             const gchar *first_prop_name,
                                             ...);

Устанавливает одно или больше дочерних свойств для child и container.

container :

GtkContainer

child :

Дочерний виджет для container

first_prop_name :

Имя первого свойства для установки

... :

NULL-завершённый список имен свойств и значений, начиная с first_prop_name.


gtk_container_child_get_property ()

void        gtk_container_child_get_property
                                            (GtkContainer *container,
                                             GtkWidget *child,
                                             const gchar *property_name,
                                             GValue *value);

Определяет значение дочернего свойства для child и container.

container :

GtkContainer

child :

Дочерний виджет для container

property_name :

Имя определяемого свойства

value :

Определяемое значение


gtk_container_child_set_property ()

void        gtk_container_child_set_property
                                            (GtkContainer *container,
                                             GtkWidget *child,
                                             const gchar *property_name,
                                             const GValue *value);

Устанавливает дочернее свойство для child и container.

container :

GtkContainer

child :

Дочерний виджет для container

property_name :

Имя устанавливаемого свойства

value :

Значение устанавливаемого свойства


gtk_container_child_get_valist ()

void        gtk_container_child_get_valist  (GtkContainer *container,
                                             GtkWidget *child,
                                             const gchar *first_property_name,
                                             va_list var_args);

Определяет значения одного или более дочерних свойств для child и container.

container :

GtkContainer

child :

Дочерний виджет для container

first_property_name :

Имя первого определяемого свойства

var_args :

NULL-завершённый список имен свойств и GValue*, начиная с first_prop_name.


gtk_container_child_set_valist ()

void        gtk_container_child_set_valist  (GtkContainer *container,
                                             GtkWidget *child,
                                             const gchar *first_property_name,
                                             va_list var_args);

Устанавливает одно или более дочерние свойства для child и container.

container :

GtkContainer

child :

Дочерний виджет для container

first_property_name :

Имя первого устанавливаемого свойства

var_args :

NULL-завершённый список имен свойств и значений, начиная с first_prop_name.


gtk_container_forall ()

void        gtk_container_forall            (GtkContainer *container,
                                             GtkCallback callback,
                                             gpointer callback_data);

Вызывает callback на каждом дочернем виджете контейнера container, включая дочерние виджеты которые считаются внутренними "internal" (реализуют детали контейнера). "Внутренние" дочерние виджеты обычно не добавляются пользователем контейнера, а добавляются непосредственно при реализации контейнера. Большинство приложений должны использовать gtk_container_foreach(), а не gtk_container_forall().

container :

GtkContainer

callback :

callback-функция

callback_data :

Данные используемые callback-функцией


gtk_container_get_border_width ()

guint       gtk_container_get_border_width  (GtkContainer *container);

Определяет ширину окантовки контейнера. Смотрите gtk_container_set_border_width().

container :

GtkContainer

Возвращает :

Текущая ширина окантовки


gtk_container_set_border_width ()

void        gtk_container_set_border_width  (GtkContainer *container,
                                             guint border_width);

Устанавливает ширину окантовки контейнера.

Ширина окантовки это количество пространства находящегося снаружи контейнера. Единственное исключение это GtkWindow; потому что окно верхнего уровня не может иметь внешнего пространства, оно предоставляет внутреннее пространство. Окантовка добавляется со всех сторон контейнера. Для добавления только с одной стороны, один из способов состоит в том чтобы создать виджет GtkAlignment, вызвав gtk_widget_set_usize() для получения его размера, и поместить его со стороны контейнера как интервал.

container :

GtkContainer

border_width :

Количество свободного пространства с внешних сторон контейнера. Допустимыми значениями является диапазон от 0 до 65535 пикселей.


gtk_container_propagate_expose ()

void        gtk_container_propagate_expose  (GtkContainer *container,
                                             GtkWidget *child,
                                             GdkEventExpose *event);

Когда контейнер получает событие экспозиции, он должен послать искусственное событие экспозиции для всех дочерних виджетов не имеющих собственного GdkWindows. Эта функция обеспечивает удобный способ выполнения этой задачи. Контейнер получивший экспонирующее событие, вызывает gtk_container_propagate_expose() один раз для каждого дочернего виджета, передовая событие полученное контейнером.

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

В большинстве случаев, контейнер может просто унаследовать реализацию ::expose из GtkContainer, или, выполнить некоторое отображение, а затем реализовать цепочку ::expose из GtkContainer.

container :

GtkContainer

child :

Дочерний виджет контейнера container

event :

Экспонирующее событие отправляемое контейнеру


gtk_container_get_focus_chain ()

gboolean    gtk_container_get_focus_chain   (GtkContainer *container,
                                             GList **focusable_widgets);

Определяет сфокусированную цепочку контейнера, если была установлена явно. Если нет явно установленной, сфокусированной цепочки, GTK+ рассчитает сфокусированную цепочку основываясь на позиции дочерних виджетов. В этом случае, GTK+ сохраняет NULL в параметре focusable_widgets и возвращает FALSE.

container :

GtkContainer

focusable_widgets :

Сфокусированная цепочка контейнера, или NULL. Вы должны освободить этот список используя g_list_free() после выполнения этой функции, но не дополнительные ссылки для индивидуальных виджетов в сфокусированной цепочке.

Возвращает :

TRUE если сфокусированная цепочка контейнера была установлена явно.


gtk_container_set_focus_chain ()

void        gtk_container_set_focus_chain   (GtkContainer *container,
                                             GList *focusable_widgets);

Устанавливает сфокусированную цепочку, переписывая рассчитанную автоматически GTK+.

В принципе каждый виджет в цепочке должен быть потомком контейнера, но не вынуждается этим методом, так как позволяет установить сфокусированную цепочку перед упаковкой виджетов, или имеет виджеты в цепочке которая не всегда упакована. Необходимая проверка выполняется при фактическом пересечении сфокусированной цепочки.

container :

GtkContainer.

focusable_widgets :

Новая сфокусированная цепочка.


gtk_container_unset_focus_chain ()

void        gtk_container_unset_focus_chain (GtkContainer *container);

Удаляет сфокусированную цепочку явно установленную с помощью gtk_container_set_focus_chain().

container :

GtkContainer.


gtk_container_class_find_child_property ()

GParamSpec* gtk_container_class_find_child_property
                                            (GObjectClass *cclass,
                                             const gchar *property_name);

Находит дочернее свойство контейнерного класса по имени.

cclass :

GtkContainerClass

property_name :

Имя дочернего свойства для поиска

Возвращает :

GParamSpec дочернего свойства или NULL если class не имеет дочернего свойства с таким именем.


gtk_container_class_install_child_property ()

void        gtk_container_class_install_child_property
                                            (GtkContainerClass *cclass,
                                             guint property_id,
                                             GParamSpec *pspec);

Устанавливает дочернее свойство в контейнерный класс.

cclass :

GtkContainerClass

property_id :

id для свойства

pspec :

GParamSpec для свойства


gtk_container_class_list_child_properties ()

GParamSpec** gtk_container_class_list_child_properties
                                            (GObjectClass *cclass,
                                             guint *n_properties);

Определяет все дочерние свойства контейнерного класса.

cclass :

GtkContainerClass

n_properties :

Количество найденных дочерних свойств

Возвращает :

Массив GParamSpec*. Массив должен освобождаться с помощью g_free().

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

Свойство "border-width"

  "border-width"         guint                 : Read / Write

Ширина промежутка с внешней стороны контейнера.

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

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


Свойство "child"

  "child"                GtkWidget             : Write

Может использоваться для добавления нового дочернего виджета в контейнер.


Свойство "resize-mode"

  "resize-mode"          GtkResizeMode         : Read / Write

Определяет как обрабатывать событие изменения размера.

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

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

Сигнал "add"

void        user_function                  (GtkContainer *container,
                                            GtkWidget    *widget,
                                            gpointer      user_data)      : Run first

container :

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

widget :

user_data :

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


Сигнал "check-resize"

void        user_function                  (GtkContainer *container,
                                            gpointer      user_data)      : Run last

container :

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

user_data :

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


Сигнал "remove"

void        user_function                  (GtkContainer *container,
                                            GtkWidget    *widget,
                                            gpointer      user_data)      : Run first

container :

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

widget :

user_data :

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


Сигнал "set-focus-child"

void        user_function                  (GtkContainer *container,
                                            GtkWidget    *widget,
                                            gpointer      user_data)      : Run first

container :

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

widget :

user_data :

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






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

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