1 | /* gtkgridlayout.h: Layout manager for grid-like widgets |
2 | * Copyright 2019 GNOME Foundation |
3 | * |
4 | * SPDX-License-Identifier: LGPL-2.1-or-later |
5 | * |
6 | * This library is free software; you can redistribute it and/or |
7 | * modify it under the terms of the GNU Lesser General Public |
8 | * License as published by the Free Software Foundation; either |
9 | * version 2.1 of the License, or (at your option) any later version. |
10 | * |
11 | * This library is distributed in the hope that it will be useful, |
12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of |
13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU |
14 | * Lesser General Public License for more details. |
15 | * |
16 | * You should have received a copy of the GNU Lesser General Public |
17 | * License along with this library. If not, see <http://www.gnu.org/licenses/>. |
18 | */ |
19 | #pragma once |
20 | |
21 | #include <gtk/gtklayoutmanager.h> |
22 | |
23 | G_BEGIN_DECLS |
24 | |
25 | #define GTK_TYPE_GRID_LAYOUT (gtk_grid_layout_get_type ()) |
26 | #define GTK_TYPE_GRID_LAYOUT_CHILD (gtk_grid_layout_child_get_type ()) |
27 | |
28 | GDK_AVAILABLE_IN_ALL |
29 | G_DECLARE_FINAL_TYPE (GtkGridLayout, gtk_grid_layout, GTK, GRID_LAYOUT, GtkLayoutManager) |
30 | |
31 | GDK_AVAILABLE_IN_ALL |
32 | GtkLayoutManager * gtk_grid_layout_new (void); |
33 | |
34 | GDK_AVAILABLE_IN_ALL |
35 | void gtk_grid_layout_set_row_homogeneous (GtkGridLayout *grid, |
36 | gboolean homogeneous); |
37 | GDK_AVAILABLE_IN_ALL |
38 | gboolean gtk_grid_layout_get_row_homogeneous (GtkGridLayout *grid); |
39 | GDK_AVAILABLE_IN_ALL |
40 | void gtk_grid_layout_set_row_spacing (GtkGridLayout *grid, |
41 | guint spacing); |
42 | GDK_AVAILABLE_IN_ALL |
43 | guint gtk_grid_layout_get_row_spacing (GtkGridLayout *grid); |
44 | GDK_AVAILABLE_IN_ALL |
45 | void gtk_grid_layout_set_column_homogeneous (GtkGridLayout *grid, |
46 | gboolean homogeneous); |
47 | GDK_AVAILABLE_IN_ALL |
48 | gboolean gtk_grid_layout_get_column_homogeneous (GtkGridLayout *grid); |
49 | GDK_AVAILABLE_IN_ALL |
50 | void gtk_grid_layout_set_column_spacing (GtkGridLayout *grid, |
51 | guint spacing); |
52 | GDK_AVAILABLE_IN_ALL |
53 | guint gtk_grid_layout_get_column_spacing (GtkGridLayout *grid); |
54 | GDK_AVAILABLE_IN_ALL |
55 | void gtk_grid_layout_set_row_baseline_position (GtkGridLayout *grid, |
56 | int row, |
57 | GtkBaselinePosition pos); |
58 | GDK_AVAILABLE_IN_ALL |
59 | GtkBaselinePosition gtk_grid_layout_get_row_baseline_position (GtkGridLayout *grid, |
60 | int row); |
61 | GDK_AVAILABLE_IN_ALL |
62 | void gtk_grid_layout_set_baseline_row (GtkGridLayout *grid, |
63 | int row); |
64 | GDK_AVAILABLE_IN_ALL |
65 | int gtk_grid_layout_get_baseline_row (GtkGridLayout *grid); |
66 | |
67 | GDK_AVAILABLE_IN_ALL |
68 | G_DECLARE_FINAL_TYPE (GtkGridLayoutChild, gtk_grid_layout_child, GTK, GRID_LAYOUT_CHILD, GtkLayoutChild) |
69 | |
70 | GDK_AVAILABLE_IN_ALL |
71 | void gtk_grid_layout_child_set_row (GtkGridLayoutChild *child, |
72 | int row); |
73 | GDK_AVAILABLE_IN_ALL |
74 | int gtk_grid_layout_child_get_row (GtkGridLayoutChild *child); |
75 | GDK_AVAILABLE_IN_ALL |
76 | void gtk_grid_layout_child_set_column (GtkGridLayoutChild *child, |
77 | int column); |
78 | GDK_AVAILABLE_IN_ALL |
79 | int gtk_grid_layout_child_get_column (GtkGridLayoutChild *child); |
80 | GDK_AVAILABLE_IN_ALL |
81 | void gtk_grid_layout_child_set_column_span (GtkGridLayoutChild *child, |
82 | int span); |
83 | GDK_AVAILABLE_IN_ALL |
84 | int gtk_grid_layout_child_get_column_span (GtkGridLayoutChild *child); |
85 | GDK_AVAILABLE_IN_ALL |
86 | void gtk_grid_layout_child_set_row_span (GtkGridLayoutChild *child, |
87 | int span); |
88 | GDK_AVAILABLE_IN_ALL |
89 | int gtk_grid_layout_child_get_row_span (GtkGridLayoutChild *child); |
90 | |
91 | G_END_DECLS |
92 | |