GTK+ Reference Manual |
||||
---|---|---|---|---|
Top | Description | Object Hierarchy | Properties | Child Properties | Signals |
GtkLayoutGtkLayout Безграничная прокручиваемая область, содержащая дочерние виджеты или/и пользовательский рисунок |
#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, так как вы должны делать для области рисования.
typedef struct {
GdkWindow *bin_window;
} GtkLayout;
GtkWidget* gtk_layout_new (GtkAdjustment *hadjustment,
GtkAdjustment *vadjustment);
Создаёт новый GtkLayout. Если вы не имеете определённых настроек, а хотите макет использовать для прокрутки, поместите NULL для hadjustment и vadjustment.
hadjustment : |
Горизонтальная регулировка прокручивания, или NULL |
vadjustment : |
Вертикальная регулировка прокручивания, или NULL |
Возвращает : |
новый GtkLayout |
void gtk_layout_put (GtkLayout *layout,
GtkWidget *child_widget,
gint x,
gint y);
Добавляет child_widget для layout, в позиции (x,y). layout становится новым родительским контейнером для child_widget.
layout : |
|
child_widget : |
Дочерний виджет |
x : |
X позиция дочернего виджета |
y : |
Y позиция дочернего виджета |
void gtk_layout_move (GtkLayout *layout,
GtkWidget *child_widget,
gint x,
gint y);
Перемещает текущий дочерний виджет для layout в новую позицию.
layout : |
|
child_widget : |
Текущий дочерний виджет для layout |
x : |
X позиция для перемещения |
y : |
Y позиция для перемещения |
void gtk_layout_set_size (GtkLayout *layout,
guint width,
guint height);
Устанавливает размер прокручиваемой области для размещения.
layout : |
|
width : |
Ширина всей прокручиваемой области |
height : |
Высота всей прокручиваемой области |
void gtk_layout_get_size (GtkLayout *layout,
guint *width,
guint *height);
Получает размер установленный для размещения, и определяет полную протяжённость размещаемой прокручиваемой области. Смотрите gtk_layout_set_size().
layout : |
|
width : |
Размещение сохранения ширины установленной для layout, или NULL |
height : |
Размещение сохранения высоты установленной для layout, или NULL |
void gtk_layout_freeze (GtkLayout *layout);Внимание
gtk_layout_freeze устарела и не должна использоваться во вновь создаваемом коде.
Эта функция устарела, и не имеет никакой пользы.
layout : |
void gtk_layout_thaw (GtkLayout *layout);Внимание
gtk_layout_thaw устарела и не должна использоваться во вновь создаваемом коде.
Эта функция устарела, и не имеет никакой пользы.
layout : |
GtkAdjustment* gtk_layout_get_hadjustment (GtkLayout *layout);Эту функцию нужно вызывать только после помещения области расположения в GtkScrolledWindow или иначе сконфигурировать для прокрутки. Она возвращает GtkAdjustment используемый для взаимодействия между горизонтальной полосой прокрутки и layout.
Смотрите GtkScrolledWindow, GtkScrollbar, GtkAdjustment для деталей.
layout : |
|
Возвращает : |
Горизонтальная регулировка прокрутки |
GtkAdjustment* gtk_layout_get_vadjustment (GtkLayout *layout);Эту функцию нужно вызывать только после помещения области расположения в GtkScrolledWindow или иначе сконфигурировать для прокрутки. Она возвращает GtkAdjustment используемый для взаимодействия между вертикальной полосой прокрутки и layout.
Смотрите GtkScrolledWindow, GtkScrollbar, GtkAdjustment для деталей.
layout : |
|
Возвращает : |
Вертикальная регулировка прокрутки |
void gtk_layout_set_hadjustment (GtkLayout *layout,
GtkAdjustment *adjustment);
Устанавливает горизонтальный регулятор прокручивания для области размещения.
Смотрите GtkScrolledWindow, GtkScrollbar, GtkAdjustment для деталей.
layout : |
|
adjustment : |
новый регулятор прокручивания |
void gtk_layout_set_vadjustment (GtkLayout *layout,
GtkAdjustment *adjustment);
Устанавливает вертикальный регулятор прокручивания для области размещения.
Смотрите GtkScrolledWindow, GtkScrollbar, GtkAdjustment для деталей.
layout : |
|
adjustment : |
новый регулятор прокручивания |
"hadjustment" GtkAdjustment : Read / WriteGtkAdjustment для горизонтальной позиции.
Свойство "height"
"height" guint : Read / WriteВысота размещения.
Допустимые значения: <= G_MAXINT
Значение по умолчанию: 100
Свойство "vadjustment"
"vadjustment" GtkAdjustment : Read / WriteGtkAdjustment для вертикальной позиции.
Свойство "width"
"width" guint : Read / WriteШирина размещения.
Допустимые значения: <= G_MAXINT
Значение по умолчанию: 100
Детали дочерних свойств
Дочерние свойство "x"
"x" gint : Read / WriteX позиция дочернего виджета.
Значение по умолчанию: 0
Дочерние свойство "y"
"y" gint : Read / WriteY позиция дочернего виджета.
Значение по умолчанию: 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