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
|
только горизонтальная упаковка
виджетов.
|
|