The OpenNET Project / Index page

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

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

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 :

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






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

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