GTK+ Reference Manual |
||||
---|---|---|---|---|
Top | Description | Object Hierarchy | Properties | Child Properties |
GtkTableGtkTable Табличная упаковка виджетов |
#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()
,
может использоваться для установки
изменяемости ячеек таблицы к размеру
большего виджета в таблице.
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.
|
Количество строк в новой таблице. |
|
Количество столбцов в новой таблице. |
|
Если установлено |
Возвращает : |
Указатель на вновь созданный виджет таблицу. |
void gtk_table_resize (GtkTable *table,
guint rows,
guint columns);
Если вам нужно изменить размер таблицы после её создания, эта функция позволит вам сделать это.
|
GtkTable которой вы меняете размер. |
|
Новое число строк |
|
Новое число столбцов. |
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
.
Каждое представляет крайний левый,
крайний правый, высший и низший номера
столбцов и строк в таблице. (индексируются
начиная с нуля).
|
GtkTable в которую добавляется новый виджет. |
|
Добавляемый виджет. |
|
Номер столбца к которому слева прикрепляется дочерний виджет. |
|
Номер столбца к которому справа прикрепляется дочерний виджет. |
|
Номер строки к которой сверху прикрепляется дочерний виджет. |
|
Номер строки к основанию которой прикрепляется дочерний виджет. |
|
Используется для определения свойств дочернего виджета при изменении размера таблицы. |
|
Тоже что и xoptions, кроме поля определяющего поведение размера п овертикали. |
|
Целое значение определяющее дополнение справа и слева при добавлении виджета в таблицу. |
|
Количество дополнения сверху и снизу виджета. |
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.
|
Таблица к которой добавляется виджет. |
|
Добавляемый дочерний виджет. |
|
Номер столбца к которому прикрепляется дочерний виджет с левой стороны. |
|
Номер столбца к которому прикрепляется дочерний виджет с правой стороны. |
|
Номер строки к вершине которой прикрепляется дочерний виджет. |
|
Номер строки в основание которой прикрепляется дочерний виджет. |
void gtk_table_set_row_spacing (GtkTable *table,
guint row,
guint spacing);
Изменяет свободное пространство между данной табличной строкой и окружающими.
|
GtkTable содержащая строку свойство которой вы хотите изменить. |
|
Номер строки у которой изменяется свободное пространство. |
|
Число пикселей на которое должен быть увеличен интервал. |
void gtk_table_set_col_spacing (GtkTable *table,
guint column,
guint spacing);
Изменяет свободное пространство между данным столбцом и находящимися рядом с ним.
|
|
|
Столбец чей интервал должен быть изменён. |
|
Число пикселей на которое должен измениться интервал. |
void gtk_table_set_row_spacings (GtkTable *table,
guint spacing);
Устанавливает интервал между всеми
строками в table
равный spacing
.
|
|
|
Число пикселей интервала устанавливаемого для всех строк таблицы. |
void gtk_table_set_col_spacings (GtkTable *table,
guint spacing);
Устанавливает интервал для всех столбцов
в table
равный spacing
.
|
|
|
Число пикселей интервала устанавливаемого для всех столбцов таблицы. |
void gtk_table_set_homogeneous (GtkTable *table,
gboolean homogeneous);
Изменяет однородное (homogenous) свойство ячеек таблицы, то есть равен размер всех ячеек или нет.
|
GtkTable для которой устанавливается свойство однородности (homogeneous). |
|
Установленное |
guint gtk_table_get_default_row_spacing
(GtkTable *table);
Получает значение по умолчанию интервала
строк таблицы. Это интервал который
будет использоваться для вновь добавляемых
строк. (Смотрите gtk_table_set_row_spacings()
)
|
|
Возвращает : |
Значение: интервал строк по умолчанию |
gboolean gtk_table_get_homogeneous (GtkTable *table);Определяет однородны ячейки или нет. (Смотрите
gtk_table_set_homogenous()
)
|
|
Возвращает : |
|
guint gtk_table_get_row_spacing (GtkTable *table,
guint row);
Получает интервал между строкой row
и строкой row
+ 1. Смотрите
gtk_table_set_row_spacing()
.
|
|
|
Строка в таблице, 0 сообщает о первой строке |
Возвращает : |
Строковый интервал |
guint gtk_table_get_col_spacing (GtkTable *table,
guint column);
Получает интервал между столбцом col
и столбцом col
+ 1. Смотрите
gtk_table_set_col_spacing()
.
|
|
|
Столбец в таблице, 0 сообщает о первом столбце |
Возвращает : |
Интервал столбца |
guint gtk_table_get_default_col_spacing
(GtkTable *table);
Получает интервал столбцов по умолчанию
для таблицы. Этот интервал используется
для вновь добавляемых столбцов. (Смотрите
gtk_table_set_col_spacings()
)
|
|
Возвращает : |
Значение: интервал столбца по умолчанию |
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
Смотрите также
Только вертикальная упаковка виджетов. |
|
Только горизонтальная упаковка виджетов. |