diff options
author | Lars Hamann <lars@gtk.org> | 1998-08-17 23:48:04 +0000 |
---|---|---|
committer | Lars Hamann <lars@src.gnome.org> | 1998-08-17 23:48:04 +0000 |
commit | 17d141c8e5a9d8a811bf3bceeeb812c77419dc17 (patch) | |
tree | e1bdcbe0baa53b494528ab1d9032c62f452410ed /gtk/gtkctree.h | |
parent | 47215ba40332127afcaed8c9b7f21d9591af59a0 (diff) | |
download | gdk-pixbuf-17d141c8e5a9d8a811bf3bceeeb812c77419dc17.tar.gz |
new class methods: (sort_list) (insert_row) (remove_row)
Tue Aug 18 00:29:13 1998 Lars Hamann <lars@gtk.org>
* gtk/gtkclist.h:
(struct _GtkCListClass): new class methods:
(sort_list) (insert_row) (remove_row) (set_cell_contents)
* gtk/gtkclist.c :
(cell_empty) (cell_set_text) (cell_set_pixmap) (cell_set_pixtext):
removed and replaced by (set_cell_contents)
(set_cell_contents): function for class method set_cell_contents
(real_insert_row): function for class method insert_row
(real_remoce_row): function for class method remove_row
(real_sort_list): function for class method sort_list
(default_compare): fix to avoid problems with cell types != CELL_TEXT
* gtk/gtkctree.h :
(gtk_ctree_export_to_gnode): new function to export a ctree as gnode
(gtk_ctree_node_is_visible): new function to return visibility state
of a node
(gtk_ctree_show_stub): new function to set visibility of root stub
renamed functions :
(gtk_ctree_insert) -> (gtk_ctree_insert_node)
(gtk_ctree_remove) -> (gtk_ctree_remove_node)
(gtk_ctree_find_glist_ptr) -> (gtk_ctree_find_node_ptr)
(gtk_ctree_set_text) -> (gtk_ctree_node_set_text)
(gtk_ctree_set_pixmap) -> (gtk_ctree_node_set_pixmap)
(gtk_ctree_set_pixtext) -> (gtk_ctree_node_set_pixtext)
(gtk_ctree_set_shift) -> (gtk_ctree_node_set_shift)
(gtk_ctree_get_cell_type) -> (gtk_ctree_node_get_cell_type)
(gtk_ctree_get_text) -> (gtk_ctree_node_get_text)
(gtk_ctree_get_pixmap) -> (gtk_ctree_node_get_pixmap)
(gtk_ctree_get_pixtext) -> (gtk_ctree_node_get_pixtext)
(gtk_ctree_set_foreground) -> (gtk_ctree_node_set_foreground)
(gtk_ctree_set_background) -> (gtk_ctree_node_set_background)
(gtk_ctree_set_row_data) -> (gtk_ctree_node_set_row_data)
(gtk_ctree_set_row_data_full) -> (gtk_ctree_node_set_row_data_full)
(gtk_ctree_get_row_data) -> (gtk_ctree_node_get_row_data)
(gtk_ctree_moveto) -> (gtk_ctree_node_moveto)
(gtk_ctree_sort) -> (gtk_ctree_sort_node)
(gtk_ctree_is_visibe) -> (gtk_ctree_is_viewable)
* gtk/gtkctree.c :
(cell_empty) (cell_set_text) (cell_set_pixmap) (cell_set_pixtext):
removed and replaced by (set_cell_contents)
(set_cell_contents): function for class method set_cell_contents
(real_insert_row): function for class method insert_row
(real_remoce_row): function for class method remove_row
(real_sort_list): function for class method sort_list
(default_compare): removed. CTree now also compares two GtkCTreeRows
instead of two GtkCTreeNodes.
(gtk_ctree_unlink): call gtk_ctree_collapse if parent is empty after
unlinking the node
(real_tree_expand) (real_tree_collapse): fix for refcounting of
node pixmaps
(set_node_info): call gtk_ctree_node_set_pixtext instead of
manipulating the row itself
* gtk/testgtk.c: use renamed functions of GtkCTree.
new sample to show gtk_ctree_export_to_gnode and gtk_ctree_insert_gnode
at work.
Diffstat (limited to 'gtk/gtkctree.h')
-rw-r--r-- | gtk/gtkctree.h | 398 |
1 files changed, 203 insertions, 195 deletions
diff --git a/gtk/gtkctree.h b/gtk/gtkctree.h index 7765c75e7..5854e57b9 100644 --- a/gtk/gtkctree.h +++ b/gtk/gtkctree.h @@ -42,9 +42,6 @@ extern "C" #define GTK_CTREE_NODE(_node_) ((GtkCTreeNode *)((_node_))) #define GTK_CTREE_NODE_NEXT(_nnode_) ((GtkCTreeNode *)(((GList *)(_nnode_))->next)) #define GTK_CTREE_NODE_PREV(_pnode_) ((GtkCTreeNode *)(((GList *)(_pnode_))->prev)) -#define GTK_CTREE_TREE(_ctree_, _glist_) \ - ((GtkCellTree *) &(((GtkCTreeRow *)((_glist_)->data))->cell[(_ctree_)->tree_col])) - #define GTK_CTREE_FUNC(_func_) ((GtkCTreeFunc)(_func_)) typedef enum @@ -114,6 +111,7 @@ struct _GtkCTree guint in_drag : 1; guint drag_rect : 1; guint line_style : 2; + guint show_stub : 1; GtkCTreeCompareDragFunc drag_compare; }; @@ -168,228 +166,238 @@ struct _GtkCTreeNode { * Creation, insertion, deletion * ***********************************************************/ -GtkType gtk_ctree_get_type (void); -void gtk_ctree_construct (GtkCTree *ctree, - gint columns, - gint tree_column, - gchar *titles[]); -GtkWidget * gtk_ctree_new_with_titles (gint columns, - gint tree_column, - gchar *titles[]); -GtkWidget * gtk_ctree_new (gint columns, - gint tree_column); -GtkCTreeNode * gtk_ctree_insert (GtkCTree *ctree, - GtkCTreeNode *parent, - GtkCTreeNode *sibling, - gchar *text[], - guint8 spacing, - GdkPixmap *pixmap_closed, - GdkBitmap *mask_closed, - GdkPixmap *pixmap_opened, - GdkBitmap *mask_opened, - gboolean is_leaf, - gboolean expanded); -GtkCTreeNode * gtk_ctree_insert_gnode (GtkCTree *ctree, - GtkCTreeNode *parent, - GtkCTreeNode *sibling, - GNode *gnode, - GtkCTreeGNodeFunc func, - gpointer data); -void gtk_ctree_remove (GtkCTree *ctree, - GtkCTreeNode *node); +GtkType gtk_ctree_get_type (void); +void gtk_ctree_construct (GtkCTree *ctree, + gint columns, + gint tree_column, + gchar *titles[]); +GtkWidget * gtk_ctree_new_with_titles (gint columns, + gint tree_column, + gchar *titles[]); +GtkWidget * gtk_ctree_new (gint columns, + gint tree_column); +GtkCTreeNode * gtk_ctree_insert_node (GtkCTree *ctree, + GtkCTreeNode *parent, + GtkCTreeNode *sibling, + gchar *text[], + guint8 spacing, + GdkPixmap *pixmap_closed, + GdkBitmap *mask_closed, + GdkPixmap *pixmap_opened, + GdkBitmap *mask_opened, + gboolean is_leaf, + gboolean expanded); +void gtk_ctree_remove_node (GtkCTree *ctree, + GtkCTreeNode *node); +GtkCTreeNode * gtk_ctree_insert_gnode (GtkCTree *ctree, + GtkCTreeNode *parent, + GtkCTreeNode *sibling, + GNode *gnode, + GtkCTreeGNodeFunc func, + gpointer data); +GNode * gtk_ctree_export_to_gnode (GtkCTree *ctree, + GNode *parent, + GNode *sibling, + GtkCTreeNode *node, + GtkCTreeGNodeFunc func, + gpointer data); /*********************************************************** * Generic recursive functions, querying / finding tree * * information * ***********************************************************/ -void gtk_ctree_post_recursive (GtkCTree *ctree, - GtkCTreeNode *node, - GtkCTreeFunc func, - gpointer data); -void gtk_ctree_post_recursive_to_depth (GtkCTree *ctree, - GtkCTreeNode *node, - gint depth, - GtkCTreeFunc func, - gpointer data); -void gtk_ctree_pre_recursive (GtkCTree *ctree, - GtkCTreeNode *node, - GtkCTreeFunc func, - gpointer data); -void gtk_ctree_pre_recursive_to_depth (GtkCTree *ctree, - GtkCTreeNode *node, - gint depth, - GtkCTreeFunc func, - gpointer data); -gboolean gtk_ctree_is_visible (GtkCTree *ctree, - GtkCTreeNode *node); -GtkCTreeNode * gtk_ctree_last (GtkCTree *ctree, - GtkCTreeNode *node); -GtkCTreeNode * gtk_ctree_find_glist_ptr (GtkCTree *ctree, - GtkCTreeRow *ctree_row); -gboolean gtk_ctree_find (GtkCTree *ctree, - GtkCTreeNode *node, - GtkCTreeNode *child); -gboolean gtk_ctree_is_ancestor (GtkCTree *ctree, - GtkCTreeNode *node, - GtkCTreeNode *child); -GtkCTreeNode * gtk_ctree_find_by_row_data (GtkCTree *ctree, - GtkCTreeNode *node, - gpointer data); +void gtk_ctree_post_recursive (GtkCTree *ctree, + GtkCTreeNode *node, + GtkCTreeFunc func, + gpointer data); +void gtk_ctree_post_recursive_to_depth (GtkCTree *ctree, + GtkCTreeNode *node, + gint depth, + GtkCTreeFunc func, + gpointer data); +void gtk_ctree_pre_recursive (GtkCTree *ctree, + GtkCTreeNode *node, + GtkCTreeFunc func, + gpointer data); +void gtk_ctree_pre_recursive_to_depth (GtkCTree *ctree, + GtkCTreeNode *node, + gint depth, + GtkCTreeFunc func, + gpointer data); +gboolean gtk_ctree_is_viewable (GtkCTree *ctree, + GtkCTreeNode *node); +GtkCTreeNode * gtk_ctree_last (GtkCTree *ctree, + GtkCTreeNode *node); +GtkCTreeNode * gtk_ctree_find_node_ptr (GtkCTree *ctree, + GtkCTreeRow *ctree_row); +gboolean gtk_ctree_find (GtkCTree *ctree, + GtkCTreeNode *node, + GtkCTreeNode *child); +gboolean gtk_ctree_is_ancestor (GtkCTree *ctree, + GtkCTreeNode *node, + GtkCTreeNode *child); +GtkCTreeNode * gtk_ctree_find_by_row_data (GtkCTree *ctree, + GtkCTreeNode *node, + gpointer data); GtkCTreeNode * gtk_ctree_find_by_row_data_custom (GtkCTree *ctree, GtkCTreeNode *node, gpointer data, GCompareFunc func); -gboolean gtk_ctree_is_hot_spot (GtkCTree *ctree, - gint x, - gint y); +gboolean gtk_ctree_is_hot_spot (GtkCTree *ctree, + gint x, + gint y); /*********************************************************** * Tree signals : move, expand, collapse, (un)select * ***********************************************************/ -void gtk_ctree_move (GtkCTree *ctree, - GtkCTreeNode *node, - GtkCTreeNode *new_parent, - GtkCTreeNode *new_sibling); -void gtk_ctree_expand (GtkCTree *ctree, - GtkCTreeNode *node); -void gtk_ctree_expand_recursive (GtkCTree *ctree, - GtkCTreeNode *node); -void gtk_ctree_expand_to_depth (GtkCTree *ctree, - GtkCTreeNode *node, - gint depth); -void gtk_ctree_collapse (GtkCTree *ctree, - GtkCTreeNode *node); -void gtk_ctree_collapse_recursive (GtkCTree *ctree, - GtkCTreeNode *node); -void gtk_ctree_collapse_to_depth (GtkCTree *ctree, - GtkCTreeNode *node, - gint depth); -void gtk_ctree_toggle_expansion (GtkCTree *ctree, - GtkCTreeNode *node); -void gtk_ctree_toggle_expansion_recursive (GtkCTree *ctree, - GtkCTreeNode *node); -void gtk_ctree_select (GtkCTree *ctree, - GtkCTreeNode *node); -void gtk_ctree_select_recursive (GtkCTree *ctree, - GtkCTreeNode *node); -void gtk_ctree_unselect (GtkCTree *ctree, - GtkCTreeNode *node); -void gtk_ctree_unselect_recursive (GtkCTree *ctree, - GtkCTreeNode *node); -void gtk_ctree_real_select_recursive (GtkCTree *ctree, - GtkCTreeNode *node, - gint state); +void gtk_ctree_move (GtkCTree *ctree, + GtkCTreeNode *node, + GtkCTreeNode *new_parent, + GtkCTreeNode *new_sibling); +void gtk_ctree_expand (GtkCTree *ctree, + GtkCTreeNode *node); +void gtk_ctree_expand_recursive (GtkCTree *ctree, + GtkCTreeNode *node); +void gtk_ctree_expand_to_depth (GtkCTree *ctree, + GtkCTreeNode *node, + gint depth); +void gtk_ctree_collapse (GtkCTree *ctree, + GtkCTreeNode *node); +void gtk_ctree_collapse_recursive (GtkCTree *ctree, + GtkCTreeNode *node); +void gtk_ctree_collapse_to_depth (GtkCTree *ctree, + GtkCTreeNode *node, + gint depth); +void gtk_ctree_toggle_expansion (GtkCTree *ctree, + GtkCTreeNode *node); +void gtk_ctree_toggle_expansion_recursive (GtkCTree *ctree, + GtkCTreeNode *node); +void gtk_ctree_select (GtkCTree *ctree, + GtkCTreeNode *node); +void gtk_ctree_select_recursive (GtkCTree *ctree, + GtkCTreeNode *node); +void gtk_ctree_unselect (GtkCTree *ctree, + GtkCTreeNode *node); +void gtk_ctree_unselect_recursive (GtkCTree *ctree, + GtkCTreeNode *node); +void gtk_ctree_real_select_recursive (GtkCTree *ctree, + GtkCTreeNode *node, + gint state); /*********************************************************** * Analogons of GtkCList functions * ***********************************************************/ -void gtk_ctree_set_text (GtkCTree *ctree, - GtkCTreeNode *node, - gint column, - gchar *text); -void gtk_ctree_set_pixmap (GtkCTree *ctree, - GtkCTreeNode *node, - gint column, - GdkPixmap *pixmap, - GdkBitmap *mask); -void gtk_ctree_set_pixtext (GtkCTree *ctree, - GtkCTreeNode *node, - gint column, - gchar *text, - guint8 spacing, - GdkPixmap *pixmap, - GdkBitmap *mask); -void gtk_ctree_set_node_info (GtkCTree *ctree, - GtkCTreeNode *node, - gchar *text, - guint8 spacing, - GdkPixmap *pixmap_closed, - GdkBitmap *mask_closed, - GdkPixmap *pixmap_opened, - GdkBitmap *mask_opened, - gboolean is_leaf, - gboolean expanded); -void gtk_ctree_set_shift (GtkCTree *ctree, - GtkCTreeNode *node, - gint column, - gint vertical, - gint horizontal); -GtkCellType gtk_ctree_get_cell_type (GtkCTree *ctree, - GtkCTreeNode *node, - gint column); -gint gtk_ctree_get_text (GtkCTree *ctree, - GtkCTreeNode *node, - gint column, - gchar **text); -gint gtk_ctree_get_pixmap (GtkCTree *ctree, - GtkCTreeNode *node, - gint column, - GdkPixmap **pixmap, - GdkBitmap **mask); -gint gtk_ctree_get_pixtext (GtkCTree *ctree, - GtkCTreeNode *node, - gint column, - gchar **text, - guint8 *spacing, - GdkPixmap **pixmap, - GdkBitmap **mask); -gint gtk_ctree_get_node_info (GtkCTree *ctree, - GtkCTreeNode *node, - gchar **text, - guint8 *spacing, - GdkPixmap **pixmap_closed, - GdkBitmap **mask_closed, - GdkPixmap **pixmap_opened, - GdkBitmap **mask_opened, - gboolean *is_leaf, - gboolean *expanded); -void gtk_ctree_set_foreground (GtkCTree *ctree, - GtkCTreeNode *node, - GdkColor *color); -void gtk_ctree_set_background (GtkCTree *ctree, - GtkCTreeNode *node, - GdkColor *color); -void gtk_ctree_set_row_data (GtkCTree *ctree, - GtkCTreeNode *node, - gpointer data); -void gtk_ctree_set_row_data_full (GtkCTree *ctree, - GtkCTreeNode *node, - gpointer data, - GtkDestroyNotify destroy); -gpointer gtk_ctree_get_row_data (GtkCTree *ctree, - GtkCTreeNode *node); -void gtk_ctree_moveto (GtkCTree *ctree, - GtkCTreeNode *node, - gint column, - gfloat row_align, - gfloat col_align); +void gtk_ctree_node_set_text (GtkCTree *ctree, + GtkCTreeNode *node, + gint column, + gchar *text); +void gtk_ctree_node_set_pixmap (GtkCTree *ctree, + GtkCTreeNode *node, + gint column, + GdkPixmap *pixmap, + GdkBitmap *mask); +void gtk_ctree_node_set_pixtext (GtkCTree *ctree, + GtkCTreeNode *node, + gint column, + gchar *text, + guint8 spacing, + GdkPixmap *pixmap, + GdkBitmap *mask); +void gtk_ctree_set_node_info (GtkCTree *ctree, + GtkCTreeNode *node, + gchar *text, + guint8 spacing, + GdkPixmap *pixmap_closed, + GdkBitmap *mask_closed, + GdkPixmap *pixmap_opened, + GdkBitmap *mask_opened, + gboolean is_leaf, + gboolean expanded); +void gtk_ctree_node_set_shift (GtkCTree *ctree, + GtkCTreeNode *node, + gint column, + gint vertical, + gint horizontal); +GtkCellType gtk_ctree_node_get_cell_type (GtkCTree *ctree, + GtkCTreeNode *node, + gint column); +gint gtk_ctree_node_get_text (GtkCTree *ctree, + GtkCTreeNode *node, + gint column, + gchar **text); +gint gtk_ctree_node_get_pixmap (GtkCTree *ctree, + GtkCTreeNode *node, + gint column, + GdkPixmap **pixmap, + GdkBitmap **mask); +gint gtk_ctree_node_get_pixtext (GtkCTree *ctree, + GtkCTreeNode *node, + gint column, + gchar **text, + guint8 *spacing, + GdkPixmap **pixmap, + GdkBitmap **mask); +gint gtk_ctree_get_node_info (GtkCTree *ctree, + GtkCTreeNode *node, + gchar **text, + guint8 *spacing, + GdkPixmap **pixmap_closed, + GdkBitmap **mask_closed, + GdkPixmap **pixmap_opened, + GdkBitmap **mask_opened, + gboolean *is_leaf, + gboolean *expanded); +void gtk_ctree_node_set_foreground (GtkCTree *ctree, + GtkCTreeNode *node, + GdkColor *color); +void gtk_ctree_node_set_background (GtkCTree *ctree, + GtkCTreeNode *node, + GdkColor *color); +void gtk_ctree_node_set_row_data (GtkCTree *ctree, + GtkCTreeNode *node, + gpointer data); +void gtk_ctree_node_set_row_data_full (GtkCTree *ctree, + GtkCTreeNode *node, + gpointer data, + GtkDestroyNotify destroy); +gpointer gtk_ctree_node_get_row_data (GtkCTree *ctree, + GtkCTreeNode *node); +void gtk_ctree_node_moveto (GtkCTree *ctree, + GtkCTreeNode *node, + gint column, + gfloat row_align, + gfloat col_align); +GtkVisibility gtk_ctree_node_is_visible (GtkCTree *ctree, + GtkCTreeNode *node); /*********************************************************** * GtkCTree specific functions * ***********************************************************/ -void gtk_ctree_set_indent (GtkCTree *ctree, - gint indent); -void gtk_ctree_set_reorderable (GtkCTree *ctree, - gboolean reorderable); -void gtk_ctree_set_use_drag_icons (GtkCTree *ctree, - gboolean use_icons); -void gtk_ctree_set_line_style (GtkCTree *ctree, - GtkCTreeLineStyle line_style); -void gtk_ctree_set_drag_compare_func (GtkCTree *ctree, - GtkCTreeCompareDragFunc cmp_func); +void gtk_ctree_set_indent (GtkCTree *ctree, + gint indent); +void gtk_ctree_show_stub (GtkCTree *ctree, + gboolean show_stub); +void gtk_ctree_set_reorderable (GtkCTree *ctree, + gboolean reorderable); +void gtk_ctree_set_use_drag_icons (GtkCTree *ctree, + gboolean use_icons); +void gtk_ctree_set_line_style (GtkCTree *ctree, + GtkCTreeLineStyle line_style); +void gtk_ctree_set_drag_compare_func (GtkCTree *ctree, + GtkCTreeCompareDragFunc cmp_func); /*********************************************************** * Tree sorting functions * ***********************************************************/ -void gtk_ctree_sort (GtkCTree *ctree, - GtkCTreeNode *node); -void gtk_ctree_sort_recursive (GtkCTree *ctree, - GtkCTreeNode *node); +void gtk_ctree_sort_node (GtkCTree *ctree, + GtkCTreeNode *node); +void gtk_ctree_sort_recursive (GtkCTree *ctree, + GtkCTreeNode *node); #ifdef __cplusplus } #endif /* __cplusplus */ |