1 #ifndef ASGTKDIRTREE_H_HEADER_INCLUDED 2 #define ASGTKDIRTREE_H_HEADER_INCLUDED 3 4 5 #define ASGTK_TYPE_DIR_TREE (asgtk_dir_tree_get_type ()) 6 #define ASGTK_DIR_TREE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), ASGTK_TYPE_DIR_TREE, ASGtkDirTree)) 7 #define ASGTK_DIR_TREE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), ASGTK_TYPE_DIR_TREE, ASGtkDirTreeClass)) 8 #define ASGTK_IS_DIR_TREE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), ASGTK_TYPE_DIR_TREE)) 9 #define ASGTK_IS_DIR_TREE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), ASGTK_TYPE_DIR_TREE)) 10 #define ASGTK_DIR_TREE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), ASGTK_TYPE_DIR_TREE, ASGtkDirTree)) 11 12 13 struct ASImageListEntry; 14 struct ASImage; 15 struct _ASGtkDirTree; 16 17 typedef void (*_ASGtkDirTree_sel_handler)(struct _ASGtkDirTree *dt, gpointer user_data); 18 19 20 typedef struct _ASGtkDirTree 21 { 22 GtkScrolledWindow parent_instance; 23 24 char *root ; 25 26 GtkTreeView *tree_view; 27 GtkTreeModel *tree_model; 28 GtkCellRenderer *cell; 29 GtkTreeViewColumn *column; 30 31 32 char *curr_selection ; 33 /* screw GTK signals - hate its guts */ 34 _ASGtkDirTree_sel_handler sel_change_handler; 35 gpointer sel_change_user_data; 36 37 }ASGtkDirTree; 38 39 typedef struct _ASGtkDirTreeClass 40 { 41 GtkScrolledWindowClass parent_class; 42 43 }ASGtkDirTreeClass; 44 45 46 GType asgtk_dir_tree_get_type (void) G_GNUC_CONST; 47 48 GtkWidget * asgtk_dir_tree_new (); 49 50 void asgtk_dir_tree_set_root( ASGtkDirTree *dt, char *root, GtkTreeModel *saved_model ); 51 void asgtk_dir_tree_set_title( ASGtkDirTree *dt, const gchar *title ); 52 void asgtk_dir_tree_set_sel_handler( ASGtkDirTree *dt, _ASGtkDirTree_sel_handler sel_change_handler, gpointer user_data ); 53 char *asgtk_dir_tree_get_selection( ASGtkDirTree *dt ); 54 void asgtk_dir_tree_refresh( ASGtkDirTree *dt ); 55 GtkTreeModel *asgtk_dir_tree_get_model( ASGtkDirTree *dt ); 56 GtkTreePath *asgtk_dir_tree_get_curr_path( ASGtkDirTree *dt ); 57 void asgtk_dir_tree_restore_curr_path( ASGtkDirTree *dt, GtkTreePath *path ); 58 59 60 61 #endif /* ASGTKIMAGEDIR_H_HEADER_INCLUDED */ 62