#ifndef _BROWSE_MODEL_H_ #define _BROWSE_MODEL_H_ #include #include #include "db.h" #define MODEL_TYPE_BROWSE (browse_model_get_type()) #define BROWSE_MODEL(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj), MODEL_TYPE_BROWSE, BrowseModel)) #define BROWSE_MODEL_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST((klass), MODEL_TYPE_BROWSE, BrowseModelClass)) #define MODEL_IS_BROWSE(obj) (G_TYPE_CHECK_INSTANCE_TYPE((obj), MODEL_TYPE_BROWSE)) #define MODEL_IS_BROWSE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE((klass), MODEL_TYPE_BROWSE)) #define BROWSE_MODEL_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS((obj), MODEL_TYPE_BROWSE, BrowseModelClass)) enum { BROWSE_MODEL_COL_NAME = 0, BROWSE_MODEL_N_COLUMNS, }; typedef struct _BrowseModelRecord BrowseModelRecord; typedef struct _BrowseModel BrowseModel; typedef struct _BrowseModelClass BrowseModelClass; struct _BrowseModelRecord { struct directory_t dir; BrowseModelRecord *parent; GArray *children; guint pos; }; struct _BrowseModel { GObject parent; guint num_rows; GArray *rows; gint n_columns; GType column_types[BROWSE_MODEL_N_COLUMNS]; gint stamp; }; struct _BrowseModelClass { GObjectClass parent_class; }; GType browse_model_get_type(); BrowseModel *browse_model_new(); void browse_model_get_dir_record(GtkTreeModel*, GtkTreeIter*, struct directory_t**); #endif