The OpenNET Project / Index page

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

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

Prev

Up

Home

GTK+ Reference Manual

Next

Top  |  Description  |  Object Hierarchy  |  Properties  |  Child Properties

GtkTable

GtkTable Табличная упаковка виджетов

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

#include <gtk/gtk.h>


            GtkTable;
            GtkTableChild;
            GtkTableRowCol;

GtkWidget*  gtk_table_new                   (guint rows,
                                             guint columns,
                                             gboolean homogeneous);
void        gtk_table_resize                (GtkTable *table,
                                             guint rows,
                                             guint columns);
void        gtk_table_attach                (GtkTable *table,
                                             GtkWidget *child,
                                             guint left_attach,
                                             guint right_attach,
                                             guint top_attach,
                                             guint bottom_attach,
                                             GtkAttachOptions xoptions,
                                             GtkAttachOptions yoptions,
                                             guint xpadding,
                                             guint ypadding);
void        gtk_table_attach_defaults       (GtkTable *table,
                                             GtkWidget *widget,
                                             guint left_attach,
                                             guint right_attach,
                                             guint top_attach,
                                             guint bottom_attach);
void        gtk_table_set_row_spacing       (GtkTable *table,
                                             guint row,
                                             guint spacing);
void        gtk_table_set_col_spacing       (GtkTable *table,
                                             guint column,
                                             guint spacing);
void        gtk_table_set_row_spacings      (GtkTable *table,
                                             guint spacing);
void        gtk_table_set_col_spacings      (GtkTable *table,
                                             guint spacing);
void        gtk_table_set_homogeneous       (GtkTable *table,
                                             gboolean homogeneous);

guint       gtk_table_get_default_row_spacing
                                            (GtkTable *table);
gboolean    gtk_table_get_homogeneous       (GtkTable *table);

guint       gtk_table_get_row_spacing       (GtkTable *table,
                                             guint row);
guint       gtk_table_get_col_spacing       (GtkTable *table,
                                             guint column);

guint       gtk_table_get_default_col_spacing
                                            (GtkTable *table);

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

  GObject

   +----GInitiallyUnowned
         +----GtkObject
               +----GtkWidget
                     +----GtkContainer
                           +----GtkTable

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

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

Свойства

  "column-spacing"       guint                 : Read / Write
  "homogeneous"          gboolean              : Read / Write
  "n-columns"            guint                 : Read / Write
  "n-rows"               guint                 : Read / Write
  "row-spacing"          guint                 : Read / Write

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

  "bottom-attach"        guint                 : Read / Write
  "left-attach"          guint                 : Read / Write
  "right-attach"         guint                 : Read / Write
  "top-attach"           guint                 : Read / Write
  "x-options"            GtkAttachOptions      : Read / Write
  "x-padding"            guint                 : Read / Write
  "y-options"            GtkAttachOptions      : Read / Write
  "y-padding"            guint                 : Read / Write

Описание

Функции GtkTable позволяют программисту выстраивать виджеты в ряды и колонки, выравнивая виджеты друг за другом, горизонтально и вертикально.

Таблицы создаются вызовом функции gtk_table_new(), их размер может быть изменён позже с помощью функции gtk_table_resize().

Виджеты могут добавляться в таблицу с помощью gtk_table_attach(), или другой похожей (но менее гибкой) функции gtk_table_attach_defaults().

Для изменения промежутка перед определённой строкой, используйте gtk_table_set_row_spacing(), а для колонок, gtk_table_set_col_spacing().

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

gtk_table_set_homogeneous(), может использоваться для установки изменяемости ячеек таблицы к размеру большего виджета в таблице.

Детали

GtkTable

typedef struct _GtkTable GtkTable;

Структура GtkTable содержит данные для существующей таблицы непосредственно. children это GList всех виджетов таблицы. rows и columns являются указателями структуры GtkTableRowCol, которые содержат по умолчанию детали расстояния и пространства для GtkTable's строк и колонок, соответственно.

nrows и ncols целые 16bit значения хранящие количество строк и колонок в таблице.


GtkTableChild

typedef struct {
  GtkWidget *widget;
  guint16 left_attach;
  guint16 right_attach;
  guint16 top_attach;
  guint16 bottom_attach;
  guint16 xpadding;
  guint16 ypadding;
  guint xexpand : 1;
  guint yexpand : 1;
  guint xshrink : 1;
  guint yshrink : 1;
  guint xfill : 1;
  guint yfill : 1;
} GtkTableChild;

Поле widget это указатель на виджет которому принадлежит эта структура GtkTableChild. Поля left_attach, right_attach, top_attach, и bottom_attach определяют номера строк и колонок которые создают невидимый прямоугольник в который упаковывается виджет.

xpadding и ypadding определяет пространство между этим виджетом и окружающей ячейки таблицы.


GtkTableRowCol

typedef struct {
  guint16 requisition;
  guint16 allocation;
  guint16 spacing;
  guint need_expand : 1;
  guint need_shrink : 1;
  guint expand : 1;
  guint shrink : 1;
  guint empty : 1;
} GtkTableRowCol;

Эти поля должны рассматриваться только для чтения и не должны изменяться непосредственно.


gtk_table_new ()

GtkWidget*  gtk_table_new                   (guint rows,
                                             guint columns,
                                             gboolean homogeneous);

Используется для создания нового табличного виджета. Начальный размер можно задать определяя сколько строк и столбцов в таблице должно быть, хотя позже это можно изменить с помощью gtk_table_resize(). rows и columns должны оба быть в пределах 0 .. 65535.

rows :

Количество строк в новой таблице.

columns :

Количество столбцов в новой таблице.

homogeneous :

Если установлено TRUE, все ячейки таблицы будут подогнаны под размер наибольшего виджета.

Возвращает :

Указатель на вновь созданный виджет таблицу.


gtk_table_resize ()

void        gtk_table_resize                (GtkTable *table,
                                             guint rows,
                                             guint columns);

Если вам нужно изменить размер таблицы после её создания, эта функция позволит вам сделать это.

table :

GtkTable которой вы меняете размер.

rows :

Новое число строк

columns :

Новое число столбцов.


gtk_table_attach ()

void        gtk_table_attach                (GtkTable *table,
                                             GtkWidget *child,
                                             guint left_attach,
                                             guint right_attach,
                                             guint top_attach,
                                             guint bottom_attach,
                                             GtkAttachOptions xoptions,
                                             GtkAttachOptions yoptions,
                                             guint xpadding,
                                             guint ypadding);

Добавляет виджет в таблицу. Число 'ячеек' которые займет виджет определяется с помощью left_attach, right_attach, top_attach и bottom_attach. Каждое представляет крайний левый, крайний правый, высший и низший номера столбцов и строк в таблице. (индексируются начиная с нуля).

table :

GtkTable в которую добавляется новый виджет.

child :

Добавляемый виджет.

left_attach :

Номер столбца к которому слева прикрепляется дочерний виджет.

right_attach :

Номер столбца к которому справа прикрепляется дочерний виджет.

top_attach :

Номер строки к которой сверху прикрепляется дочерний виджет.

bottom_attach :

Номер строки к основанию которой прикрепляется дочерний виджет.

xoptions :

Используется для определения свойств дочернего виджета при изменении размера таблицы.

yoptions :

Тоже что и xoptions, кроме поля определяющего поведение размера п овертикали.

xpadding :

Целое значение определяющее дополнение справа и слева при добавлении виджета в таблицу.

ypadding :

Количество дополнения сверху и снизу виджета.


gtk_table_attach_defaults ()

void        gtk_table_attach_defaults       (GtkTable *table,
                                             GtkWidget *widget,
                                             guint left_attach,
                                             guint right_attach,
                                             guint top_attach,
                                             guint bottom_attach);

Так же как существует много опций связанных с gtk_table_attach(), эта функция удобства обеспечивает программиста средствами добавления дочернего виджета к таблице с идентичными опциями дополнений и расширений. Значения используемые для GtkAttachOptions - GTK_EXPAND | GTK_FILL и дополнение устанавливаются в 0.

table :

Таблица к которой добавляется виджет.

widget :

Добавляемый дочерний виджет.

left_attach :

Номер столбца к которому прикрепляется дочерний виджет с левой стороны.

right_attach :

Номер столбца к которому прикрепляется дочерний виджет с правой стороны.

top_attach :

Номер строки к вершине которой прикрепляется дочерний виджет.

bottom_attach :

Номер строки в основание которой прикрепляется дочерний виджет.


gtk_table_set_row_spacing ()

void        gtk_table_set_row_spacing       (GtkTable *table,
                                             guint row,
                                             guint spacing);

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

table :

GtkTable содержащая строку свойство которой вы хотите изменить.

row :

Номер строки у которой изменяется свободное пространство.

spacing :

Число пикселей на которое должен быть увеличен интервал.


gtk_table_set_col_spacing ()

void        gtk_table_set_col_spacing       (GtkTable *table,
                                             guint column,
                                             guint spacing);

Изменяет свободное пространство между данным столбцом и находящимися рядом с ним.

table :

GtkTable.

column :

Столбец чей интервал должен быть изменён.

spacing :

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


gtk_table_set_row_spacings ()

void        gtk_table_set_row_spacings      (GtkTable *table,
                                             guint spacing);

Устанавливает интервал между всеми строками в table равный spacing.

table :

GtkTable.

spacing :

Число пикселей интервала устанавливаемого для всех строк таблицы.


gtk_table_set_col_spacings ()

void        gtk_table_set_col_spacings      (GtkTable *table,
                                             guint spacing);

Устанавливает интервал для всех столбцов в table равный spacing.

table :

GtkTable.

spacing :

Число пикселей интервала устанавливаемого для всех столбцов таблицы.


gtk_table_set_homogeneous ()

void        gtk_table_set_homogeneous       (GtkTable *table,
                                             gboolean homogeneous);

Изменяет однородное (homogenous) свойство ячеек таблицы, то есть равен размер всех ячеек или нет.

table :

GtkTable для которой устанавливается свойство однородности (homogeneous).

homogeneous :

Установленное TRUE означает, что все ячейки одного размера. FALSE если это нежелательно.


gtk_table_get_default_row_spacing ()

guint       gtk_table_get_default_row_spacing
                                            (GtkTable *table);

Получает значение по умолчанию интервала строк таблицы. Это интервал который будет использоваться для вновь добавляемых строк. (Смотрите gtk_table_set_row_spacings())

table :

GtkTable

Возвращает :

Значение: интервал строк по умолчанию


gtk_table_get_homogeneous ()

gboolean    gtk_table_get_homogeneous       (GtkTable *table);

Определяет однородны ячейки или нет. (Смотрите gtk_table_set_homogenous())

table :

GtkTable

Возвращает :

TRUE если ячейки однородны (имеют один размер)


gtk_table_get_row_spacing ()

guint       gtk_table_get_row_spacing       (GtkTable *table,
                                             guint row);

Получает интервал между строкой row и строкой row + 1. Смотрите gtk_table_set_row_spacing().

table :

GtkTable

row :

Строка в таблице, 0 сообщает о первой строке

Возвращает :

Строковый интервал


gtk_table_get_col_spacing ()

guint       gtk_table_get_col_spacing       (GtkTable *table,
                                             guint column);

Получает интервал между столбцом col и столбцом col + 1. Смотрите gtk_table_set_col_spacing().

table :

GtkTable

column :

Столбец в таблице, 0 сообщает о первом столбце

Возвращает :

Интервал столбца


gtk_table_get_default_col_spacing ()

guint       gtk_table_get_default_col_spacing
                                            (GtkTable *table);

Получает интервал столбцов по умолчанию для таблицы. Этот интервал используется для вновь добавляемых столбцов. (Смотрите gtk_table_set_col_spacings())

table :

GtkTable

Возвращает :

Значение: интервал столбца по умолчанию

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

Свойство "column-spacing"

  "column-spacing"       guint                 : Read / Write

Размер интервала между двумя последовательными столбцами.

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


Свойство "homogeneous"

  "homogeneous"          gboolean              : Read / Write

Если TRUE то в таблице все ячейки однородны, то есть имеют одинаковый размер.

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


Свойство "n-columns"

  "n-columns"            guint                 : Read / Write

Число столбцов в таблице.

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


Свойство "n-rows"

  "n-rows"               guint                 : Read / Write

Число строк в таблице.

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


Свойство "row-spacing"

  "row-spacing"          guint                 : Read / Write

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

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

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

Дочернее свойство "bottom-attach"

  "bottom-attach"        guint                 : Read / Write

Номер строки у основания которой прикрепляется дочерний виджет.

Допустимые значения: [1,65535]

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


Дочернее свойство "left-attach"

  "left-attach"          guint                 : Read / Write

Номер столбца к левой стороне которого прикрепляется дочерний виджет.

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

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


Дочернее свойство "right-attach"

  "right-attach"         guint                 : Read / Write

Номер столбца к правой стороне которого прикрепляется дочерний виджет.

Допустимые значения: [1,65535]

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


Дочернее свойство "top-attach"

  "top-attach"           guint                 : Read / Write

Номер строки к вершине которой прикрепляется дочерний виджет.

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

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


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

  "x-options"            GtkAttachOptions      : Read / Write

Опция определяющая горизонтальное поведение дочернего виджета.

Значение по умолчанию: GTK_EXPAND|GTK_FILL


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

  "x-padding"            guint                 : Read / Write

Дополнительное пространство помещаемое между дочерним виджетом и его соседями справа и слева, в пикселах.

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

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


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

  "y-options"            GtkAttachOptions      : Read / Write

Опция определяющая вертикальное поведение дочернего виджета.

Значение по умолчанию: GTK_EXPAND|GTK_FILL


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

  "y-padding"            guint                 : Read / Write

Дополнительное пространство помещаемое между дочерним виджетом и его соседями сверху и снизу, в пикселах.

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

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

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

GtkVBox

Только вертикальная упаковка виджетов.

GtkHBox

Только горизонтальная упаковка виджетов.






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

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