1 | /* GTK - The GIMP Toolkit |
2 | * gtkfilesystemmodel.h: GtkTreeModel wrapping a GtkFileSystem |
3 | * Copyright (C) 2003, 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 Lesser 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 | * Lesser General Public License for more details. |
14 | * |
15 | * You should have received a copy of the GNU Lesser General Public |
16 | * License along with this library. If not, see <http://www.gnu.org/licenses/>. |
17 | */ |
18 | |
19 | #ifndef __GTK_FILE_SYSTEM_MODEL_H__ |
20 | #define __GTK_FILE_SYSTEM_MODEL_H__ |
21 | |
22 | #include <gio/gio.h> |
23 | #include <gtk/gtkfilefilter.h> |
24 | #include <gtk/gtktreemodel.h> |
25 | |
26 | G_BEGIN_DECLS |
27 | |
28 | #define GTK_TYPE_FILE_SYSTEM_MODEL (_gtk_file_system_model_get_type ()) |
29 | #define GTK_FILE_SYSTEM_MODEL(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_TYPE_FILE_SYSTEM_MODEL, GtkFileSystemModel)) |
30 | #define GTK_IS_FILE_SYSTEM_MODEL(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GTK_TYPE_FILE_SYSTEM_MODEL)) |
31 | |
32 | typedef struct _GtkFileSystemModel GtkFileSystemModel; |
33 | |
34 | GType _gtk_file_system_model_get_type (void) G_GNUC_CONST; |
35 | |
36 | typedef gboolean (*GtkFileSystemModelGetValue) (GtkFileSystemModel *model, |
37 | GFile *file, |
38 | GFileInfo *info, |
39 | int column, |
40 | GValue *value, |
41 | gpointer user_data); |
42 | |
43 | GtkFileSystemModel *_gtk_file_system_model_new (GtkFileSystemModelGetValue get_func, |
44 | gpointer get_data, |
45 | guint n_columns, |
46 | ...); |
47 | GtkFileSystemModel *_gtk_file_system_model_new_for_directory(GFile * dir, |
48 | const char * attributes, |
49 | GtkFileSystemModelGetValue get_func, |
50 | gpointer get_data, |
51 | guint n_columns, |
52 | ...); |
53 | GFile * _gtk_file_system_model_get_directory (GtkFileSystemModel *model); |
54 | GCancellable * _gtk_file_system_model_get_cancellable (GtkFileSystemModel *model); |
55 | gboolean _gtk_file_system_model_iter_is_visible (GtkFileSystemModel *model, |
56 | GtkTreeIter *iter); |
57 | gboolean _gtk_file_system_model_iter_is_filtered_out (GtkFileSystemModel *model, |
58 | GtkTreeIter *iter); |
59 | GFileInfo * _gtk_file_system_model_get_info (GtkFileSystemModel *model, |
60 | GtkTreeIter *iter); |
61 | gboolean _gtk_file_system_model_get_iter_for_file(GtkFileSystemModel *model, |
62 | GtkTreeIter *iter, |
63 | GFile *file); |
64 | GFile * _gtk_file_system_model_get_file (GtkFileSystemModel *model, |
65 | GtkTreeIter *iter); |
66 | const GValue * _gtk_file_system_model_get_value (GtkFileSystemModel *model, |
67 | GtkTreeIter * iter, |
68 | int column); |
69 | |
70 | void _gtk_file_system_model_add_and_query_file (GtkFileSystemModel *model, |
71 | GFile *file, |
72 | const char *attributes); |
73 | void _gtk_file_system_model_add_and_query_files (GtkFileSystemModel *model, |
74 | GList *files, |
75 | const char *attributes); |
76 | void _gtk_file_system_model_update_file (GtkFileSystemModel *model, |
77 | GFile *file, |
78 | GFileInfo *info); |
79 | void _gtk_file_system_model_update_files (GtkFileSystemModel *model, |
80 | GList *files, |
81 | GList *infos); |
82 | |
83 | void _gtk_file_system_model_set_show_hidden (GtkFileSystemModel *model, |
84 | gboolean show_hidden); |
85 | void _gtk_file_system_model_set_show_folders (GtkFileSystemModel *model, |
86 | gboolean show_folders); |
87 | void _gtk_file_system_model_set_show_files (GtkFileSystemModel *model, |
88 | gboolean show_files); |
89 | void _gtk_file_system_model_set_filter_folders (GtkFileSystemModel *model, |
90 | gboolean show_folders); |
91 | void _gtk_file_system_model_clear_cache (GtkFileSystemModel *model, |
92 | int column); |
93 | |
94 | void _gtk_file_system_model_set_filter (GtkFileSystemModel *model, |
95 | GtkFileFilter *filter); |
96 | |
97 | G_END_DECLS |
98 | |
99 | #endif /* __GTK_FILE_SYSTEM_MODEL_H__ */ |
100 | |