summaryrefslogtreecommitdiff
path: root/gtk/gtkrbtree.h
diff options
context:
space:
mode:
authorJonathan Blandford <jrb@redhat.com>2001-12-04 23:49:57 +0000
committerJonathan Blandford <jrb@src.gnome.org>2001-12-04 23:49:57 +0000
commitd1a858c8371d849e2fca3b306e6076c8241d3943 (patch)
treecac03e2a4704eb52d90eed6bebc59c43d50ca721 /gtk/gtkrbtree.h
parent57506c438b37586a189330e7023682f56ed58c7f (diff)
downloadgtk+-d1a858c8371d849e2fca3b306e6076c8241d3943.tar.gz
Minor fix.
Tue Dec 4 18:38:35 2001 Jonathan Blandford <jrb@redhat.com> * demos/gtk-demo/main.c: (create_tree): Minor fix. * docs/tree-column-sizing.txt: Update * gtk/gtkrbtree.[ch]: Massive work to support validation. * gtk/gtktreemodel.c: Doc fixes. * gtk/gtktreeview.c: Incremental reflow added. * gtk/gtktreeviewcolumn.c: ditto * gtk/gtktreeviewcolumn.h: ditto
Diffstat (limited to 'gtk/gtkrbtree.h')
-rw-r--r--gtk/gtkrbtree.h20
1 files changed, 16 insertions, 4 deletions
diff --git a/gtk/gtkrbtree.h b/gtk/gtkrbtree.h
index 793b8691ed..9db2ae2c26 100644
--- a/gtk/gtkrbtree.h
+++ b/gtk/gtkrbtree.h
@@ -37,8 +37,16 @@ typedef enum
GTK_RBNODE_IS_SEMI_COLLAPSED = 1 << 5,
GTK_RBNODE_IS_SEMI_EXPANDED = 1 << 6,
GTK_RBNODE_INVALID = 1 << 7,
- GTK_RBNODE_DESCENDANTS_INVALID = 1 << 8,
- GTK_RBNODE_NON_COLORS = GTK_RBNODE_IS_PARENT | GTK_RBNODE_IS_SELECTED | GTK_RBNODE_IS_PRELIT | GTK_RBNODE_IS_SEMI_COLLAPSED | GTK_RBNODE_IS_SEMI_EXPANDED | GTK_RBNODE_INVALID | GTK_RBNODE_DESCENDANTS_INVALID
+ GTK_RBNODE_COLUMN_INVALID = 1 << 8,
+ GTK_RBNODE_DESCENDANTS_INVALID = 1 << 9,
+ GTK_RBNODE_NON_COLORS = GTK_RBNODE_IS_PARENT |
+ GTK_RBNODE_IS_SELECTED |
+ GTK_RBNODE_IS_PRELIT |
+ GTK_RBNODE_IS_SEMI_COLLAPSED |
+ GTK_RBNODE_IS_SEMI_EXPANDED |
+ GTK_RBNODE_INVALID |
+ GTK_RBNODE_COLUMN_INVALID |
+ GTK_RBNODE_DESCENDANTS_INVALID
} GtkRBNodeColor;
typedef struct _GtkRBTree GtkRBTree;
@@ -93,6 +101,7 @@ struct _GtkRBNode
GtkRBTree *children;
};
+
#define GTK_RBNODE_GET_COLOR(node) (node?(((node->flags&GTK_RBNODE_RED)==GTK_RBNODE_RED)?GTK_RBNODE_RED:GTK_RBNODE_BLACK):GTK_RBNODE_BLACK)
#define GTK_RBNODE_SET_COLOR(node,color) if((node->flags&color)!=color)node->flags=node->flags^(GTK_RBNODE_RED|GTK_RBNODE_BLACK)
#define GTK_RBNODE_GET_HEIGHT(node) (node->offset-(node->left->offset+node->right->offset+(node->children?node->children->root->offset:0)))
@@ -109,10 +118,12 @@ void _gtk_rbtree_remove (GtkRBTree *tree);
void _gtk_rbtree_destroy (GtkRBTree *tree);
GtkRBNode *_gtk_rbtree_insert_before (GtkRBTree *tree,
GtkRBNode *node,
- gint height);
+ gint height,
+ gboolean valid);
GtkRBNode *_gtk_rbtree_insert_after (GtkRBTree *tree,
GtkRBNode *node,
- gint height);
+ gint height,
+ gboolean valid);
void _gtk_rbtree_remove_node (GtkRBTree *tree,
GtkRBNode *node);
void _gtk_rbtree_reorder (GtkRBTree *tree,
@@ -127,6 +138,7 @@ void _gtk_rbtree_node_mark_invalid(GtkRBTree *tree,
GtkRBNode *node);
void _gtk_rbtree_node_mark_valid (GtkRBTree *tree,
GtkRBNode *node);
+void _gtk_rbtree_column_invalid (GtkRBTree *tree);
gint _gtk_rbtree_node_find_offset (GtkRBTree *tree,
GtkRBNode *node);
gint _gtk_rbtree_node_find_parity (GtkRBTree *tree,