Github User Fetcher 1.0.0
C Application with Server and GUI
Loading...
Searching...
No Matches
gtkflowbox.h
Go to the documentation of this file.
1/*
2 * Copyright (C) 2010 Openismus GmbH
3 * Copyright (C) 2013 Red Hat, Inc.
4 *
5 * This library is free software; you can redistribute it and/or
6 * modify it under the terms of the GNU Library General Public
7 * License as published by the Free Software Foundation; either
8 * version 2 of the License, or (at your option) any later version.
9 *
10 * This library is distributed in the hope that it will be useful,
11 * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 * Library General Public License for more details.
14 *
15 * You should have received a copy of the GNU Library General Public
16 * License along with this library; if not, see <http://www.gnu.org/licenses/>.
17
18 *
19 * Authors:
20 * Tristan Van Berkom <tristanvb@openismus.com>
21 * Matthias Clasen <mclasen@redhat.com>
22 * William Jon McCann <jmccann@redhat.com>
23 */
24
25#pragma once
26
27#if !defined (__GTK_H_INSIDE__) && !defined (GTK_COMPILATION)
28#error "Only <gtk/gtk.h> can be included directly."
29#endif
30
31#include <gtk/gtkwidget.h>
32
34
35
36#define GTK_TYPE_FLOW_BOX (gtk_flow_box_get_type ())
37#define GTK_FLOW_BOX(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_TYPE_FLOW_BOX, GtkFlowBox))
38#define GTK_IS_FLOW_BOX(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GTK_TYPE_FLOW_BOX))
39
40typedef struct _GtkFlowBox GtkFlowBox;
43
44#define GTK_TYPE_FLOW_BOX_CHILD (gtk_flow_box_child_get_type ())
45#define GTK_FLOW_BOX_CHILD(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_TYPE_FLOW_BOX_CHILD, GtkFlowBoxChild))
46#define GTK_FLOW_BOX_CHILD_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GTK_TYPE_FLOW_BOX_CHILD, GtkFlowBoxChildClass))
47#define GTK_IS_FLOW_BOX_CHILD(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GTK_TYPE_FLOW_BOX_CHILD))
48#define GTK_IS_FLOW_BOX_CHILD_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GTK_TYPE_FLOW_BOX_CHILD))
49#define GTK_FLOW_BOX_CHILD_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), EG_TYPE_FLOW_BOX_CHILD, GtkFlowBoxChildClass))
50
52{
53 /*< private >*/
55};
56
58{
59 /*< private >*/
61
62 /*< public >*/
63 void (* activate) (GtkFlowBoxChild *child);
64
65 /*< private >*/
67};
68
69/**
70 * GtkFlowBoxCreateWidgetFunc:
71 * @item: (type GObject): the item from the model for which to create a widget for
72 * @user_data: (closure): user data from gtk_flow_box_bind_model()
73 *
74 * Called for flow boxes that are bound to a `GListModel`.
75 *
76 * This function is called for each item that gets added to the model.
77 *
78 * Returns: (transfer full): a `GtkWidget` that represents @item
79 */
80typedef GtkWidget * (*GtkFlowBoxCreateWidgetFunc) (gpointer item,
81 gpointer user_data);
82
87
90 GtkWidget *child);
93
100
101
104
107
110 GListModel *model,
111 GtkFlowBoxCreateWidgetFunc create_widget_func,
112 gpointer user_data,
113 GDestroyNotify user_data_free_func);
114
117 gboolean homogeneous);
122 guint spacing);
125
128 guint spacing);
131
134 guint n_children);
137
140 guint n_children);
145 gboolean single);
148
151 GtkWidget *child);
154 GtkWidget *child);
157 GtkWidget *widget,
158 int position);
161 GtkWidget *widget);
164
167 int idx);
168
171 int x,
172 int y);
173
174typedef void (* GtkFlowBoxForeachFunc) (GtkFlowBox *box,
175 GtkFlowBoxChild *child,
176 gpointer user_data);
177
181 gpointer data);
186 GtkFlowBoxChild *child);
189 GtkFlowBoxChild *child);
196 GtkSelectionMode mode);
201 GtkAdjustment *adjustment);
204 GtkAdjustment *adjustment);
205
207 gpointer user_data);
208
211 GtkFlowBoxFilterFunc filter_func,
212 gpointer user_data,
213 GDestroyNotify destroy);
216
217typedef int (*GtkFlowBoxSortFunc) (GtkFlowBoxChild *child1,
218 GtkFlowBoxChild *child2,
219 gpointer user_data);
220
223 GtkFlowBoxSortFunc sort_func,
224 gpointer user_data,
225 GDestroyNotify destroy);
228
231
233
234
#define GDK_AVAILABLE_IN_4_12
#define GDK_AVAILABLE_IN_4_6
#define GDK_AVAILABLE_IN_ALL
typedefG_BEGIN_DECLS struct _GList GList
Definition glist.h:39
#define G_END_DECLS
Definition gmacros.h:910
#define G_BEGIN_DECLS
Definition gmacros.h:909
#define G_GNUC_CONST
Definition gmacros.h:637
#define G_DEFINE_AUTOPTR_CLEANUP_FUNC(TypeName, func)
Definition gmacros.h:1400
GOBJECT_AVAILABLE_IN_ALL void g_object_unref(gpointer object)
GtkSelectionMode
Definition gtkenums.h:556
gboolean(* GtkFlowBoxFilterFunc)(GtkFlowBoxChild *child, gpointer user_data)
Definition gtkflowbox.h:206
GDK_AVAILABLE_IN_ALL GtkFlowBoxChild * gtk_flow_box_get_child_at_pos(GtkFlowBox *box, int x, int y)
GDK_AVAILABLE_IN_ALL guint gtk_flow_box_get_max_children_per_line(GtkFlowBox *box)
GDK_AVAILABLE_IN_ALL void gtk_flow_box_set_activate_on_single_click(GtkFlowBox *box, gboolean single)
GDK_AVAILABLE_IN_ALL GType gtk_flow_box_get_type(void) G_GNUC_CONST
GDK_AVAILABLE_IN_ALL GtkWidget * gtk_flow_box_child_new(void)
GDK_AVAILABLE_IN_ALL void gtk_flow_box_unselect_child(GtkFlowBox *box, GtkFlowBoxChild *child)
int(* GtkFlowBoxSortFunc)(GtkFlowBoxChild *child1, GtkFlowBoxChild *child2, gpointer user_data)
Definition gtkflowbox.h:217
GDK_AVAILABLE_IN_ALL void gtk_flow_box_child_changed(GtkFlowBoxChild *child)
GDK_AVAILABLE_IN_ALL void gtk_flow_box_set_max_children_per_line(GtkFlowBox *box, guint n_children)
GDK_AVAILABLE_IN_ALL void gtk_flow_box_set_selection_mode(GtkFlowBox *box, GtkSelectionMode mode)
GDK_AVAILABLE_IN_ALL guint gtk_flow_box_get_row_spacing(GtkFlowBox *box)
GtkWidget *(* GtkFlowBoxCreateWidgetFunc)(gpointer item, gpointer user_data)
Definition gtkflowbox.h:80
GDK_AVAILABLE_IN_ALL gboolean gtk_flow_box_get_homogeneous(GtkFlowBox *box)
GDK_AVAILABLE_IN_4_6 void gtk_flow_box_prepend(GtkFlowBox *self, GtkWidget *child)
GDK_AVAILABLE_IN_ALL void gtk_flow_box_invalidate_filter(GtkFlowBox *box)
GDK_AVAILABLE_IN_ALL void gtk_flow_box_select_child(GtkFlowBox *box, GtkFlowBoxChild *child)
GDK_AVAILABLE_IN_ALL guint gtk_flow_box_get_min_children_per_line(GtkFlowBox *box)
GDK_AVAILABLE_IN_ALL void gtk_flow_box_select_all(GtkFlowBox *box)
GDK_AVAILABLE_IN_ALL GtkSelectionMode gtk_flow_box_get_selection_mode(GtkFlowBox *box)
GDK_AVAILABLE_IN_ALL void gtk_flow_box_remove(GtkFlowBox *box, GtkWidget *widget)
GDK_AVAILABLE_IN_ALL void gtk_flow_box_set_filter_func(GtkFlowBox *box, GtkFlowBoxFilterFunc filter_func, gpointer user_data, GDestroyNotify destroy)
GDK_AVAILABLE_IN_4_6 void gtk_flow_box_append(GtkFlowBox *self, GtkWidget *child)
GDK_AVAILABLE_IN_ALL void gtk_flow_box_selected_foreach(GtkFlowBox *box, GtkFlowBoxForeachFunc func, gpointer data)
void(* GtkFlowBoxForeachFunc)(GtkFlowBox *box, GtkFlowBoxChild *child, gpointer user_data)
Definition gtkflowbox.h:174
GDK_AVAILABLE_IN_ALL void gtk_flow_box_set_column_spacing(GtkFlowBox *box, guint spacing)
GDK_AVAILABLE_IN_ALL int gtk_flow_box_child_get_index(GtkFlowBoxChild *child)
GDK_AVAILABLE_IN_ALL void gtk_flow_box_set_min_children_per_line(GtkFlowBox *box, guint n_children)
struct _GtkFlowBox GtkFlowBox
Definition gtkflowbox.h:40
GDK_AVAILABLE_IN_ALL GtkWidget * gtk_flow_box_child_get_child(GtkFlowBoxChild *self)
GDK_AVAILABLE_IN_ALL gboolean gtk_flow_box_get_activate_on_single_click(GtkFlowBox *box)
GDK_AVAILABLE_IN_ALL GType gtk_flow_box_child_get_type(void) G_GNUC_CONST
GDK_AVAILABLE_IN_ALL void gtk_flow_box_unselect_all(GtkFlowBox *box)
GDK_AVAILABLE_IN_ALL void gtk_flow_box_set_homogeneous(GtkFlowBox *box, gboolean homogeneous)
GDK_AVAILABLE_IN_ALL GList * gtk_flow_box_get_selected_children(GtkFlowBox *box)
GDK_AVAILABLE_IN_ALL void gtk_flow_box_set_sort_func(GtkFlowBox *box, GtkFlowBoxSortFunc sort_func, gpointer user_data, GDestroyNotify destroy)
GDK_AVAILABLE_IN_ALL gboolean gtk_flow_box_child_is_selected(GtkFlowBoxChild *child)
GDK_AVAILABLE_IN_ALL void gtk_flow_box_set_row_spacing(GtkFlowBox *box, guint spacing)
GDK_AVAILABLE_IN_ALL GtkWidget * gtk_flow_box_new(void)
GDK_AVAILABLE_IN_4_12 void gtk_flow_box_remove_all(GtkFlowBox *box)
GDK_AVAILABLE_IN_ALL void gtk_flow_box_set_vadjustment(GtkFlowBox *box, GtkAdjustment *adjustment)
GDK_AVAILABLE_IN_ALL void gtk_flow_box_bind_model(GtkFlowBox *box, GListModel *model, GtkFlowBoxCreateWidgetFunc create_widget_func, gpointer user_data, GDestroyNotify user_data_free_func)
GDK_AVAILABLE_IN_ALL void gtk_flow_box_insert(GtkFlowBox *box, GtkWidget *widget, int position)
GDK_AVAILABLE_IN_ALL void gtk_flow_box_invalidate_sort(GtkFlowBox *box)
GDK_AVAILABLE_IN_ALL void gtk_flow_box_set_hadjustment(GtkFlowBox *box, GtkAdjustment *adjustment)
GDK_AVAILABLE_IN_ALL void gtk_flow_box_child_set_child(GtkFlowBoxChild *self, GtkWidget *child)
GDK_AVAILABLE_IN_ALL guint gtk_flow_box_get_column_spacing(GtkFlowBox *box)
GDK_AVAILABLE_IN_ALL GtkFlowBoxChild * gtk_flow_box_get_child_at_index(GtkFlowBox *box, int idx)
typedefG_BEGIN_DECLS struct _GtkAdjustment GtkAdjustment
Definition gtktypes.h:35
gsize GType
Definition gtype.h:427
gint gboolean
Definition gtypes.h:56
void * gpointer
Definition gtypes.h:109
void(* GDestroyNotify)(gpointer data)
Definition gtypes.h:140
unsigned int guint
Definition gtypes.h:61
void(* activate)(GtkFlowBoxChild *child)
Definition gtkflowbox.h:63
GtkWidgetClass parent_class
Definition gtkflowbox.h:60
gpointer padding[8]
Definition gtkflowbox.h:66
GtkWidget parent_instance
Definition gtkflowbox.h:54