Github User Fetcher 1.0.0
C Application with Server and GUI
Loading...
Searching...
No Matches
gtkmaplistmodel.h
Go to the documentation of this file.
1/*
2 * Copyright © 2018 Benjamin Otte
3 *
4 * This library is free software; you can redistribute it and/or
5 * modify it under the terms of the GNU Lesser General Public
6 * License as published by the Free Software Foundation; either
7 * version 2.1 of the License, or (at your option) any later version.
8 *
9 * This library is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12 * Lesser General Public License for more details.
13 *
14 * You should have received a copy of the GNU Lesser General Public
15 * License along with this library. If not, see <http://www.gnu.org/licenses/>.
16 *
17 * Authors: Benjamin Otte <otte@gnome.org>
18 */
19
20#pragma once
21
22
23#if !defined (__GTK_H_INSIDE__) && !defined (GTK_COMPILATION)
24#error "Only <gtk/gtk.h> can be included directly."
25#endif
26
27#include <gio/gio.h>
28#include <gtk/gtkwidget.h>
29
30
32
33#define GTK_TYPE_MAP_LIST_MODEL (gtk_map_list_model_get_type ())
34
36G_DECLARE_FINAL_TYPE (GtkMapListModel, gtk_map_list_model, GTK, MAP_LIST_MODEL, GObject)
37
38/**
39 * GtkMapListModelMapFunc:
40 * @item: (type GObject) (transfer full): The item to map
41 * @user_data: user data
42 *
43 * User function that is called to map an @item of the original model to
44 * an item expected by the map model.
45 *
46 * The returned items must conform to the item type of the model they are
47 * used with.
48 *
49 * Returns: (type GObject) (transfer full): The item to map to
50 */
51typedef gpointer (* GtkMapListModelMapFunc) (gpointer item, gpointer user_data);
52
54GtkMapListModel * gtk_map_list_model_new (GListModel *model,
56 gpointer user_data,
57 GDestroyNotify user_destroy);
58
60void gtk_map_list_model_set_map_func (GtkMapListModel *self,
62 gpointer user_data,
63 GDestroyNotify user_destroy);
65void gtk_map_list_model_set_model (GtkMapListModel *self,
66 GListModel *model);
68GListModel * gtk_map_list_model_get_model (GtkMapListModel *self);
70gboolean gtk_map_list_model_has_map (GtkMapListModel *self);
71
73
#define GDK_AVAILABLE_IN_ALL
#define G_END_DECLS
Definition gmacros.h:910
#define G_BEGIN_DECLS
Definition gmacros.h:909
GDK_AVAILABLE_IN_ALL gboolean gtk_map_list_model_has_map(GtkMapListModel *self)
GDK_AVAILABLE_IN_ALL void gtk_map_list_model_set_map_func(GtkMapListModel *self, GtkMapListModelMapFunc map_func, gpointer user_data, GDestroyNotify user_destroy)
GDK_AVAILABLE_IN_ALL typedef gpointer(* GtkMapListModelMapFunc)(gpointer item, gpointer user_data)
GDK_AVAILABLE_IN_ALL void gtk_map_list_model_set_model(GtkMapListModel *self, GListModel *model)
GDK_AVAILABLE_IN_ALL GtkMapListModel * gtk_map_list_model_new(GListModel *model, GtkMapListModelMapFunc map_func, gpointer user_data, GDestroyNotify user_destroy)
GDK_AVAILABLE_IN_ALL GListModel * gtk_map_list_model_get_model(GtkMapListModel *self)
#define G_DECLARE_FINAL_TYPE(ModuleObjName, module_obj_name, MODULE, OBJ_NAME, ParentName)
Definition gtype.h:1602
gint gboolean
Definition gtypes.h:56
void * gpointer
Definition gtypes.h:109
void(* GDestroyNotify)(gpointer data)
Definition gtypes.h:140