The OpenNET Project / Index page

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

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

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




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

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