#ifndef _GTK_DTREE_H #define _GTK_DTREE_H #include #define GTK_TYPE_DTREE (gtk_dtree_get_type ()) #define GTK_DTREE(obj) (GTK_CHECK_CAST ((obj), GTK_TYPE_DTREE, GtkDTree)) #define GTK_DTREE_CLASS(klass) (GTK_CHECK_CLASS_CAST ((klass), GTK_TYPE_DTREE, GtkDTreeClass)) #define GTK_IS_DTREE(obj) (GTK_CHECK_TYPE ((obj), GTK_TYPE_DTREE)) #define GTK_IS_DTREE_CLASS(klass) (GTK_CHECK_CLASS_TYPE ((klass), GTK_TYPE_DTREE)) typedef struct { GtkCTree ctree; char *current_path; char *requested_path; int visible; int scan_level; char *drag_dir; GList *auto_expanded_nodes; GtkCTreeNode *root_node; /* root node */ GtkCTreeNode *last_node; /* last visited node */ /* Pixmaps for showing directories */ GdkPixmap *pixmap_open; GdkPixmap *pixmap_close; /* Masks */ GdkBitmap *bitmap_open; GdkBitmap *bitmap_close; unsigned short internal; unsigned short loading_dir; int *show_dot_files; unsigned short removing_rows; } GtkDTree; typedef struct { GtkCTreeClass parent_class; void (* directory_changed) (GtkDTree *dtree, char *directory); void (* scan_begin) (GtkDTree *dtree); void (* scan_end) (GtkDTree *dtree); void (* possibly_ungrab) (GtkDTree *dtree); } GtkDTreeClass; guint gtk_dtree_get_type (void); GtkWidget *gtk_dtree_new (void); gboolean gtk_dtree_select_dir (GtkDTree *dtree, char *directory); char *gtk_dtree_get_row_path (GtkDTree *ctree, GtkCTreeNode *row); void gtk_dtree_construct (GtkDTree *dtree); gboolean gtk_dtree_is_ancestor (GtkDTree *dtree, GtkCTreeNode *node, GtkCTreeNode *child); #endif