]> Pileus Git - ~andy/gtk/blobdiff - gtk/gtkfilesystemmodel.h
GtkWidget::draw() - Document how to get the dirty region
[~andy/gtk] / gtk / gtkfilesystemmodel.h
index 4edebe7ee99238c103c56a93332b3847bffa256d..575cc23d07ead02c5c4138a61891242bef737366 100644 (file)
  * 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, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * License along with this library. If not, see <http://www.gnu.org/licenses/>.
  */
 
 #ifndef __GTK_FILE_SYSTEM_MODEL_H__
 #define __GTK_FILE_SYSTEM_MODEL_H__
 
-#include <glib-object.h>
-#include "gtkfilesystem.h"
+#include <gio/gio.h>
+#include <gtk/gtkfilefilter.h>
 #include <gtk/gtktreemodel.h>
 
 G_BEGIN_DECLS
@@ -33,40 +31,65 @@ G_BEGIN_DECLS
 
 typedef struct _GtkFileSystemModel      GtkFileSystemModel;
 
-GType _gtk_file_system_model_get_type (void);
+GType _gtk_file_system_model_get_type (void) G_GNUC_CONST;
 
-enum {
-  GTK_FILE_SYSTEM_MODEL_URI,
-  GTK_FILE_SYSTEM_MODEL_INFO,
-  GTK_FILE_SYSTEM_MODEL_DISPLAY_NAME,
-  GTK_FILE_SYSTEM_MODEL_N_COLUMNS
-} GtkFileSystemModelColumns;
+typedef gboolean (*GtkFileSystemModelGetValue)   (GtkFileSystemModel *model,
+                                                  GFile              *file,
+                                                  GFileInfo          *info,
+                                                  int                 column,
+                                                  GValue             *value,
+                                                  gpointer            user_data);
 
-GtkFileSystemModel *_gtk_file_system_model_new              (GtkFileSystem      *file_system,
-                                                            const gchar        *root_uri,
-                                                            gint                max_depth,
-                                                            GtkFileInfoType     types);
-const GtkFileInfo * _gtk_file_system_model_get_info         (GtkFileSystemModel *model,
+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,
+                                                             const gchar *       attributes,
+                                                             GtkFileSystemModelGetValue get_func,
+                                                             gpointer            get_data,
+                                                             guint               n_columns,
+                                                             ...);
+GCancellable *      _gtk_file_system_model_get_cancellable  (GtkFileSystemModel *model);
+gboolean            _gtk_file_system_model_iter_is_visible  (GtkFileSystemModel *model,
                                                             GtkTreeIter        *iter);
-const gchar *       _gtk_file_system_model_get_uri          (GtkFileSystemModel *model,
+gboolean            _gtk_file_system_model_iter_is_filtered_out (GtkFileSystemModel *model,
+                                                                GtkTreeIter        *iter);
+GFileInfo *         _gtk_file_system_model_get_info         (GtkFileSystemModel *model,
                                                             GtkTreeIter        *iter);
+gboolean            _gtk_file_system_model_get_iter_for_file(GtkFileSystemModel *model,
+                                                            GtkTreeIter        *iter,
+                                                            GFile              *file);
+GFile *             _gtk_file_system_model_get_file         (GtkFileSystemModel *model,
+                                                            GtkTreeIter        *iter);
+const GValue *      _gtk_file_system_model_get_value        (GtkFileSystemModel *model,
+                                                             GtkTreeIter *       iter,
+                                                             int                 column);
+
+void                _gtk_file_system_model_add_and_query_file (GtkFileSystemModel *model,
+                                                             GFile              *file,
+                                                             const char         *attributes);
+void                _gtk_file_system_model_update_file      (GtkFileSystemModel *model,
+                                                             GFile              *file,
+                                                             GFileInfo          *info);
+
 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);
+void                _gtk_file_system_model_set_filter_folders (GtkFileSystemModel *model,
+                                                            gboolean            show_folders);
+void                _gtk_file_system_model_clear_cache      (GtkFileSystemModel *model,
+                                                             int                 column);
 
+void                _gtk_file_system_model_set_filter       (GtkFileSystemModel *model,
+                                                             GtkFileFilter      *filter);
 
-typedef void (*GtkFileSystemModelURIFunc) (GtkFileSystemModel *model,
-                                          GtkTreePath        *path,
-                                          GtkTreeIter        *iter,
-                                          gpointer            user_data);
-                                  
-gboolean _gtk_file_system_model_uri_do (GtkFileSystemModel       *model,
-                                       const gchar              *uri,
-                                       GtkFileSystemModelURIFunc func,
-                                       gpointer                  user_data);
+void _gtk_file_system_model_add_editable    (GtkFileSystemModel *model,
+                                            GtkTreeIter        *iter);
+void _gtk_file_system_model_remove_editable (GtkFileSystemModel *model);
 
 G_END_DECLS