GTK+ Reference Manual |
||||
---|---|---|---|---|
Top | Description | Object Hierarchy | Implemented Interfaces | Properties | Signals |
GtkHandleBoxGtkHandleBox Виджет для перемещения частей окна |
#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
.
typedef struct _GtkHandleBox GtkHandleBox;
Структура GtkHandleBox
содержит следующие поля. (Эти поля должны
рассматриваться только для чтения. Они
никогда не должны устанавливаться
приложением.)
GtkShadowType shadow_type; |
Тип тени для ввода. (Смотрите
|
GtkPositionType handle_position; |
Позиция маркера handlebox's относительно
дочернего виджета. (Смотрите
|
gint snap_edge; |
Значение типа GtkPosition указывающее границу выравнивания виджета. (Смотрите gtk_handle_box_set_snap_edge). Значение -1 указывает что данное значение не установлено. |
gboolean child_detached; |
Логическое значение указывающее откреплен или прикреплен дочерний виджет handlebox's. |
GtkWidget* gtk_handle_box_new (void);Создаёт новый контейнер обработки.
Возвращает : |
новый GtkHandleBox. |
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);
Устанавливает границу выравнивания handlebox. Граница выравнивания- это граница отсоединяемого дочернего виджета который должен быть выравнен с соответствующего края оставленного позади "ghost" когда дочерний виджет отсоединяется, для повторного прикрепления к окну. Обычно, граница выравнивания должна быть выбрана так, чтобы остаться в том же самом месте экрана где handlebox отсоединён.
Если граница выравнивания
не установлена, то соответствующие
значения предполагаются от позиции
маркера. Если позиция маркера GTK_POS_RIGHT
или GTK_POS_LEFT
,
то когда позиция границы выравнивания
GTK_POS_TOP
,
иначе она будет GTK_POS_LEFT
.
|
|
|
Граница выравнивания, или -1 для сброса значения; в этом случае GTK+ попытается предположить значение в будещем. |
GtkPositionType gtk_handle_box_get_handle_position
(GtkHandleBox *handle_box);
Определяет позицию маркера в
контейнере обработки. Смотрите
gtk_handle_box_set_handle_position()
.
|
|
Возвращает : |
Текущая позиция маркера. |
GtkShadowType gtk_handle_box_get_shadow_type
(GtkHandleBox *handle_box);
Определяет тип тени изображаемой
вокруг границ контейнера обработки.
Смотрите gtk_handle_box_set_shadow_type()
.
|
|
Возвращает : |
Тип тени изображаемой в текущий момент вокруг границ контейнера. |
GtkPositionType gtk_handle_box_get_snap_edge
(GtkHandleBox *handle_box);
Определяет границу контейнера
обработки для прикрепления. Смотрите
gtk_handle_box_set_snap_edge()
.
|
|
Возвращает : |
Граница используемая для прикрепления, или (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. (этот параметр не обеспечивает дополнительной информации, он используется только для обратной совместимости) |
|
Данные устанавливаемые при подключении обработчика сигнала. |
void user_function (GtkHandleBox *handlebox,
GtkWidget *widget,
gpointer user_data) : Run first
Этот сигнал издаётся когда содержимое handlebox откреплено от основного окна.
|
Объект получающий сигнал. |
|
Дочерний виджет handlebox. (этот параметр не обеспечивает дополнительной информации, он используется только для обратной совместимости) |
|
Данные устанавливаемые при подключении обработчика сигнала. |