Spec-Zone.ru › GTK 3.20

GtkGrid

GtkGrid — Размещение виджетов в строках и столбцах

Функции

GtkWidget * gtk_grid_new ()
void gtk_grid_attach ()
void gtk_grid_attach_next_to ()
GtkWidget * gtk_grid_get_child_at ()
void gtk_grid_insert_row ()
void gtk_grid_insert_column ()
void gtk_grid_remove_row ()
void gtk_grid_remove_column ()
void gtk_grid_insert_next_to ()
void gtk_grid_set_row_homogeneous ()
gboolean gtk_grid_get_row_homogeneous ()
void gtk_grid_set_row_spacing ()
guint gtk_grid_get_row_spacing ()
void gtk_grid_set_column_homogeneous ()
gboolean gtk_grid_get_column_homogeneous ()
void gtk_grid_set_column_spacing ()
guint gtk_grid_get_column_spacing ()
gint gtk_grid_get_baseline_row ()
void gtk_grid_set_baseline_row ()
GtkBaselinePosition gtk_grid_get_row_baseline_position ()
void gtk_grid_set_row_baseline_position ()

Свойства

gint baseline-row Чтение/Запись
gboolean column-homogeneous Чтение/Запись
gint column-spacing Чтение/Запись
gboolean row-homogeneous Чтение/Запись
gint row-spacing Чтение/Запись

Свойства дочерних элементов

gint height Чтение/Запись
gint left-attach Чтение/Запись
gint top-attach Чтение/Запись
gint width Чтение/Запись

Типы и Значения

struct GtkGrid
struct GtkGridClass

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

    GObject
    ╰── GInitiallyUnowned
        ╰── GtkWidget
            ╰── GtkContainer
                ╰── GtkGrid

Реализованные интерфейсы

GtkGrid реализует AtkImplementorIface, GtkBuildable и GtkOrientable.

Файлы

#include <gtk/gtk.h>

Описание

GtkGrid — это контейнер, который организует свои дочерние виджеты в строки и столбцы. Он очень похож на GtkTable и GtkBox, но последовательно использует свойства GtkWidget’s “margin” и “expand” вместо пользовательских свойств дочерних элементов, и полностью поддерживает управление геометрией по высоте для ширины.

Дочерние элементы добавляются с помощью gtk_grid_attach(). Они могут занимать несколько строк или столбцов. Также можно добавить дочерний элемент рядом с существующим, используя gtk_grid_attach_next_to(). Поведение GtkGrid, когда несколько дочерних элементов занимают одну и ту же ячейку сетки, не определено.

GtkGrid можно использовать как GtkBox, просто используя gtk_container_add(), что разместит дочерние элементы рядом друг с другом в направлении, определяемом свойством “orientation”.

CSS узлы

GtkGrid использует один CSS узел с именем grid.

Функции

gtk_grid_new ()

GtkWidget *
gtk_grid_new (void);

Создаёт новый виджет сетки.

Возвращает

новый GtkGrid

gtk_grid_attach ()

void
gtk_grid_attach (GtkGrid *grid,
                 GtkWidget *child,
                 gint left,
                 gint top,
                 gint width,
                 gint height);

Добавляет виджет в сетку.

Положение child определяется left и top . Количество «ячеек», которое займёт child, определяется width и height .

Параметры

grid

a GtkGrid

child

виджет для добавления

left

номер столбца для прикрепления левой стороны child

top

номер строки для прикрепления верхней стороны child

width

количество столбцов, которое будет занимать child

height

количество строк, которое будет занимать child

gtk_grid_attach_next_to ()

void
gtk_grid_attach_next_to (GtkGrid *grid,
                         GtkWidget *child,
                         GtkWidget *sibling,
                         GtkPositionType side,
                         gint width,
                         gint height);

Добавляет виджет в сетку.

Виджет размещается рядом с sibling, со стороны, определяемой side. Когда sibling равен NULL, виджет размещается в строке (для расположения слева или справа) или столбце 0 (для расположения сверху или снизу), на конце, указанном side.

Прикрепление виджетов, обозначенных [1], [2], [3] с sibling == NULL и side == GTK_POS_LEFT даёт макет 3[1].

Параметры

grid

a GtkGrid

child

виджет для добавления

sibling

виджет grid, рядом с которым будет размещён child, или NULL для размещения child в начале или конце.

[allow-none]

side

сторона sibling, рядом с которой будет размещён child

width

количество столбцов, которое будет занимать child

height

количество строк, которое будет занимать child

gtk_grid_get_child_at ()

GtkWidget *
gtk_grid_get_child_at (GtkGrid *grid,
                       gint left,
                       gint top);

Возвращает виджет grid, занимающий ячейку сетки с верхним левым углом в точке left, top.

Параметры

grid

a GtkGrid

left

левый край ячейки

top

верхний край ячейки

Возвращает

виджет в заданной позиции, или NULL.

[transfer none][nullable]

С: 3.2

gtk_grid_insert_row ()

void
gtk_grid_insert_row (GtkGrid *grid,
                     gint position);

Вставляет строку в указанную позицию.

Виджеты, которые прикреплены в этой или нижележащей позиции, перемещаются на одну строку вниз. Виджеты, занимающие несколько строк, пересекающие данную позицию, расширяются, чтобы охватить новую строку.

Параметры

grid

a GtkGrid

position

позиция для вставки строки

С: 3.2

gtk_grid_insert_column ()

void
gtk_grid_insert_column (GtkGrid *grid,
                        gint position);

Вставляет столбец в указанную позицию.

Виджеты, которые прикреплены в этой или правее этой позиции, перемещаются на один столбец вправо. Виджеты, занимающие несколько столбцов, пересекающие данную позицию, расширяются, чтобы охватить новый столбец.

Параметры

grid

a GtkGrid

position

позиция для вставки столбца

С: 3.2

gtk_grid_remove_row ()

void
gtk_grid_remove_row (GtkGrid *grid,
                     gint position);

Удаляет строку из сетки.

Виджеты, размещённые в этой строке, удаляются, занимающие несколько строк виджеты, пересекающие эту строку, уменьшают свою высоту на единицу, а виджеты, находящиеся под строкой, перемещаются вверх.

Параметры

grid

a GtkGrid

position

позиция строки для удаления

С: 3.10

gtk_grid_remove_column ()

void
gtk_grid_remove_column (GtkGrid *grid,
                        gint position);

Удаляет столбец из сетки.

Виджеты, размещённые в этом столбце, удаляются, занимающие несколько столбцов виджеты, пересекающие этот столбец, уменьшают свою ширину на единицу, а виджеты, находящиеся после столбца, перемещаются влево.

Параметры

grid

a GtkGrid

position

позиция столбца для удаления

С: 3.10

gtk_grid_insert_next_to ()

void
gtk_grid_insert_next_to (GtkGrid *grid,
                         GtkWidget *sibling,
                         GtkPositionType side);

Вставляет строку или столбец в указанную позицию.

Новая строка или столбец размещается рядом с sibling, со стороны, определяемой параметром side. Если side имеет значение GTK_POS_TOP или GTK_POS_BOTTOM, вставляется строка. Если side имеет значение GTK_POS_LEFT или GTK_POS_RIGHT, вставляется столбец.

Параметры

grid

объект GtkGrid

sibling

элемент grid, рядом с которым будет размещена новая строка или столбец

side

сторона sibling, рядом с которой размещается child

С: 3.2

gtk_grid_set_row_homogeneous ()

void
gtk_grid_set_row_homogeneous (GtkGrid *grid,
                              gboolean homogeneous);

Устанавливает, будут ли все строки grid иметь одинаковую высоту.

Параметры

grid

объект GtkGrid

homogeneous

TRUE для однородности строк

gtk_grid_get_row_homogeneous ()

gboolean
gtk_grid_get_row_homogeneous (GtkGrid *grid);

Возвращает значение, определяющее, имеют ли все строки grid одинаковую высоту.

Параметры

grid

объект GtkGrid

Возвращаемое значение

имеют ли все строки grid одинаковую высоту.

gtk_grid_set_row_spacing ()

void
gtk_grid_set_row_spacing (GtkGrid *grid,
                          guint spacing);

Устанавливает расстояние между строками grid.

Параметры

grid

объект GtkGrid

spacing

расстояние между строками

gtk_grid_get_row_spacing ()

guint
gtk_grid_get_row_spacing (GtkGrid *grid);

Возвращает расстояние между строками grid.

Параметры

grid

объект GtkGrid

Возвращаемое значение

расстояние между строками grid

gtk_grid_set_column_homogeneous ()

void
gtk_grid_set_column_homogeneous (GtkGrid *grid,
                                 gboolean homogeneous);

Устанавливает, будут ли все столбцы grid иметь одинаковую ширину.

Параметры

grid

объект GtkGrid

homogeneous

TRUE для однородности столбцов

gtk_grid_get_column_homogeneous ()

gboolean
gtk_grid_get_column_homogeneous (GtkGrid *grid);

Возвращает значение, определяющее, имеют ли все столбцы grid одинаковую ширину.

Параметры

grid

объект GtkGrid

Возвращаемое значение

имеют ли все столбцы grid одинаковую ширину.

gtk_grid_set_column_spacing ()

void
gtk_grid_set_column_spacing (GtkGrid *grid,
                             guint spacing);

Устанавливает расстояние между столбцами grid.

Параметры

grid

объект GtkGrid

spacing

расстояние между столбцами

gtk_grid_get_column_spacing ()

guint
gtk_grid_get_column_spacing (GtkGrid *grid);

Возвращает расстояние между столбцами grid.

Параметры

grid

объект GtkGrid

Возвращаемое значение

расстояние между столбцами grid

gtk_grid_get_baseline_row ()

gint
gtk_grid_get_baseline_row (GtkGrid *grid);

Возвращает строку, определяющую глобальную линию базовой точки grid.

Параметры

grid

объект GtkGrid

Возвращаемое значение

индекс строки, определяющей глобальную линию базовой точки

С: 3.10

gtk_grid_set_baseline_row ()

void
gtk_grid_set_baseline_row (GtkGrid *grid,
                           gint row);

Устанавливает строку, определяющую глобальную линию базовой точки для всей сетки. Каждая строка в сетке может иметь свою локальную базу, но только одна из них является глобальной, что означает, что это будет база в родительском элементе grid.

Параметры

grid

объект GtkGrid

row

индекс строки

С: 3.10

gtk_grid_get_row_baseline_position ()

GtkBaselinePosition
gtk_grid_get_row_baseline_position (GtkGrid *grid,
                                    gint row);

Возвращает положение линии базовой точки для row, установленное функцией gtk_grid_set_row_baseline_position(), или значение по умолчанию GTK_BASELINE_POSITION_CENTER.

Параметры

grid

объект GtkGrid

row

индекс строки

Возвращаемое значение

положение линии базовой точки row

С: 3.10

gtk_grid_set_row_baseline_position ()

void
gtk_grid_set_row_baseline_position (GtkGrid *grid,
                                    gint row,
                                    GtkBaselinePosition pos);

Устанавливает способ позиционирования базовой линии на row сетки, в случае, если строке назначено больше места, чем запрошено.

Параметры

grid

a GtkGrid

row

индекс строки

pos

a GtkBaselinePosition

С: 3.10

Типы и значения

struct GtkGrid

struct GtkGrid;

struct GtkGridClass

struct GtkGridClass {
  GtkContainerClass parent_class;
};

Члены

Подробности свойств

Свойство “baseline-row”

  “baseline-row”             gint

Строка, которая должна выравниваться по базовой линии, когда valign равен GTK_ALIGN_BASELINE.

Флаги: Чтение / Запись

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

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

Свойство “column-homogeneous”

  “column-homogeneous”       gboolean

Если TRUE, все столбцы имеют одинаковую ширину.

Флаги: Чтение / Запись

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

Свойство “column-spacing”

  “column-spacing”           gint

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

Флаги: Чтение / Запись

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

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

Свойство “row-homogeneous”

  “row-homogeneous”          gboolean

Если TRUE, все строки имеют одинаковую высоту.

Флаги: Чтение / Запись

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

Свойство “row-spacing”

  “row-spacing”              gint

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

Флаги: Чтение / Запись

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

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

Подробности свойств дочерних элементов

Свойство “height” (дочерний элемент)

  “height”                   gint

Количество строк, занимаемых дочерним элементом.

Флаги: Чтение / Запись

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

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

Свойство “left-attach” (дочерний элемент)

  “left-attach”              gint

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

Флаги: Чтение / Запись

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

Свойство “top-attach” (дочерний элемент)

  “top-attach”               gint

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

Флаги: Чтение / Запись

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

Свойство “width” (дочерний элемент)

  “width”                    gint

Количество столбцов, занимаемых дочерним элементом.

Флаги: Чтение / Запись

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

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

См. также

GtkTable, GtkHBox, GtkVBox

© 2005–2020 The GNOME Project
Licensed under the GNU Lesser General Public License version 2.1 or later.
https://developer.gnome.org/gtk3/3.20/GtkGrid.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API