Spec-Zone.ru › GTK 3.24

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 ()

Свойства

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

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

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

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

struct GtkGrid
struct GtkGridClass

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

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

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

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

Файлы

#include <gtk/gtk.h>

Описание

GtkGrid — это контейнер, который организует свои дочерние виджеты в строках и столбцах с произвольными позициями и горизонтальными/вертикальными разделами.

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

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

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

a 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

a GtkGrid

homogeneous

TRUE для создания однородных строк

gtk_grid_get_row_homogeneous ()

gboolean
gtk_grid_get_row_homogeneous (GtkGrid *grid);

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

Параметры

grid

a GtkGrid

Возвращает

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

gtk_grid_set_row_spacing ()

void
gtk_grid_set_row_spacing (GtkGrid *grid,
                          guint spacing);

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

Параметры

grid

a GtkGrid

spacing

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

gtk_grid_get_row_spacing ()

guint
gtk_grid_get_row_spacing (GtkGrid *grid);

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

Параметры

grid

a GtkGrid

Возвращает

межстрочный интервал grid

gtk_grid_set_column_homogeneous ()

void
gtk_grid_set_column_homogeneous (GtkGrid *grid,
                                 gboolean homogeneous);

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

Параметры

grid

a GtkGrid

homogeneous

TRUE для создания однородных столбцов

gtk_grid_get_column_homogeneous ()

gboolean
gtk_grid_get_column_homogeneous (GtkGrid *grid);

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

Параметры

grid

a GtkGrid

Возвращает

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

gtk_grid_set_column_spacing ()

void
gtk_grid_set_column_spacing (GtkGrid *grid,
                             guint spacing);

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

Параметры

grid

a GtkGrid

spacing

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

gtk_grid_get_column_spacing ()

guint
gtk_grid_get_column_spacing (GtkGrid *grid);

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

Параметры

grid

a GtkGrid

Возвращает

межстолбцовый интервал grid

gtk_grid_get_baseline_row ()

gint
gtk_grid_get_baseline_row (GtkGrid *grid);

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

Параметры

grid

a GtkGrid

Возвращает

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

С версии: 3.10

gtk_grid_set_baseline_row ()

void
gtk_grid_set_baseline_row (GtkGrid *grid,
                           gint row);

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

Параметры

grid

a 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

a 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

Since: 3.10

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

struct GtkGrid

struct GtkGrid;

struct GtkGridClass

struct GtkGridClass {
  GtkContainerClass parent_class;
};

Члены

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

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

  “baseline-row”             int

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

Владелец: GtkGrid

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

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

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

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

  “column-homogeneous”       gboolean

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

Владелец: GtkGrid

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

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

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

  “column-spacing”           int

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

Владелец: GtkGrid

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

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

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

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

  “row-homogeneous”          gboolean

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

Владелец: GtkGrid

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

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

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

  “row-spacing”              int

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

Владелец: GtkGrid

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

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

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

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

Свойство “height” дочернего элемента

  “height”                   int

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

Владелец: GtkGrid

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

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

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

Свойство “left-attach” дочернего элемента

  “left-attach”              int

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

Владелец: GtkGrid

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

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

Свойство “top-attach” дочернего элемента

  “top-attach”               int

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

Владелец: GtkGrid

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

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

Свойство “width” дочернего элемента

  “width”                    int

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

Владелец: GtkGrid

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

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

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

См. также

GtkBox

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

Spec-Zone.ru

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