gtkfilesystemmodel.h 5.78 KB
Newer Older
Cody Russell's avatar
Cody Russell committed
1
/* GTK - The GIMP Toolkit
Owen Taylor's avatar
Owen Taylor committed
2 3 4 5 6 7 8 9 10 11 12 13 14 15
 * gtkfilesystemmodel.h: GtkTreeModel wrapping a GtkFileSystem
 * Copyright (C) 2003, Red Hat, Inc.
 *
 * 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 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
Javier Jardón's avatar
Javier Jardón committed
16
 * License along with this library. If not, see <http://www.gnu.org/licenses/>.
Owen Taylor's avatar
Owen Taylor committed
17 18 19 20 21
 */

#ifndef __GTK_FILE_SYSTEM_MODEL_H__
#define __GTK_FILE_SYSTEM_MODEL_H__

22 23
#include <gio/gio.h>
#include <gtk/gtkfilefilter.h>
Owen Taylor's avatar
Owen Taylor committed
24 25 26 27 28 29 30 31 32 33
#include <gtk/gtktreemodel.h>

G_BEGIN_DECLS

#define GTK_TYPE_FILE_SYSTEM_MODEL             (_gtk_file_system_model_get_type ())
#define GTK_FILE_SYSTEM_MODEL(obj)             (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_TYPE_FILE_SYSTEM_MODEL, GtkFileSystemModel))
#define GTK_IS_FILE_SYSTEM_MODEL(obj)          (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GTK_TYPE_FILE_SYSTEM_MODEL))

typedef struct _GtkFileSystemModel      GtkFileSystemModel;

Matthias Clasen's avatar
Matthias Clasen committed
34
GType _gtk_file_system_model_get_type (void) G_GNUC_CONST;
Owen Taylor's avatar
Owen Taylor committed
35

36 37 38 39 40 41
typedef gboolean (*GtkFileSystemModelGetValue)   (GtkFileSystemModel *model,
                                                  GFile              *file,
                                                  GFileInfo          *info,
                                                  int                 column,
                                                  GValue             *value,
                                                  gpointer            user_data);
Owen Taylor's avatar
Owen Taylor committed
42

43 44 45 46 47
GtkFileSystemModel *_gtk_file_system_model_new              (GtkFileSystemModelGetValue get_func,
                                                             gpointer            get_data,
                                                             guint               n_columns,
                                                             ...);
GtkFileSystemModel *_gtk_file_system_model_new_for_directory(GFile *             dir,
48 49 50 51 52
                                                             const gchar *       attributes,
                                                             GtkFileSystemModelGetValue get_func,
                                                             gpointer            get_data,
                                                             guint               n_columns,
                                                             ...);
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 58
gboolean            _gtk_file_system_model_iter_is_filtered_out (GtkFileSystemModel *model,
								 GtkTreeIter        *iter);
59
GFileInfo *         _gtk_file_system_model_get_info         (GtkFileSystemModel *model,
Owen Taylor's avatar
Owen Taylor committed
60
							     GtkTreeIter        *iter);
61 62 63
gboolean            _gtk_file_system_model_get_iter_for_file(GtkFileSystemModel *model,
							     GtkTreeIter        *iter,
							     GFile              *file);
64
GFile *             _gtk_file_system_model_get_file         (GtkFileSystemModel *model,
Owen Taylor's avatar
Owen Taylor committed
65
							     GtkTreeIter        *iter);
66 67 68 69
const GValue *      _gtk_file_system_model_get_value        (GtkFileSystemModel *model,
                                                             GtkTreeIter *       iter,
                                                             int                 column);

70 71 72 73 74 75
void                _gtk_file_system_model_add_and_query_file  (GtkFileSystemModel *model,
                                                                GFile              *file,
                                                                const char         *attributes);
void                _gtk_file_system_model_add_and_query_files (GtkFileSystemModel *model,
                                                                GList              *files,
                                                                const char         *attributes);
76 77
void                _gtk_file_system_model_update_file      (GtkFileSystemModel *model,
                                                             GFile              *file,
78
                                                             GFileInfo          *info);
79 80 81
void                _gtk_file_system_model_update_files     (GtkFileSystemModel *model,
                                                             GList              *files,
                                                             GList              *infos);
82

Owen Taylor's avatar
Owen Taylor committed
83 84 85 86 87 88
void                _gtk_file_system_model_set_show_hidden  (GtkFileSystemModel *model,
							     gboolean            show_hidden);
void                _gtk_file_system_model_set_show_folders (GtkFileSystemModel *model,
							     gboolean            show_folders);
void                _gtk_file_system_model_set_show_files   (GtkFileSystemModel *model,
							     gboolean            show_files);
89 90
void                _gtk_file_system_model_set_filter_folders (GtkFileSystemModel *model,
							     gboolean            show_folders);
91 92
void                _gtk_file_system_model_clear_cache      (GtkFileSystemModel *model,
                                                             int                 column);
Owen Taylor's avatar
Owen Taylor committed
93

94 95
void                _gtk_file_system_model_set_filter       (GtkFileSystemModel *model,
                                                             GtkFileFilter      *filter);
Owen Taylor's avatar
Owen Taylor committed
96 97 98 99

G_END_DECLS

#endif /* __GTK_FILE_SYSTEM_MODEL_H__ */