diff options
Diffstat (limited to 'browse_model.h')
-rw-r--r-- | browse_model.h | 50 |
1 files changed, 50 insertions, 0 deletions
diff --git a/browse_model.h b/browse_model.h new file mode 100644 index 0000000..1070d74 --- /dev/null +++ b/browse_model.h @@ -0,0 +1,50 @@ +#ifndef _BROWSE_MODEL_H_ +#define _BROWSE_MODEL_H_ + +#include <gtk/gtk.h> +#include <glib.h> + +#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 |