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

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