Prev

Up

Home

GTK+ Reference Manual

Next

Top  |  Description  |  Object Hierarchy  |  Properties  |  Child Properties  |  Signals

GtkLayout

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

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

#include <gtk/gtk.h> GtkLayout; GtkWidget* gtk_layout_new (GtkAdjustment *hadjustment, GtkAdjustment *vadjustment); void gtk_layout_put (GtkLayout *layout, GtkWidget *child_widget, gint x, gint y); void gtk_layout_move (GtkLayout *layout, GtkWidget *child_widget, gint x, gint y); void gtk_layout_set_size (GtkLayout *layout, guint width, guint height); void gtk_layout_get_size (GtkLayout *layout, guint *width, guint *height); void gtk_layout_freeze (GtkLayout *layout); void gtk_layout_thaw (GtkLayout *layout); GtkAdjustment* gtk_layout_get_hadjustment (GtkLayout *layout); GtkAdjustment* gtk_layout_get_vadjustment (GtkLayout *layout); void gtk_layout_set_hadjustment (GtkLayout *layout, GtkAdjustment *adjustment); void gtk_layout_set_vadjustment (GtkLayout *layout, GtkAdjustment *adjustment);

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

GObject +----GInitiallyUnowned +----GtkObject +----GtkWidget +----GtkContainer +----GtkLayout

Осуществляемые интерфейсы

GtkLayout осуществляет AtkImplementorIface.

Свойства

"hadjustment" GtkAdjustment : Read / Write "height" guint : Read / Write "vadjustment" GtkAdjustment : Read / Write "width" guint : Read / Write

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

"x" gint : Read / Write "y" gint : Read / Write

Сигналы

"set-scroll-adjustments" void user_function (GtkLayout *layout, GtkAdjustment *arg1, GtkAdjustment *arg2, gpointer user_data) : Run last / Action

Описание

GtkLayout подобен GtkDrawingArea в котором он "blank slate" и ничего не делает, а создаёт пустой фон по умолчанию. Он отличается изначальной поддержкой прокрутки (вы можете добавить его для GtkScrolledWindow), и он может содержать дочерние виджеты, так как является GtkContainer. Однако если вы просто рисуете, GtkDrawingArea является лучшим выбором, так как он имеет меньше накладных расходов.

Когда обрабатывается выставленные сигналы на GtkLayout, вы должны нарисовать GTK_LAYOUT (layout)->bin_window, а не GTK_WIDGET (layout)->window, так как вы должны делать для области рисования.

Детали

GtkLayout

typedef struct { GdkWindow *bin_window; } GtkLayout;

gtk_layout_new ()

GtkWidget* gtk_layout_new (GtkAdjustment *hadjustment, GtkAdjustment *vadjustment);

Создаёт новый GtkLayout. Если вы не имеете определённых настроек, а хотите макет использовать для прокрутки, поместите NULL для hadjustment и vadjustment.

hadjustment :

Горизонтальная регулировка прокручивания, или NULL

vadjustment :

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

Возвращает :

новый GtkLayout


gtk_layout_put ()

void gtk_layout_put (GtkLayout *layout, GtkWidget *child_widget, gint x, gint y);

Добавляет child_widget для layout, в позиции (x,y). layout становится новым родительским контейнером для child_widget.

layout :

GtkLayout

child_widget :

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

x :

X позиция дочернего виджета

y :

Y позиция дочернего виджета


gtk_layout_move ()

void gtk_layout_move (GtkLayout *layout, GtkWidget *child_widget, gint x, gint y);

Перемещает текущий дочерний виджет для layout в новую позицию.

layout :

GtkLayout

child_widget :

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

x :

X позиция для перемещения

y :

Y позиция для перемещения


gtk_layout_set_size ()

void gtk_layout_set_size (GtkLayout *layout, guint width, guint height);

Устанавливает размер прокручиваемой области для размещения.

layout :

GtkLayout

width :

Ширина всей прокручиваемой области

height :

Высота всей прокручиваемой области


gtk_layout_get_size ()

void gtk_layout_get_size (GtkLayout *layout, guint *width, guint *height);

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

layout :

GtkLayout

width :

Размещение сохранения ширины установленной для layout, или NULL

height :

Размещение сохранения высоты установленной для layout, или NULL


gtk_layout_freeze ()

void        gtk_layout_freeze               (GtkLayout *layout);

Внимание

gtk_layout_freeze устарела и не должна использоваться во вновь создаваемом коде.

Эта функция устарела, и не имеет никакой пользы.

layout :

GtkLayout


gtk_layout_thaw ()

void        gtk_layout_thaw                 (GtkLayout *layout);

Внимание

gtk_layout_thaw устарела и не должна использоваться во вновь создаваемом коде.

Эта функция устарела, и не имеет никакой пользы.

layout :

GtkLayout


gtk_layout_get_hadjustment ()

GtkAdjustment* gtk_layout_get_hadjustment   (GtkLayout *layout);

Эту функцию нужно вызывать только после помещения области расположения в GtkScrolledWindow или иначе сконфигурировать для прокрутки. Она возвращает GtkAdjustment используемый для взаимодействия между горизонтальной полосой прокрутки и layout.

Смотрите GtkScrolledWindow, GtkScrollbar, GtkAdjustment для деталей.

layout :

GtkLayout

Возвращает :

Горизонтальная регулировка прокрутки


gtk_layout_get_vadjustment ()

GtkAdjustment* gtk_layout_get_vadjustment   (GtkLayout *layout);

Эту функцию нужно вызывать только после помещения области расположения в GtkScrolledWindow или иначе сконфигурировать для прокрутки. Она возвращает GtkAdjustment используемый для взаимодействия между вертикальной полосой прокрутки и layout.

Смотрите GtkScrolledWindow, GtkScrollbar, GtkAdjustment для деталей.

layout :

GtkLayout

Возвращает :

Вертикальная регулировка прокрутки


gtk_layout_set_hadjustment ()

void gtk_layout_set_hadjustment (GtkLayout *layout, GtkAdjustment *adjustment);

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

Смотрите GtkScrolledWindow, GtkScrollbar, GtkAdjustment для деталей.

layout :

GtkLayout

adjustment :

новый регулятор прокручивания


gtk_layout_set_vadjustment ()

void gtk_layout_set_vadjustment (GtkLayout *layout, GtkAdjustment *adjustment);

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

Смотрите GtkScrolledWindow, GtkScrollbar, GtkAdjustment для деталей.

layout :

GtkLayout

adjustment :

новый регулятор прокручивания

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

Свойство "hadjustment"

  "hadjustment"          GtkAdjustment         : Read / Write

GtkAdjustment для горизонтальной позиции.


Свойство "height"

  "height"               guint                 : Read / Write

Высота размещения.

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

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


Свойство "vadjustment"

  "vadjustment"          GtkAdjustment         : Read / Write

GtkAdjustment для вертикальной позиции.


Свойство "width"

  "width"                guint                 : Read / Write

Ширина размещения.

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

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

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

Дочерние свойство "x"

  "x"                    gint                  : Read / Write

X позиция дочернего виджета.

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


Дочерние свойство "y"

  "y"                    gint                  : Read / Write

Y позиция дочернего виджета.

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

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

Сигнал "set-scroll-adjustments"

void user_function (GtkLayout *layout, GtkAdjustment *arg1, GtkAdjustment *arg2, gpointer user_data) : Run last / Action

layout :

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

arg1 :

arg2 :

user_data :

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

Смотрите также

GtkDrawingArea, GtkScrolledWindow