Prev

Up

Home

GTK+ Reference Manual

Next

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

GtkHandleBox

GtkHandleBox Виджет для перемещения частей окна

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

#include <gtk/gtk.h> GtkHandleBox; GtkWidget* gtk_handle_box_new (void); void gtk_handle_box_set_shadow_type (GtkHandleBox *handle_box, GtkShadowType type); void gtk_handle_box_set_handle_position (GtkHandleBox *handle_box, GtkPositionType position); void gtk_handle_box_set_snap_edge (GtkHandleBox *handle_box, GtkPositionType edge); GtkPositionType gtk_handle_box_get_handle_position (GtkHandleBox *handle_box); GtkShadowType gtk_handle_box_get_shadow_type (GtkHandleBox *handle_box); GtkPositionType gtk_handle_box_get_snap_edge (GtkHandleBox *handle_box);

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

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

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

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

Свойства

"handle-position" GtkPositionType : Read / Write "shadow" GtkShadowType : Read / Write "shadow-type" GtkShadowType : Read / Write "snap-edge" GtkPositionType : Read / Write "snap-edge-set" gboolean : Read / Write

Сигналы

"child-attached" void user_function (GtkHandleBox *handlebox, GtkWidget *widget, gpointer user_data) : Run first "child-detached" void user_function (GtkHandleBox *handlebox, GtkWidget *widget, gpointer user_data) : Run first

Описание

Виджет GtkHandleBox позволяет отсоединять части окна "torn off". Это контейнер с отображаемым дочерним виджетом который пользователь может перетащить отцепив от отдельного окна (плавающее окно) содержащего дочерний виджет. Например вы можете отцепить меню и перетащить в удобное для вас место, а затем вернуть его на прежнее.

Основное окно и перемещаемое окно должны выравниваться по одному из краёв, граница выравнивания (snap edge). Это определяется непосредственно программистом приложения, или GTK+ выберет разумное значение по умолчанию для позиции маркера (область для захвата при перемещении).

Для выполнения отсоединения и прикрепления обратно handlebox максимально минимизирует неудобства пользователя, важно установить границу выравнивания неподвижно при отсоединении handlebox. Например, если handlebox упакован в нижний VBox, то при отсоединении handlebox, нижняя граница расположения handlebox's зафиксируется, так как высота handlebox сожмётся, поэтому граница выравнивания должна быть установлена в значение GTK_POS_BOTTOM.

Детали

GtkHandleBox

typedef struct _GtkHandleBox GtkHandleBox;

Структура GtkHandleBox содержит следующие поля. (Эти поля должны рассматриваться только для чтения. Они никогда не должны устанавливаться приложением.)

GtkShadowType shadow_type;

Тип тени для ввода. (Смотрите gtk_handle_box_set_shadow_type()).

GtkPositionType handle_position;

Позиция маркера handlebox's относительно дочернего виджета. (Смотрите gtk_handle_box_set_handle_position())

gint snap_edge;

Значение типа GtkPosition указывающее границу выравнивания виджета. (Смотрите gtk_handle_box_set_snap_edge). Значение -1 указывает что данное значение не установлено.

gboolean child_detached;

Логическое значение указывающее откреплен или прикреплен дочерний виджет handlebox's.


gtk_handle_box_new ()

GtkWidget*  gtk_handle_box_new              (void);

Создаёт новый контейнер обработки.

Возвращает :

новый GtkHandleBox.


gtk_handle_box_set_shadow_type ()

void gtk_handle_box_set_shadow_type (GtkHandleBox *handle_box, GtkShadowType type);

Устанавливает тип тени изображаемой вокруг границ контейнера обработки.

handle_box :

GtkHandleBox

type :

Тип тени.


gtk_handle_box_set_handle_position ()

void gtk_handle_box_set_handle_position (GtkHandleBox *handle_box, GtkPositionType position);

Устанавливает сторону с которой рисуется маркер (место захвата виджета при перетаскивании).

handle_box :

GtkHandleBox

position :

Сторона с которой должен рисоваться маркер.


gtk_handle_box_set_snap_edge ()

void gtk_handle_box_set_snap_edge (GtkHandleBox *handle_box, GtkPositionType edge);

Устанавливает границу выравнивания handlebox. Граница выравнивания- это граница отсоединяемого дочернего виджета который должен быть выравнен с соответствующего края оставленного позади "ghost" когда дочерний виджет отсоединяется, для повторного прикрепления к окну. Обычно, граница выравнивания должна быть выбрана так, чтобы остаться в том же самом месте экрана где handlebox отсоединён.

Если граница выравнивания не установлена, то соответствующие значения предполагаются от позиции маркера. Если позиция маркера GTK_POS_RIGHT или GTK_POS_LEFT, то когда позиция границы выравнивания GTK_POS_TOP, иначе она будет GTK_POS_LEFT.

handle_box :

GtkHandleBox

edge :

Граница выравнивания, или -1 для сброса значения; в этом случае GTK+ попытается предположить значение в будещем.


gtk_handle_box_get_handle_position ()

GtkPositionType gtk_handle_box_get_handle_position (GtkHandleBox *handle_box);

Определяет позицию маркера в контейнере обработки. Смотрите gtk_handle_box_set_handle_position().

handle_box :

GtkHandleBox

Возвращает :

Текущая позиция маркера.


gtk_handle_box_get_shadow_type ()

GtkShadowType gtk_handle_box_get_shadow_type (GtkHandleBox *handle_box);

Определяет тип тени изображаемой вокруг границ контейнера обработки. Смотрите gtk_handle_box_set_shadow_type().

handle_box :

GtkHandleBox

Возвращает :

Тип тени изображаемой в текущий момент вокруг границ контейнера.


gtk_handle_box_get_snap_edge ()

GtkPositionType gtk_handle_box_get_snap_edge (GtkHandleBox *handle_box);

Определяет границу контейнера обработки для прикрепления. Смотрите gtk_handle_box_set_snap_edge().

handle_box :

GtkHandleBox

Возвращает :

Граница используемая для прикрепления, или (GtkPositionType)-1 если она определяется (значение по умолчанию) из позиции маркера.

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

Свойство "handle-position"

  "handle-position"      GtkPositionType       : Read / Write

Позиция маркера относительно дочернего виджета.

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


Свойство "shadow"

  "shadow"               GtkShadowType         : Read / Write

Устаревшее свойство, вместо него используйте shadow_type.

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


Свойство "shadow-type"

  "shadow-type"          GtkShadowType         : Read / Write

Появление тени вокруг контейнера.

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


Свойство "snap-edge"

  "snap-edge"            GtkPositionType       : Read / Write

Сторона handlebox для закрепления.

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


Свойство "snap-edge-set"

  "snap-edge-set"        gboolean              : Read / Write

Ииспользовать значение свойства snap_edge или handle_position.

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

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

Сигнал "child-attached"

void user_function (GtkHandleBox *handlebox, GtkWidget *widget, gpointer user_data) : Run first

Этот сигнал издаётся когда содержимое handlebox прикреплено к основному окну.

handlebox :

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

widget :

Дочерний виджет handlebox. (этот параметр не обеспечивает дополнительной информации, он используется только для обратной совместимости)

user_data :

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


Сигнал "child-detached"

void user_function (GtkHandleBox *handlebox, GtkWidget *widget, gpointer user_data) : Run first

Этот сигнал издаётся когда содержимое handlebox откреплено от основного окна.

handlebox :

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

widget :

Дочерний виджет handlebox. (этот параметр не обеспечивает дополнительной информации, он используется только для обратной совместимости)

user_data :

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