mirror of
https://gitlab.gnome.org/GNOME/gtk.git
synced 2024-12-25 21:21:21 +00:00
Add GtkGridLayout
Layout manager for grid-like widgets.
This commit is contained in:
parent
56b42a2ee9
commit
6e0f1800c8
@ -86,6 +86,8 @@ gtk_gesture_swipe_get_type
|
||||
gtk_gesture_zoom_get_type
|
||||
gtk_gl_area_get_type
|
||||
gtk_grid_get_type
|
||||
gtk_grid_layout_child_get_type
|
||||
gtk_grid_layout_get_type
|
||||
gtk_header_bar_get_type
|
||||
gtk_icon_theme_get_type
|
||||
gtk_icon_view_get_type
|
||||
|
@ -128,6 +128,7 @@
|
||||
#include <gtk/gtkgesturezoom.h>
|
||||
#include <gtk/gtkglarea.h>
|
||||
#include <gtk/gtkgrid.h>
|
||||
#include <gtk/gtkgridlayout.h>
|
||||
#include <gtk/gtkheaderbar.h>
|
||||
#include <gtk/gtkicontheme.h>
|
||||
#include <gtk/gtkiconview.h>
|
||||
|
1870
gtk/gtkgridlayout.c
Normal file
1870
gtk/gtkgridlayout.c
Normal file
File diff suppressed because it is too large
Load Diff
101
gtk/gtkgridlayout.h
Normal file
101
gtk/gtkgridlayout.h
Normal file
@ -0,0 +1,101 @@
|
||||
/* gtkgridlayout.h: Layout manager for grid-like widgets
|
||||
* Copyright 2019 GNOME Foundation
|
||||
*
|
||||
* SPDX-License-Identifier: LGPL-2.1-or-later
|
||||
*
|
||||
* This library is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU Lesser General Public
|
||||
* License as published by the Free Software Foundation; either
|
||||
* version 2.1 of the License, or (at your option) any later version.
|
||||
*
|
||||
* This library is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
* Lesser General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public
|
||||
* License along with this library. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
#pragma once
|
||||
|
||||
#include <gtk/gtklayoutmanager.h>
|
||||
|
||||
G_BEGIN_DECLS
|
||||
|
||||
#define GTK_TYPE_GRID_LAYOUT (gtk_grid_layout_get_type ())
|
||||
#define GTK_TYPE_GRID_LAYOUT_CHILD (gtk_grid_layout_child_get_type ())
|
||||
|
||||
/**
|
||||
* GtkGridLayout:
|
||||
*
|
||||
* Layout manager for grid-like widgets.
|
||||
*/
|
||||
GDK_AVAILABLE_IN_ALL
|
||||
G_DECLARE_FINAL_TYPE (GtkGridLayout, gtk_grid_layout, GTK, GRID_LAYOUT, GtkLayoutManager)
|
||||
|
||||
GDK_AVAILABLE_IN_ALL
|
||||
GtkLayoutManager * gtk_grid_layout_new (void);
|
||||
|
||||
GDK_AVAILABLE_IN_ALL
|
||||
void gtk_grid_layout_set_row_homogeneous (GtkGridLayout *grid,
|
||||
gboolean homogeneous);
|
||||
GDK_AVAILABLE_IN_ALL
|
||||
gboolean gtk_grid_layout_get_row_homogeneous (GtkGridLayout *grid);
|
||||
GDK_AVAILABLE_IN_ALL
|
||||
void gtk_grid_layout_set_row_spacing (GtkGridLayout *grid,
|
||||
guint spacing);
|
||||
GDK_AVAILABLE_IN_ALL
|
||||
guint gtk_grid_layout_get_row_spacing (GtkGridLayout *grid);
|
||||
GDK_AVAILABLE_IN_ALL
|
||||
void gtk_grid_layout_set_column_homogeneous (GtkGridLayout *grid,
|
||||
gboolean homogeneous);
|
||||
GDK_AVAILABLE_IN_ALL
|
||||
gboolean gtk_grid_layout_get_column_homogeneous (GtkGridLayout *grid);
|
||||
GDK_AVAILABLE_IN_ALL
|
||||
void gtk_grid_layout_set_column_spacing (GtkGridLayout *grid,
|
||||
guint spacing);
|
||||
GDK_AVAILABLE_IN_ALL
|
||||
guint gtk_grid_layout_get_column_spacing (GtkGridLayout *grid);
|
||||
GDK_AVAILABLE_IN_ALL
|
||||
void gtk_grid_layout_set_row_baseline_position (GtkGridLayout *grid,
|
||||
int row,
|
||||
GtkBaselinePosition pos);
|
||||
GDK_AVAILABLE_IN_ALL
|
||||
GtkBaselinePosition gtk_grid_layout_get_row_baseline_position (GtkGridLayout *grid,
|
||||
int row);
|
||||
GDK_AVAILABLE_IN_ALL
|
||||
void gtk_grid_layout_set_baseline_row (GtkGridLayout *grid,
|
||||
int row);
|
||||
GDK_AVAILABLE_IN_ALL
|
||||
int gtk_grid_layout_get_baseline_row (GtkGridLayout *grid);
|
||||
|
||||
/**
|
||||
* GtkGridLayoutChild:
|
||||
*
|
||||
* Layout properties for children of #GtkGridLayout.
|
||||
*/
|
||||
GDK_AVAILABLE_IN_ALL
|
||||
G_DECLARE_FINAL_TYPE (GtkGridLayoutChild, gtk_grid_layout_child, GTK, GRID_LAYOUT_CHILD, GtkLayoutChild)
|
||||
|
||||
GDK_AVAILABLE_IN_ALL
|
||||
void gtk_grid_layout_child_set_top_attach (GtkGridLayoutChild *child,
|
||||
int attach);
|
||||
GDK_AVAILABLE_IN_ALL
|
||||
int gtk_grid_layout_child_get_top_attach (GtkGridLayoutChild *child);
|
||||
GDK_AVAILABLE_IN_ALL
|
||||
void gtk_grid_layout_child_set_left_attach (GtkGridLayoutChild *child,
|
||||
int attach);
|
||||
GDK_AVAILABLE_IN_ALL
|
||||
int gtk_grid_layout_child_get_left_attach (GtkGridLayoutChild *child);
|
||||
GDK_AVAILABLE_IN_ALL
|
||||
void gtk_grid_layout_child_set_column_span (GtkGridLayoutChild *child,
|
||||
int span);
|
||||
GDK_AVAILABLE_IN_ALL
|
||||
int gtk_grid_layout_child_get_column_span (GtkGridLayoutChild *child);
|
||||
GDK_AVAILABLE_IN_ALL
|
||||
void gtk_grid_layout_child_set_row_span (GtkGridLayoutChild *child,
|
||||
int span);
|
||||
GDK_AVAILABLE_IN_ALL
|
||||
int gtk_grid_layout_child_get_row_span (GtkGridLayoutChild *child);
|
||||
|
||||
G_END_DECLS
|
@ -248,6 +248,7 @@ gtk_public_sources = files([
|
||||
'gtkgesturezoom.c',
|
||||
'gtkglarea.c',
|
||||
'gtkgrid.c',
|
||||
'gtkgridlayout.c',
|
||||
'gtkheaderbar.c',
|
||||
'gtkicontheme.c',
|
||||
'gtkiconview.c',
|
||||
@ -505,6 +506,7 @@ gtk_public_headers = files([
|
||||
'gtkgesturezoom.h',
|
||||
'gtkglarea.h',
|
||||
'gtkgrid.h',
|
||||
'gtkgridlayout.h',
|
||||
'gtkheaderbar.h',
|
||||
'gtkicontheme.h',
|
||||
'gtkiconview.h',
|
||||
|
Loading…
Reference in New Issue
Block a user