summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMaciej Stachowiak <mstachow@src.gnome.org>2000-11-28 06:58:47 +0000
committerMaciej Stachowiak <mstachow@src.gnome.org>2000-11-28 06:58:47 +0000
commite66707c487df968a1c7944ea26a7c0e2c6c06306 (patch)
treee3adc3c74611bf6996578cbe9076cfd381eda5d3
parent31a28bc557e9b09e3d26fce168408c428d0b55a1 (diff)
downloadnautilus-e66707c487df968a1c7944ea26a7c0e2c6c06306.tar.gz
reviewed by: Gene Z. Ragan <gzr@eazel.com>
Fixed bugs 3608 (Tree view disclosure triangle behavior on empty folders is confusing) and 4368 (Tree View gets confused by renaming file in closed folder). * libnautilus-extensions/nautilus-ctree.h: Reindented. * libnautilus-extensions/nautilus-ctree.c: (nautilus_ctree_realize, nautilus_ctree_unrealize, nautilus_ctree_button_press, nautilus_ctree_draw_expander, draw_row, nautilus_ctree_unlink, change_focus_row_expansion, nautilus_ctree_last, nautilus_ctree_find_node_ptr, nautilus_ctree_find_all_by_row_data): Made NautilusCTree handle all expansion and expander-related stuff based on whether the node's is_leaf field is set, not based on whether it actually has children. This way, by setting is_leaf to FALSE, you can make a node with no children expandable. * components/tree/nautilus-tree-view.c: (nautilus_tree_view_insert_model_node, forget_view_node, nautilus_tree_view_update_model_node, nautilus_tree_view_model_done_loading_callback, nautilus_tree_view_initialize, nautilus_tree_view_destroy), expand_node_for_file, insert_hack_node, remove_hack_node, freeze_if_have_hack_node): When inserting or updating nodes, set is_leaf to FALSE if the node represents a directory, otherwise TRUE. Remove all code relating to hack node handling. Combined with the change above, this makes normal directories expand normally, and prevents directories from collapsing when files inside them are renamed.
-rw-r--r--ChangeLog34
-rw-r--r--components/tree/nautilus-tree-view.c139
-rw-r--r--libnautilus-extensions/nautilus-ctree.c50
-rw-r--r--libnautilus-extensions/nautilus-ctree.h346
-rw-r--r--libnautilus-private/nautilus-ctree.c50
-rw-r--r--libnautilus-private/nautilus-ctree.h346
6 files changed, 434 insertions, 531 deletions
diff --git a/ChangeLog b/ChangeLog
index a5920df46..bba243f61 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,37 @@
+2000-11-27 Maciej Stachowiak <mjs@eazel.com>
+
+ reviewed by: Gene Z. Ragan <gzr@eazel.com>
+
+ Fixed bugs 3608 (Tree view disclosure triangle behavior on empty
+ folders is confusing) and 4368 (Tree View gets confused by
+ renaming file in closed folder).
+
+ * libnautilus-extensions/nautilus-ctree.h: Reindented.
+
+ * libnautilus-extensions/nautilus-ctree.c:
+ (nautilus_ctree_realize, nautilus_ctree_unrealize,
+ nautilus_ctree_button_press, nautilus_ctree_draw_expander,
+ draw_row, nautilus_ctree_unlink, change_focus_row_expansion,
+ nautilus_ctree_last, nautilus_ctree_find_node_ptr,
+ nautilus_ctree_find_all_by_row_data): Made NautilusCTree handle
+ all expansion and expander-related stuff based on whether the
+ node's is_leaf field is set, not based on whether it actually has
+ children. This way, by setting is_leaf to FALSE, you can make a
+ node with no children expandable.
+
+ * components/tree/nautilus-tree-view.c:
+ (nautilus_tree_view_insert_model_node, forget_view_node,
+ nautilus_tree_view_update_model_node,
+ nautilus_tree_view_model_done_loading_callback,
+ nautilus_tree_view_initialize, nautilus_tree_view_destroy),
+ expand_node_for_file, insert_hack_node, remove_hack_node,
+ freeze_if_have_hack_node): When inserting or updating nodes, set
+ is_leaf to FALSE if the node represents a directory, otherwise
+ TRUE. Remove all code relating to hack node handling. Combined
+ with the change above, this makes normal directories expand
+ normally, and prevents directories from collapsing when files
+ inside them are renamed.
+
2000-11-27 Andy Hertzfeld <andy@eazel.com>
* components/music/nautilus-music-view.c:
diff --git a/components/tree/nautilus-tree-view.c b/components/tree/nautilus-tree-view.c
index c2990bef0..c1835ba39 100644
--- a/components/tree/nautilus-tree-view.c
+++ b/components/tree/nautilus-tree-view.c
@@ -140,95 +140,6 @@ nautilus_tree_view_should_skip_file (NautilusTreeView *view,
nautilus_file_is_directory (file)));
}
-
-static void
-insert_hack_node (NautilusTreeView *view, NautilusFile *file)
-{
- NautilusCTreeNode *view_node;
- NautilusCTreeNode *hack_node;
- char *text[2];
-
-#ifdef DEBUG_TREE
- printf ("XXX: possibly adding hack node for %s\n", nautilus_file_get_uri (file));
-#endif
-
- hack_node = g_hash_table_lookup (view->details->file_to_hack_node_map, file);
-
- if (hack_node == NULL) {
- text[0] = "...HACK...";
- text[1] = NULL;
-
-#ifdef DEBUG_TREE
- printf ("XXX: actually adding hack node for %s\n", nautilus_file_get_uri (file));
-#endif
-
- view_node = file_to_view_node (view, file);
-
- hack_node = nautilus_ctree_insert_node (NAUTILUS_CTREE (view->details->tree),
- view_node,
- NULL,
- text,
- TREE_SPACING,
- NULL, NULL, NULL, NULL,
- FALSE,
- FALSE);
-
- g_assert (g_hash_table_lookup (view->details->file_to_hack_node_map, file) == NULL);
- nautilus_file_ref (file);
- g_hash_table_insert (view->details->file_to_hack_node_map,
- file, hack_node);
- }
-}
-
-
-static void
-remove_hack_node (NautilusTreeView *view, NautilusFile *file)
-{
- gpointer key, value;
- NautilusCTreeNode *hack_node;
-
-#ifdef DEBUG_TREE
- printf ("XXX: removing hack node for %s\n", nautilus_file_get_uri (file));
-#endif
-
- if (g_hash_table_lookup_extended (view->details->file_to_hack_node_map,
- file, &key, &value)) {
- hack_node = value;
-
- nautilus_ctree_remove_node (NAUTILUS_CTREE (view->details->tree),
- hack_node);
- g_hash_table_remove (view->details->file_to_hack_node_map, file);
-
- nautilus_file_unref (file);
-
- gtk_clist_thaw (GTK_CLIST (view->details->tree));
-
-#ifdef DEBUG_TREE
- printf ("XXX: actually thawing (%d)\n", GTK_CLIST (view->details->tree)->freeze_count);
-#endif
- }
-}
-
-
-static void
-freeze_if_have_hack_node (NautilusTreeView *view, NautilusFile *file)
-{
- NautilusCTreeNode *hack_node;
-
-#ifdef DEBUG_TREE
- puts ("XXX: freezing if hack node");
-#endif
-
- hack_node = g_hash_table_lookup (view->details->file_to_hack_node_map, file);
-
- if (hack_node != NULL) {
- gtk_clist_freeze (GTK_CLIST (view->details->tree));
-#ifdef DEBUG_TREE
- printf ("XXX: actually freezing (%d)\n", GTK_CLIST (view->details->tree)->freeze_count);
-#endif
- }
-}
-
static void
nautilus_tree_view_insert_model_node (NautilusTreeView *view, NautilusTreeNode *node)
{
@@ -236,7 +147,6 @@ nautilus_tree_view_insert_model_node (NautilusTreeView *view, NautilusTreeNode *
NautilusCTreeNode *view_node;
NautilusFile *file;
NautilusFile *parent_file;
- char *uri;
char *text[2];
GdkPixmap *closed_pixmap;
GdkBitmap *closed_mask;
@@ -286,7 +196,7 @@ nautilus_tree_view_insert_model_node (NautilusTreeView *view, NautilusTreeNode *
text,
TREE_SPACING,
closed_pixmap, closed_mask, open_pixmap, open_mask,
- FALSE,
+ ! nautilus_file_is_directory (file),
FALSE);
gdk_pixmap_unref (closed_pixmap);
gdk_pixmap_unref (open_pixmap);
@@ -305,28 +215,12 @@ nautilus_tree_view_insert_model_node (NautilusTreeView *view, NautilusTreeNode *
nautilus_file_ref (file);
g_hash_table_insert (view->details->file_to_node_map, file, view_node);
-
- if (nautilus_file_is_directory (file)) {
- /* Gratuitous hack so node can be expandable w/o
- immediately inserting all the real children. */
-
- uri = nautilus_file_get_uri (file);
- if (nautilus_tree_expansion_state_is_node_expanded (view->details->expansion_state, uri)) {
- nautilus_ctree_expand (NAUTILUS_CTREE (NAUTILUS_CTREE (view->details->tree)),
- view_node);
- } else {
- insert_hack_node (view, file);
- }
-
- g_free (uri);
- }
}
g_free (text[0]);
if (parent_view_node != NULL) {
parent_file = nautilus_tree_view_node_to_file (view, parent_view_node);
- remove_hack_node (view, parent_file);
}
}
@@ -339,15 +233,6 @@ forget_view_node (NautilusTreeView *view,
file = nautilus_tree_view_node_to_file (view, view_node);
- /* We get NULL when we visit hack nodes, and we visit the hack
- * nodes before we remove them.
- */
- if (file == NULL) {
- return;
- }
-
- remove_hack_node (view, file);
-
uri = nautilus_file_get_uri (file);
nautilus_tree_expansion_state_remove_node
(view->details->expansion_state, uri);
@@ -457,7 +342,7 @@ nautilus_tree_view_update_model_node (NautilusTreeView *view, NautilusTreeNode *
TREE_SPACING,
closed_pixmap, closed_mask,
open_pixmap, open_mask,
- FALSE,
+ ! nautilus_file_is_directory (file),
ctree_is_node_expanded (NAUTILUS_CTREE (view->details->tree),
view_node));
@@ -486,8 +371,6 @@ nautilus_tree_view_update_model_node (NautilusTreeView *view, NautilusTreeNode *
view_node)) {
nautilus_ctree_collapse (NAUTILUS_CTREE (view->details->tree),
view_node);
- } else {
- insert_hack_node (view, file);
}
}
@@ -624,8 +507,6 @@ nautilus_tree_view_model_done_loading_callback (NautilusTreeModel *model,
view = NAUTILUS_TREE_VIEW (callback_data);
- remove_hack_node (view, nautilus_tree_node_get_file (node));
-
notify_done_loading (view, node);
}
@@ -770,7 +651,6 @@ nautilus_tree_view_initialize (NautilusTreeView *view)
view);
view->details->file_to_node_map = g_hash_table_new (g_direct_hash, g_direct_equal);
- view->details->file_to_hack_node_map = g_hash_table_new (g_direct_hash, g_direct_equal);
nautilus_tree_view_load_from_filesystem (view);
@@ -811,14 +691,6 @@ free_file_to_node_map_entry (gpointer key, gpointer value, gpointer callback_dat
}
static void
-free_file_to_hack_node_map_entry (gpointer key, gpointer value, gpointer callback_data)
-{
- g_assert (callback_data == NULL);
-
- nautilus_file_unref (NAUTILUS_FILE (key));
-}
-
-static void
nautilus_tree_view_destroy (GtkObject *object)
{
NautilusTreeView *view;
@@ -840,11 +712,6 @@ nautilus_tree_view_destroy (GtkObject *object)
NULL);
g_hash_table_destroy (view->details->file_to_node_map);
- g_hash_table_foreach (view->details->file_to_hack_node_map,
- free_file_to_hack_node_map_entry,
- NULL);
- g_hash_table_destroy (view->details->file_to_hack_node_map);
-
/* you do not need to unref the normal style */
if (view->details->dnd->highlight_style != NULL) {
gtk_style_unref (view->details->dnd->highlight_style);
@@ -1164,8 +1031,6 @@ expand_node_for_file (NautilusTreeView *view,
{
char *uri;
- freeze_if_have_hack_node (view, file);
-
uri = nautilus_file_get_uri (file);
nautilus_tree_expansion_state_expand_node (view->details->expansion_state,
uri);
diff --git a/libnautilus-extensions/nautilus-ctree.c b/libnautilus-extensions/nautilus-ctree.c
index 4681b52b5..1ea5ac0c3 100644
--- a/libnautilus-extensions/nautilus-ctree.c
+++ b/libnautilus-extensions/nautilus-ctree.c
@@ -140,10 +140,10 @@ static void get_cell_style (GtkCList *clist,
GdkGC **fg_gc,
GdkGC **bg_gc);
static gint nautilus_ctree_draw_expander (NautilusCTree *ctree,
- NautilusCTreeRow *ctree_row,
- GtkStyle *style,
- GdkRectangle *clip_rectangle,
- gint x);
+ NautilusCTreeRow *ctree_row,
+ GtkStyle *style,
+ GdkRectangle *clip_rectangle,
+ gint x);
static gint nautilus_ctree_draw_lines (NautilusCTree *ctree,
NautilusCTreeRow *ctree_row,
gint row,
@@ -689,8 +689,9 @@ nautilus_ctree_realize (GtkWidget *widget)
node = NAUTILUS_CTREE_NODE (clist->row_list);
for (i = 0; i < clist->rows; i++)
{
- if (NAUTILUS_CTREE_ROW (node)->children && !NAUTILUS_CTREE_ROW (node)->expanded)
- for (child = NAUTILUS_CTREE_ROW (node)->children; child;
+ if (!NAUTILUS_CTREE_ROW (node)->is_leaf && !NAUTILUS_CTREE_ROW (node)->expanded)
+ for (child = NAUTILUS_CTREE_ROW (node)->children;
+ child != NULL;
child = NAUTILUS_CTREE_ROW (child)->sibling)
nautilus_ctree_pre_recursive (ctree, child, ctree_attach_styles, NULL);
node = NAUTILUS_CTREE_NODE_NEXT (node);
@@ -821,9 +822,10 @@ nautilus_ctree_unrealize (GtkWidget *widget)
node = NAUTILUS_CTREE_NODE (clist->row_list);
for (i = 0; i < clist->rows; i++)
{
- if (NAUTILUS_CTREE_ROW (node)->children &&
+ if (!NAUTILUS_CTREE_ROW (node)->is_leaf &&
!NAUTILUS_CTREE_ROW (node)->expanded)
- for (child = NAUTILUS_CTREE_ROW (node)->children; child;
+ for (child = NAUTILUS_CTREE_ROW (node)->children;
+ child != NULL;
child = NAUTILUS_CTREE_ROW (child)->sibling)
nautilus_ctree_pre_recursive(ctree, child, ctree_detach_styles, NULL);
node = NAUTILUS_CTREE_NODE_NEXT (node);
@@ -871,9 +873,9 @@ nautilus_ctree_button_press (GtkWidget *widget, GdkEventButton *event)
work = NAUTILUS_CTREE_NODE (g_list_nth (clist->row_list, row));
if (button_actions & GTK_BUTTON_EXPANDS &&
- (NAUTILUS_CTREE_ROW (work)->children && !NAUTILUS_CTREE_ROW (work)->is_leaf &&
- (event->type == GDK_2BUTTON_PRESS ||
- ctree_is_hot_spot (ctree, work, row, x, y))))
+ (!NAUTILUS_CTREE_ROW (work)->is_leaf &&
+ (event->type == GDK_2BUTTON_PRESS ||
+ ctree_is_hot_spot (ctree, work, row, x, y))))
{
if (NAUTILUS_CTREE_ROW (work)->expanded) {
nautilus_ctree_collapse (ctree, work);
@@ -1242,7 +1244,7 @@ nautilus_ctree_draw_expander (NautilusCTree *ctree, NautilusCTreeRow *ctree_row,
y = (clip_rectangle->y + (clip_rectangle->height - PM_SIZE) / 2 - (clip_rectangle->height + 1) % 2);
- if (!ctree_row->children) {
+ if (ctree_row->is_leaf) {
return x + justification_factor * (PM_SIZE + 3);
}
@@ -2015,12 +2017,12 @@ draw_row (GtkCList *clist,
/* draw lines */
offset = nautilus_ctree_draw_lines (ctree, (NautilusCTreeRow *)clist_row, row, i,
- state, &clip_rectangle, &cell_rectangle,
- crect, area, style);
+ state, &clip_rectangle, &cell_rectangle,
+ crect, area, style);
/* draw expander */
offset = nautilus_ctree_draw_expander (ctree, (NautilusCTreeRow *)clist_row,
- style, &clip_rectangle, offset);
+ style, &clip_rectangle, offset);
if (clist->column[i].justification == GTK_JUSTIFY_RIGHT)
offset -= ctree->tree_spacing;
@@ -2375,8 +2377,8 @@ nautilus_ctree_unlink (NautilusCTree *ctree,
(NAUTILUS_CTREE_NODE_NEXT (node) == NULL ||
(NAUTILUS_CTREE_ROW (node)->children &&
nautilus_ctree_is_ancestor (ctree, node,
- NAUTILUS_CTREE_NODE (clist->row_list_end)))))
- clist->row_list_end = (GList *) (NAUTILUS_CTREE_NODE_PREV (node));
+ NAUTILUS_CTREE_NODE (clist->row_list_end)))))
+ clist->row_list_end = (GList *) (NAUTILUS_CTREE_NODE_PREV (node));
/* update list */
rows = 0;
@@ -2434,7 +2436,7 @@ nautilus_ctree_unlink (NautilusCTree *ctree,
if (NAUTILUS_CTREE_ROW (parent)->children == node)
{
NAUTILUS_CTREE_ROW (parent)->children = NAUTILUS_CTREE_ROW (node)->sibling;
- if (!NAUTILUS_CTREE_ROW (parent)->children)
+ if (NAUTILUS_CTREE_ROW (parent)->is_leaf)
nautilus_ctree_collapse (ctree, parent);
}
else
@@ -2614,7 +2616,7 @@ change_focus_row_expansion (NautilusCTree *ctree,
if (!(node =
NAUTILUS_CTREE_NODE (g_list_nth (clist->row_list, clist->focus_row))) ||
- NAUTILUS_CTREE_ROW (node)->is_leaf || !(NAUTILUS_CTREE_ROW (node)->children))
+ NAUTILUS_CTREE_ROW (node)->is_leaf)
return;
switch (action)
@@ -4211,7 +4213,7 @@ nautilus_ctree_is_viewable (NautilusCTree *ctree,
NautilusCTreeNode *
nautilus_ctree_last (NautilusCTree *ctree,
- NautilusCTreeNode *node)
+ NautilusCTreeNode *node)
{
g_return_val_if_fail (ctree != NULL, NULL);
g_return_val_if_fail (NAUTILUS_IS_CTREE (ctree), NULL);
@@ -4239,7 +4241,7 @@ nautilus_ctree_find_node_ptr (NautilusCTree *ctree,
g_return_val_if_fail (ctree_row != NULL, FALSE);
if (ctree_row->parent)
- node = NAUTILUS_CTREE_ROW(ctree_row->parent)->children;
+ node = NAUTILUS_CTREE_ROW (ctree_row->parent)->children;
else
node = NAUTILUS_CTREE_NODE (GTK_CLIST (ctree)->row_list);
@@ -4348,9 +4350,9 @@ nautilus_ctree_find_all_by_row_data (NautilusCTree *ctree,
GList *sub_list;
sub_list = nautilus_ctree_find_all_by_row_data (ctree,
- NAUTILUS_CTREE_ROW
- (node)->children,
- data);
+ NAUTILUS_CTREE_ROW
+ (node)->children,
+ data);
list = g_list_concat (list, sub_list);
}
node = NAUTILUS_CTREE_ROW (node)->sibling;
diff --git a/libnautilus-extensions/nautilus-ctree.h b/libnautilus-extensions/nautilus-ctree.h
index be4077f93..1802b3c34 100644
--- a/libnautilus-extensions/nautilus-ctree.h
+++ b/libnautilus-extensions/nautilus-ctree.h
@@ -90,29 +90,29 @@ typedef void (*NautilusCTreeFunc) (NautilusCTree *ctree,
gpointer data);
typedef gboolean (*NautilusCTreeGNodeFunc) (NautilusCTree *ctree,
- guint depth,
- GNode *gnode,
- NautilusCTreeNode *cnode,
- gpointer data);
+ guint depth,
+ GNode *gnode,
+ NautilusCTreeNode *cnode,
+ gpointer data);
typedef gboolean (*NautilusCTreeCompareDragFunc) (NautilusCTree *ctree,
- NautilusCTreeNode *source_node,
- NautilusCTreeNode *new_parent,
- NautilusCTreeNode *new_sibling);
+ NautilusCTreeNode *source_node,
+ NautilusCTreeNode *new_parent,
+ NautilusCTreeNode *new_sibling);
struct _NautilusCTree
{
GtkCList clist;
-
+
GdkGC *lines_gc;
-
+
gint tree_indent;
gint tree_spacing;
gint tree_column;
-
+
guint line_style : 2;
guint show_stub : 1;
-
+
NautilusCTreeNode *prelight_node;
NautilusCTreeRow *dnd_prelighted_row;
@@ -175,40 +175,40 @@ struct _NautilusCTreeNode {
***********************************************************/
GtkType nautilus_ctree_get_type (void);
-void nautilus_ctree_construct (NautilusCTree *ctree,
- gint columns,
- gint tree_column,
- gchar *titles[]);
-GtkWidget * nautilus_ctree_new_with_titles (gint columns,
- gint tree_column,
- gchar *titles[]);
-GtkWidget * nautilus_ctree_new (gint columns,
- gint tree_column);
-NautilusCTreeNode * nautilus_ctree_insert_node (NautilusCTree *ctree,
- NautilusCTreeNode *parent,
- NautilusCTreeNode *sibling,
- gchar *text[],
- guint8 spacing,
- GdkPixmap *pixmap_closed,
- GdkBitmap *mask_closed,
- GdkPixmap *pixmap_opened,
- GdkBitmap *mask_opened,
- gboolean is_leaf,
- gboolean expanded);
-void nautilus_ctree_remove_node (NautilusCTree *ctree,
- NautilusCTreeNode *node);
-NautilusCTreeNode * nautilus_ctree_insert_gnode (NautilusCTree *ctree,
- NautilusCTreeNode *parent,
- NautilusCTreeNode *sibling,
- GNode *gnode,
- NautilusCTreeGNodeFunc func,
- gpointer data);
+void nautilus_ctree_construct (NautilusCTree *ctree,
+ gint columns,
+ gint tree_column,
+ gchar *titles[]);
+GtkWidget * nautilus_ctree_new_with_titles (gint columns,
+ gint tree_column,
+ gchar *titles[]);
+GtkWidget * nautilus_ctree_new (gint columns,
+ gint tree_column);
+NautilusCTreeNode * nautilus_ctree_insert_node (NautilusCTree *ctree,
+ NautilusCTreeNode *parent,
+ NautilusCTreeNode *sibling,
+ gchar *text[],
+ guint8 spacing,
+ GdkPixmap *pixmap_closed,
+ GdkBitmap *mask_closed,
+ GdkPixmap *pixmap_opened,
+ GdkBitmap *mask_opened,
+ gboolean is_leaf,
+ gboolean expanded);
+void nautilus_ctree_remove_node (NautilusCTree *ctree,
+ NautilusCTreeNode *node);
+NautilusCTreeNode * nautilus_ctree_insert_gnode (NautilusCTree *ctree,
+ NautilusCTreeNode *parent,
+ NautilusCTreeNode *sibling,
+ GNode *gnode,
+ NautilusCTreeGNodeFunc func,
+ gpointer data);
GNode * nautilus_ctree_export_to_gnode (NautilusCTree *ctree,
- GNode *parent,
- GNode *sibling,
- NautilusCTreeNode *node,
- NautilusCTreeGNodeFunc func,
- gpointer data);
+ GNode *parent,
+ GNode *sibling,
+ NautilusCTreeNode *node,
+ NautilusCTreeGNodeFunc func,
+ gpointer data);
/***********************************************************
* Generic recursive functions, querying / finding tree *
@@ -216,94 +216,94 @@ GNode * nautilus_ctree_export_to_gnode (NautilusCTree *c
***********************************************************/
void nautilus_ctree_post_recursive (NautilusCTree *ctree,
- NautilusCTreeNode *node,
- NautilusCTreeFunc func,
- gpointer data);
+ NautilusCTreeNode *node,
+ NautilusCTreeFunc func,
+ gpointer data);
void nautilus_ctree_post_recursive_to_depth (NautilusCTree *ctree,
- NautilusCTreeNode *node,
- gint depth,
- NautilusCTreeFunc func,
- gpointer data);
+ NautilusCTreeNode *node,
+ gint depth,
+ NautilusCTreeFunc func,
+ gpointer data);
void nautilus_ctree_pre_recursive (NautilusCTree *ctree,
- NautilusCTreeNode *node,
- NautilusCTreeFunc func,
- gpointer data);
+ NautilusCTreeNode *node,
+ NautilusCTreeFunc func,
+ gpointer data);
void nautilus_ctree_pre_recursive_to_depth (NautilusCTree *ctree,
- NautilusCTreeNode *node,
- gint depth,
- NautilusCTreeFunc func,
- gpointer data);
+ NautilusCTreeNode *node,
+ gint depth,
+ NautilusCTreeFunc func,
+ gpointer data);
gboolean nautilus_ctree_is_viewable (NautilusCTree *ctree,
- NautilusCTreeNode *node);
+ NautilusCTreeNode *node);
NautilusCTreeNode * nautilus_ctree_last (NautilusCTree *ctree,
- NautilusCTreeNode *node);
+ NautilusCTreeNode *node);
NautilusCTreeNode * nautilus_ctree_find_node_ptr (NautilusCTree *ctree,
- NautilusCTreeRow *ctree_row);
+ NautilusCTreeRow *ctree_row);
NautilusCTreeNode * nautilus_ctree_node_nth (NautilusCTree *ctree,
- int row);
+ int row);
gboolean nautilus_ctree_find (NautilusCTree *ctree,
- NautilusCTreeNode *node,
- NautilusCTreeNode *child);
+ NautilusCTreeNode *node,
+ NautilusCTreeNode *child);
gboolean nautilus_ctree_is_ancestor (NautilusCTree *ctree,
- NautilusCTreeNode *node,
- NautilusCTreeNode *child);
+ NautilusCTreeNode *node,
+ NautilusCTreeNode *child);
NautilusCTreeNode * nautilus_ctree_find_by_row_data (NautilusCTree *ctree,
- NautilusCTreeNode *node,
- gpointer data);
+ NautilusCTreeNode *node,
+ gpointer data);
/* returns a GList of all NautilusCTreeNodes with row->data == data. */
GList * nautilus_ctree_find_all_by_row_data (NautilusCTree *ctree,
- NautilusCTreeNode *node,
- gpointer data);
+ NautilusCTreeNode *node,
+ gpointer data);
NautilusCTreeNode * nautilus_ctree_find_by_row_data_custom (NautilusCTree *ctree,
- NautilusCTreeNode *node,
- gpointer data,
- GCompareFunc func);
+ NautilusCTreeNode *node,
+ gpointer data,
+ GCompareFunc func);
/* returns a GList of all NautilusCTreeNodes with row->data == data. */
GList * nautilus_ctree_find_all_by_row_data_custom (NautilusCTree *ctree,
- NautilusCTreeNode *node,
- gpointer data,
- GCompareFunc func);
+ NautilusCTreeNode *node,
+ gpointer data,
+ GCompareFunc func);
gboolean nautilus_ctree_is_hot_spot (NautilusCTree *ctree,
- gint x,
- gint y);
+ gint x,
+ gint y);
/***********************************************************
* Tree signals : move, expand, collapse, (un)select *
***********************************************************/
void nautilus_ctree_move (NautilusCTree *ctree,
- NautilusCTreeNode *node,
- NautilusCTreeNode *new_parent,
- NautilusCTreeNode *new_sibling);
+ NautilusCTreeNode *node,
+ NautilusCTreeNode *new_parent,
+ NautilusCTreeNode *new_sibling);
void nautilus_ctree_expand (NautilusCTree *ctree,
- NautilusCTreeNode *node);
+ NautilusCTreeNode *node);
void nautilus_ctree_expand_recursive (NautilusCTree *ctree,
- NautilusCTreeNode *node);
+ NautilusCTreeNode *node);
void nautilus_ctree_expand_to_depth (NautilusCTree *ctree,
- NautilusCTreeNode *node,
- gint depth);
+ NautilusCTreeNode *node,
+ gint depth);
void nautilus_ctree_collapse (NautilusCTree *ctree,
- NautilusCTreeNode *node);
+ NautilusCTreeNode *node);
void nautilus_ctree_collapse_recursive (NautilusCTree *ctree,
- NautilusCTreeNode *node);
+ NautilusCTreeNode *node);
void nautilus_ctree_collapse_to_depth (NautilusCTree *ctree,
- NautilusCTreeNode *node,
- gint depth);
+ NautilusCTreeNode *node,
+ gint depth);
void nautilus_ctree_toggle_expansion (NautilusCTree *ctree,
- NautilusCTreeNode *node);
+ NautilusCTreeNode *node);
void nautilus_ctree_toggle_expansion_recursive (NautilusCTree *ctree,
- NautilusCTreeNode *node);
+ NautilusCTreeNode *node);
void nautilus_ctree_select (NautilusCTree *ctree,
- NautilusCTreeNode *node);
+ NautilusCTreeNode *node);
void nautilus_ctree_select_recursive (NautilusCTree *ctree,
- NautilusCTreeNode *node);
+ NautilusCTreeNode *node);
void nautilus_ctree_unselect (NautilusCTree *ctree,
- NautilusCTreeNode *node);
+ NautilusCTreeNode *node);
void nautilus_ctree_unselect_recursive (NautilusCTree *ctree,
- NautilusCTreeNode *node);
+ NautilusCTreeNode *node);
void nautilus_ctree_real_select_recursive (NautilusCTree *ctree,
- NautilusCTreeNode *node,
- gint state);
+ NautilusCTreeNode *node,
+ gint state);
void nautilus_ctree_draw_node (NautilusCTree *ctree,
NautilusCTreeNode *node);
@@ -312,70 +312,70 @@ void nautilus_ctree_draw_node (NautilusCTree *ctree,
***********************************************************/
void nautilus_ctree_node_set_text (NautilusCTree *ctree,
- NautilusCTreeNode *node,
- gint column,
- const gchar *text);
+ NautilusCTreeNode *node,
+ gint column,
+ const gchar *text);
void nautilus_ctree_node_set_pixmap (NautilusCTree *ctree,
- NautilusCTreeNode *node,
- gint column,
- GdkPixmap *pixmap,
- GdkBitmap *mask);
+ NautilusCTreeNode *node,
+ gint column,
+ GdkPixmap *pixmap,
+ GdkBitmap *mask);
void nautilus_ctree_node_set_pixtext (NautilusCTree *ctree,
- NautilusCTreeNode *node,
- gint column,
- const gchar *text,
- guint8 spacing,
- GdkPixmap *pixmap,
- GdkBitmap *mask);
+ NautilusCTreeNode *node,
+ gint column,
+ const gchar *text,
+ guint8 spacing,
+ GdkPixmap *pixmap,
+ GdkBitmap *mask);
void nautilus_ctree_set_node_info (NautilusCTree *ctree,
- NautilusCTreeNode *node,
- const gchar *text,
- guint8 spacing,
- GdkPixmap *pixmap_closed,
- GdkBitmap *mask_closed,
- GdkPixmap *pixmap_opened,
- GdkBitmap *mask_opened,
- gboolean is_leaf,
- gboolean expanded);
+ NautilusCTreeNode *node,
+ const gchar *text,
+ guint8 spacing,
+ GdkPixmap *pixmap_closed,
+ GdkBitmap *mask_closed,
+ GdkPixmap *pixmap_opened,
+ GdkBitmap *mask_opened,
+ gboolean is_leaf,
+ gboolean expanded);
void nautilus_ctree_node_set_shift (NautilusCTree *ctree,
- NautilusCTreeNode *node,
- gint column,
- gint vertical,
- gint horizontal);
+ NautilusCTreeNode *node,
+ gint column,
+ gint vertical,
+ gint horizontal);
void nautilus_ctree_node_set_selectable (NautilusCTree *ctree,
- NautilusCTreeNode *node,
- gboolean selectable);
+ NautilusCTreeNode *node,
+ gboolean selectable);
gboolean nautilus_ctree_node_get_selectable (NautilusCTree *ctree,
- NautilusCTreeNode *node);
+ NautilusCTreeNode *node);
GtkCellType nautilus_ctree_node_get_cell_type (NautilusCTree *ctree,
- NautilusCTreeNode *node,
- gint column);
+ NautilusCTreeNode *node,
+ gint column);
gint nautilus_ctree_node_get_text (NautilusCTree *ctree,
- NautilusCTreeNode *node,
- gint column,
- gchar **text);
+ NautilusCTreeNode *node,
+ gint column,
+ gchar **text);
gint nautilus_ctree_node_get_pixmap (NautilusCTree *ctree,
- NautilusCTreeNode *node,
- gint column,
- GdkPixmap **pixmap,
- GdkBitmap **mask);
+ NautilusCTreeNode *node,
+ gint column,
+ GdkPixmap **pixmap,
+ GdkBitmap **mask);
gint nautilus_ctree_node_get_pixtext (NautilusCTree *ctree,
- NautilusCTreeNode *node,
- gint column,
- gchar **text,
- guint8 *spacing,
- GdkPixmap **pixmap,
- GdkBitmap **mask);
+ NautilusCTreeNode *node,
+ gint column,
+ gchar **text,
+ guint8 *spacing,
+ GdkPixmap **pixmap,
+ GdkBitmap **mask);
gint nautilus_ctree_get_node_info (NautilusCTree *ctree,
- NautilusCTreeNode *node,
- gchar **text,
- guint8 *spacing,
- GdkPixmap **pixmap_closed,
- GdkBitmap **mask_closed,
- GdkPixmap **pixmap_opened,
- GdkBitmap **mask_opened,
- gboolean *is_leaf,
- gboolean *expanded);
+ NautilusCTreeNode *node,
+ gchar **text,
+ guint8 *spacing,
+ GdkPixmap **pixmap_closed,
+ GdkBitmap **mask_closed,
+ GdkPixmap **pixmap_opened,
+ GdkBitmap **mask_opened,
+ gboolean *is_leaf,
+ gboolean *expanded);
void nautilus_ctree_set_prelight (NautilusCTree *ctree,
int y);
@@ -384,36 +384,36 @@ void nautilus_ctree_node_set_row_style (NautilusCTree *ctree,
NautilusCTreeNode *node,
GtkStyle *style);
GtkStyle * nautilus_ctree_node_get_row_style (NautilusCTree *ctree,
- NautilusCTreeNode *node);
+ NautilusCTreeNode *node);
void nautilus_ctree_node_set_cell_style (NautilusCTree *ctree,
- NautilusCTreeNode *node,
- gint column,
- GtkStyle *style);
+ NautilusCTreeNode *node,
+ gint column,
+ GtkStyle *style);
GtkStyle * nautilus_ctree_node_get_cell_style (NautilusCTree *ctree,
- NautilusCTreeNode *node,
- gint column);
+ NautilusCTreeNode *node,
+ gint column);
void nautilus_ctree_node_set_foreground (NautilusCTree *ctree,
- NautilusCTreeNode *node,
- GdkColor *color);
+ NautilusCTreeNode *node,
+ GdkColor *color);
void nautilus_ctree_node_set_background (NautilusCTree *ctree,
- NautilusCTreeNode *node,
- GdkColor *color);
+ NautilusCTreeNode *node,
+ GdkColor *color);
void nautilus_ctree_node_set_row_data (NautilusCTree *ctree,
- NautilusCTreeNode *node,
- gpointer data);
+ NautilusCTreeNode *node,
+ gpointer data);
void nautilus_ctree_node_set_row_data_full (NautilusCTree *ctree,
- NautilusCTreeNode *node,
- gpointer data,
- GtkDestroyNotify destroy);
+ NautilusCTreeNode *node,
+ gpointer data,
+ GtkDestroyNotify destroy);
gpointer nautilus_ctree_node_get_row_data (NautilusCTree *ctree,
- NautilusCTreeNode *node);
+ NautilusCTreeNode *node);
void nautilus_ctree_node_moveto (NautilusCTree *ctree,
- NautilusCTreeNode *node,
- gint column,
- gfloat row_align,
- gfloat col_align);
+ NautilusCTreeNode *node,
+ gint column,
+ gfloat row_align,
+ gfloat col_align);
GtkVisibility nautilus_ctree_node_is_visible (NautilusCTree *ctree,
- NautilusCTreeNode *node);
+ NautilusCTreeNode *node);
/***********************************************************
* NautilusCTree specific functions *
@@ -435,9 +435,9 @@ void nautilus_ctree_set_drag_compare_func (NautilusCTree *ctree,
***********************************************************/
void nautilus_ctree_sort_node (NautilusCTree *ctree,
- NautilusCTreeNode *node);
+ NautilusCTreeNode *node);
void nautilus_ctree_sort_recursive (NautilusCTree *ctree,
- NautilusCTreeNode *node);
+ NautilusCTreeNode *node);
diff --git a/libnautilus-private/nautilus-ctree.c b/libnautilus-private/nautilus-ctree.c
index 4681b52b5..1ea5ac0c3 100644
--- a/libnautilus-private/nautilus-ctree.c
+++ b/libnautilus-private/nautilus-ctree.c
@@ -140,10 +140,10 @@ static void get_cell_style (GtkCList *clist,
GdkGC **fg_gc,
GdkGC **bg_gc);
static gint nautilus_ctree_draw_expander (NautilusCTree *ctree,
- NautilusCTreeRow *ctree_row,
- GtkStyle *style,
- GdkRectangle *clip_rectangle,
- gint x);
+ NautilusCTreeRow *ctree_row,
+ GtkStyle *style,
+ GdkRectangle *clip_rectangle,
+ gint x);
static gint nautilus_ctree_draw_lines (NautilusCTree *ctree,
NautilusCTreeRow *ctree_row,
gint row,
@@ -689,8 +689,9 @@ nautilus_ctree_realize (GtkWidget *widget)
node = NAUTILUS_CTREE_NODE (clist->row_list);
for (i = 0; i < clist->rows; i++)
{
- if (NAUTILUS_CTREE_ROW (node)->children && !NAUTILUS_CTREE_ROW (node)->expanded)
- for (child = NAUTILUS_CTREE_ROW (node)->children; child;
+ if (!NAUTILUS_CTREE_ROW (node)->is_leaf && !NAUTILUS_CTREE_ROW (node)->expanded)
+ for (child = NAUTILUS_CTREE_ROW (node)->children;
+ child != NULL;
child = NAUTILUS_CTREE_ROW (child)->sibling)
nautilus_ctree_pre_recursive (ctree, child, ctree_attach_styles, NULL);
node = NAUTILUS_CTREE_NODE_NEXT (node);
@@ -821,9 +822,10 @@ nautilus_ctree_unrealize (GtkWidget *widget)
node = NAUTILUS_CTREE_NODE (clist->row_list);
for (i = 0; i < clist->rows; i++)
{
- if (NAUTILUS_CTREE_ROW (node)->children &&
+ if (!NAUTILUS_CTREE_ROW (node)->is_leaf &&
!NAUTILUS_CTREE_ROW (node)->expanded)
- for (child = NAUTILUS_CTREE_ROW (node)->children; child;
+ for (child = NAUTILUS_CTREE_ROW (node)->children;
+ child != NULL;
child = NAUTILUS_CTREE_ROW (child)->sibling)
nautilus_ctree_pre_recursive(ctree, child, ctree_detach_styles, NULL);
node = NAUTILUS_CTREE_NODE_NEXT (node);
@@ -871,9 +873,9 @@ nautilus_ctree_button_press (GtkWidget *widget, GdkEventButton *event)
work = NAUTILUS_CTREE_NODE (g_list_nth (clist->row_list, row));
if (button_actions & GTK_BUTTON_EXPANDS &&
- (NAUTILUS_CTREE_ROW (work)->children && !NAUTILUS_CTREE_ROW (work)->is_leaf &&
- (event->type == GDK_2BUTTON_PRESS ||
- ctree_is_hot_spot (ctree, work, row, x, y))))
+ (!NAUTILUS_CTREE_ROW (work)->is_leaf &&
+ (event->type == GDK_2BUTTON_PRESS ||
+ ctree_is_hot_spot (ctree, work, row, x, y))))
{
if (NAUTILUS_CTREE_ROW (work)->expanded) {
nautilus_ctree_collapse (ctree, work);
@@ -1242,7 +1244,7 @@ nautilus_ctree_draw_expander (NautilusCTree *ctree, NautilusCTreeRow *ctree_row,
y = (clip_rectangle->y + (clip_rectangle->height - PM_SIZE) / 2 - (clip_rectangle->height + 1) % 2);
- if (!ctree_row->children) {
+ if (ctree_row->is_leaf) {
return x + justification_factor * (PM_SIZE + 3);
}
@@ -2015,12 +2017,12 @@ draw_row (GtkCList *clist,
/* draw lines */
offset = nautilus_ctree_draw_lines (ctree, (NautilusCTreeRow *)clist_row, row, i,
- state, &clip_rectangle, &cell_rectangle,
- crect, area, style);
+ state, &clip_rectangle, &cell_rectangle,
+ crect, area, style);
/* draw expander */
offset = nautilus_ctree_draw_expander (ctree, (NautilusCTreeRow *)clist_row,
- style, &clip_rectangle, offset);
+ style, &clip_rectangle, offset);
if (clist->column[i].justification == GTK_JUSTIFY_RIGHT)
offset -= ctree->tree_spacing;
@@ -2375,8 +2377,8 @@ nautilus_ctree_unlink (NautilusCTree *ctree,
(NAUTILUS_CTREE_NODE_NEXT (node) == NULL ||
(NAUTILUS_CTREE_ROW (node)->children &&
nautilus_ctree_is_ancestor (ctree, node,
- NAUTILUS_CTREE_NODE (clist->row_list_end)))))
- clist->row_list_end = (GList *) (NAUTILUS_CTREE_NODE_PREV (node));
+ NAUTILUS_CTREE_NODE (clist->row_list_end)))))
+ clist->row_list_end = (GList *) (NAUTILUS_CTREE_NODE_PREV (node));
/* update list */
rows = 0;
@@ -2434,7 +2436,7 @@ nautilus_ctree_unlink (NautilusCTree *ctree,
if (NAUTILUS_CTREE_ROW (parent)->children == node)
{
NAUTILUS_CTREE_ROW (parent)->children = NAUTILUS_CTREE_ROW (node)->sibling;
- if (!NAUTILUS_CTREE_ROW (parent)->children)
+ if (NAUTILUS_CTREE_ROW (parent)->is_leaf)
nautilus_ctree_collapse (ctree, parent);
}
else
@@ -2614,7 +2616,7 @@ change_focus_row_expansion (NautilusCTree *ctree,
if (!(node =
NAUTILUS_CTREE_NODE (g_list_nth (clist->row_list, clist->focus_row))) ||
- NAUTILUS_CTREE_ROW (node)->is_leaf || !(NAUTILUS_CTREE_ROW (node)->children))
+ NAUTILUS_CTREE_ROW (node)->is_leaf)
return;
switch (action)
@@ -4211,7 +4213,7 @@ nautilus_ctree_is_viewable (NautilusCTree *ctree,
NautilusCTreeNode *
nautilus_ctree_last (NautilusCTree *ctree,
- NautilusCTreeNode *node)
+ NautilusCTreeNode *node)
{
g_return_val_if_fail (ctree != NULL, NULL);
g_return_val_if_fail (NAUTILUS_IS_CTREE (ctree), NULL);
@@ -4239,7 +4241,7 @@ nautilus_ctree_find_node_ptr (NautilusCTree *ctree,
g_return_val_if_fail (ctree_row != NULL, FALSE);
if (ctree_row->parent)
- node = NAUTILUS_CTREE_ROW(ctree_row->parent)->children;
+ node = NAUTILUS_CTREE_ROW (ctree_row->parent)->children;
else
node = NAUTILUS_CTREE_NODE (GTK_CLIST (ctree)->row_list);
@@ -4348,9 +4350,9 @@ nautilus_ctree_find_all_by_row_data (NautilusCTree *ctree,
GList *sub_list;
sub_list = nautilus_ctree_find_all_by_row_data (ctree,
- NAUTILUS_CTREE_ROW
- (node)->children,
- data);
+ NAUTILUS_CTREE_ROW
+ (node)->children,
+ data);
list = g_list_concat (list, sub_list);
}
node = NAUTILUS_CTREE_ROW (node)->sibling;
diff --git a/libnautilus-private/nautilus-ctree.h b/libnautilus-private/nautilus-ctree.h
index be4077f93..1802b3c34 100644
--- a/libnautilus-private/nautilus-ctree.h
+++ b/libnautilus-private/nautilus-ctree.h
@@ -90,29 +90,29 @@ typedef void (*NautilusCTreeFunc) (NautilusCTree *ctree,
gpointer data);
typedef gboolean (*NautilusCTreeGNodeFunc) (NautilusCTree *ctree,
- guint depth,
- GNode *gnode,
- NautilusCTreeNode *cnode,
- gpointer data);
+ guint depth,
+ GNode *gnode,
+ NautilusCTreeNode *cnode,
+ gpointer data);
typedef gboolean (*NautilusCTreeCompareDragFunc) (NautilusCTree *ctree,
- NautilusCTreeNode *source_node,
- NautilusCTreeNode *new_parent,
- NautilusCTreeNode *new_sibling);
+ NautilusCTreeNode *source_node,
+ NautilusCTreeNode *new_parent,
+ NautilusCTreeNode *new_sibling);
struct _NautilusCTree
{
GtkCList clist;
-
+
GdkGC *lines_gc;
-
+
gint tree_indent;
gint tree_spacing;
gint tree_column;
-
+
guint line_style : 2;
guint show_stub : 1;
-
+
NautilusCTreeNode *prelight_node;
NautilusCTreeRow *dnd_prelighted_row;
@@ -175,40 +175,40 @@ struct _NautilusCTreeNode {
***********************************************************/
GtkType nautilus_ctree_get_type (void);
-void nautilus_ctree_construct (NautilusCTree *ctree,
- gint columns,
- gint tree_column,
- gchar *titles[]);
-GtkWidget * nautilus_ctree_new_with_titles (gint columns,
- gint tree_column,
- gchar *titles[]);
-GtkWidget * nautilus_ctree_new (gint columns,
- gint tree_column);
-NautilusCTreeNode * nautilus_ctree_insert_node (NautilusCTree *ctree,
- NautilusCTreeNode *parent,
- NautilusCTreeNode *sibling,
- gchar *text[],
- guint8 spacing,
- GdkPixmap *pixmap_closed,
- GdkBitmap *mask_closed,
- GdkPixmap *pixmap_opened,
- GdkBitmap *mask_opened,
- gboolean is_leaf,
- gboolean expanded);
-void nautilus_ctree_remove_node (NautilusCTree *ctree,
- NautilusCTreeNode *node);
-NautilusCTreeNode * nautilus_ctree_insert_gnode (NautilusCTree *ctree,
- NautilusCTreeNode *parent,
- NautilusCTreeNode *sibling,
- GNode *gnode,
- NautilusCTreeGNodeFunc func,
- gpointer data);
+void nautilus_ctree_construct (NautilusCTree *ctree,
+ gint columns,
+ gint tree_column,
+ gchar *titles[]);
+GtkWidget * nautilus_ctree_new_with_titles (gint columns,
+ gint tree_column,
+ gchar *titles[]);
+GtkWidget * nautilus_ctree_new (gint columns,
+ gint tree_column);
+NautilusCTreeNode * nautilus_ctree_insert_node (NautilusCTree *ctree,
+ NautilusCTreeNode *parent,
+ NautilusCTreeNode *sibling,
+ gchar *text[],
+ guint8 spacing,
+ GdkPixmap *pixmap_closed,
+ GdkBitmap *mask_closed,
+ GdkPixmap *pixmap_opened,
+ GdkBitmap *mask_opened,
+ gboolean is_leaf,
+ gboolean expanded);
+void nautilus_ctree_remove_node (NautilusCTree *ctree,
+ NautilusCTreeNode *node);
+NautilusCTreeNode * nautilus_ctree_insert_gnode (NautilusCTree *ctree,
+ NautilusCTreeNode *parent,
+ NautilusCTreeNode *sibling,
+ GNode *gnode,
+ NautilusCTreeGNodeFunc func,
+ gpointer data);
GNode * nautilus_ctree_export_to_gnode (NautilusCTree *ctree,
- GNode *parent,
- GNode *sibling,
- NautilusCTreeNode *node,
- NautilusCTreeGNodeFunc func,
- gpointer data);
+ GNode *parent,
+ GNode *sibling,
+ NautilusCTreeNode *node,
+ NautilusCTreeGNodeFunc func,
+ gpointer data);
/***********************************************************
* Generic recursive functions, querying / finding tree *
@@ -216,94 +216,94 @@ GNode * nautilus_ctree_export_to_gnode (NautilusCTree *c
***********************************************************/
void nautilus_ctree_post_recursive (NautilusCTree *ctree,
- NautilusCTreeNode *node,
- NautilusCTreeFunc func,
- gpointer data);
+ NautilusCTreeNode *node,
+ NautilusCTreeFunc func,
+ gpointer data);
void nautilus_ctree_post_recursive_to_depth (NautilusCTree *ctree,
- NautilusCTreeNode *node,
- gint depth,
- NautilusCTreeFunc func,
- gpointer data);
+ NautilusCTreeNode *node,
+ gint depth,
+ NautilusCTreeFunc func,
+ gpointer data);
void nautilus_ctree_pre_recursive (NautilusCTree *ctree,
- NautilusCTreeNode *node,
- NautilusCTreeFunc func,
- gpointer data);
+ NautilusCTreeNode *node,
+ NautilusCTreeFunc func,
+ gpointer data);
void nautilus_ctree_pre_recursive_to_depth (NautilusCTree *ctree,
- NautilusCTreeNode *node,
- gint depth,
- NautilusCTreeFunc func,
- gpointer data);
+ NautilusCTreeNode *node,
+ gint depth,
+ NautilusCTreeFunc func,
+ gpointer data);
gboolean nautilus_ctree_is_viewable (NautilusCTree *ctree,
- NautilusCTreeNode *node);
+ NautilusCTreeNode *node);
NautilusCTreeNode * nautilus_ctree_last (NautilusCTree *ctree,
- NautilusCTreeNode *node);
+ NautilusCTreeNode *node);
NautilusCTreeNode * nautilus_ctree_find_node_ptr (NautilusCTree *ctree,
- NautilusCTreeRow *ctree_row);
+ NautilusCTreeRow *ctree_row);
NautilusCTreeNode * nautilus_ctree_node_nth (NautilusCTree *ctree,
- int row);
+ int row);
gboolean nautilus_ctree_find (NautilusCTree *ctree,
- NautilusCTreeNode *node,
- NautilusCTreeNode *child);
+ NautilusCTreeNode *node,
+ NautilusCTreeNode *child);
gboolean nautilus_ctree_is_ancestor (NautilusCTree *ctree,
- NautilusCTreeNode *node,
- NautilusCTreeNode *child);
+ NautilusCTreeNode *node,
+ NautilusCTreeNode *child);
NautilusCTreeNode * nautilus_ctree_find_by_row_data (NautilusCTree *ctree,
- NautilusCTreeNode *node,
- gpointer data);
+ NautilusCTreeNode *node,
+ gpointer data);
/* returns a GList of all NautilusCTreeNodes with row->data == data. */
GList * nautilus_ctree_find_all_by_row_data (NautilusCTree *ctree,
- NautilusCTreeNode *node,
- gpointer data);
+ NautilusCTreeNode *node,
+ gpointer data);
NautilusCTreeNode * nautilus_ctree_find_by_row_data_custom (NautilusCTree *ctree,
- NautilusCTreeNode *node,
- gpointer data,
- GCompareFunc func);
+ NautilusCTreeNode *node,
+ gpointer data,
+ GCompareFunc func);
/* returns a GList of all NautilusCTreeNodes with row->data == data. */
GList * nautilus_ctree_find_all_by_row_data_custom (NautilusCTree *ctree,
- NautilusCTreeNode *node,
- gpointer data,
- GCompareFunc func);
+ NautilusCTreeNode *node,
+ gpointer data,
+ GCompareFunc func);
gboolean nautilus_ctree_is_hot_spot (NautilusCTree *ctree,
- gint x,
- gint y);
+ gint x,
+ gint y);
/***********************************************************
* Tree signals : move, expand, collapse, (un)select *
***********************************************************/
void nautilus_ctree_move (NautilusCTree *ctree,
- NautilusCTreeNode *node,
- NautilusCTreeNode *new_parent,
- NautilusCTreeNode *new_sibling);
+ NautilusCTreeNode *node,
+ NautilusCTreeNode *new_parent,
+ NautilusCTreeNode *new_sibling);
void nautilus_ctree_expand (NautilusCTree *ctree,
- NautilusCTreeNode *node);
+ NautilusCTreeNode *node);
void nautilus_ctree_expand_recursive (NautilusCTree *ctree,
- NautilusCTreeNode *node);
+ NautilusCTreeNode *node);
void nautilus_ctree_expand_to_depth (NautilusCTree *ctree,
- NautilusCTreeNode *node,
- gint depth);
+ NautilusCTreeNode *node,
+ gint depth);
void nautilus_ctree_collapse (NautilusCTree *ctree,
- NautilusCTreeNode *node);
+ NautilusCTreeNode *node);
void nautilus_ctree_collapse_recursive (NautilusCTree *ctree,
- NautilusCTreeNode *node);
+ NautilusCTreeNode *node);
void nautilus_ctree_collapse_to_depth (NautilusCTree *ctree,
- NautilusCTreeNode *node,
- gint depth);
+ NautilusCTreeNode *node,
+ gint depth);
void nautilus_ctree_toggle_expansion (NautilusCTree *ctree,
- NautilusCTreeNode *node);
+ NautilusCTreeNode *node);
void nautilus_ctree_toggle_expansion_recursive (NautilusCTree *ctree,
- NautilusCTreeNode *node);
+ NautilusCTreeNode *node);
void nautilus_ctree_select (NautilusCTree *ctree,
- NautilusCTreeNode *node);
+ NautilusCTreeNode *node);
void nautilus_ctree_select_recursive (NautilusCTree *ctree,
- NautilusCTreeNode *node);
+ NautilusCTreeNode *node);
void nautilus_ctree_unselect (NautilusCTree *ctree,
- NautilusCTreeNode *node);
+ NautilusCTreeNode *node);
void nautilus_ctree_unselect_recursive (NautilusCTree *ctree,
- NautilusCTreeNode *node);
+ NautilusCTreeNode *node);
void nautilus_ctree_real_select_recursive (NautilusCTree *ctree,
- NautilusCTreeNode *node,
- gint state);
+ NautilusCTreeNode *node,
+ gint state);
void nautilus_ctree_draw_node (NautilusCTree *ctree,
NautilusCTreeNode *node);
@@ -312,70 +312,70 @@ void nautilus_ctree_draw_node (NautilusCTree *ctree,
***********************************************************/
void nautilus_ctree_node_set_text (NautilusCTree *ctree,
- NautilusCTreeNode *node,
- gint column,
- const gchar *text);
+ NautilusCTreeNode *node,
+ gint column,
+ const gchar *text);
void nautilus_ctree_node_set_pixmap (NautilusCTree *ctree,
- NautilusCTreeNode *node,
- gint column,
- GdkPixmap *pixmap,
- GdkBitmap *mask);
+ NautilusCTreeNode *node,
+ gint column,
+ GdkPixmap *pixmap,
+ GdkBitmap *mask);
void nautilus_ctree_node_set_pixtext (NautilusCTree *ctree,
- NautilusCTreeNode *node,
- gint column,
- const gchar *text,
- guint8 spacing,
- GdkPixmap *pixmap,
- GdkBitmap *mask);
+ NautilusCTreeNode *node,
+ gint column,
+ const gchar *text,
+ guint8 spacing,
+ GdkPixmap *pixmap,
+ GdkBitmap *mask);
void nautilus_ctree_set_node_info (NautilusCTree *ctree,
- NautilusCTreeNode *node,
- const gchar *text,
- guint8 spacing,
- GdkPixmap *pixmap_closed,
- GdkBitmap *mask_closed,
- GdkPixmap *pixmap_opened,
- GdkBitmap *mask_opened,
- gboolean is_leaf,
- gboolean expanded);
+ NautilusCTreeNode *node,
+ const gchar *text,
+ guint8 spacing,
+ GdkPixmap *pixmap_closed,
+ GdkBitmap *mask_closed,
+ GdkPixmap *pixmap_opened,
+ GdkBitmap *mask_opened,
+ gboolean is_leaf,
+ gboolean expanded);
void nautilus_ctree_node_set_shift (NautilusCTree *ctree,
- NautilusCTreeNode *node,
- gint column,
- gint vertical,
- gint horizontal);
+ NautilusCTreeNode *node,
+ gint column,
+ gint vertical,
+ gint horizontal);
void nautilus_ctree_node_set_selectable (NautilusCTree *ctree,
- NautilusCTreeNode *node,
- gboolean selectable);
+ NautilusCTreeNode *node,
+ gboolean selectable);
gboolean nautilus_ctree_node_get_selectable (NautilusCTree *ctree,
- NautilusCTreeNode *node);
+ NautilusCTreeNode *node);
GtkCellType nautilus_ctree_node_get_cell_type (NautilusCTree *ctree,
- NautilusCTreeNode *node,
- gint column);
+ NautilusCTreeNode *node,
+ gint column);
gint nautilus_ctree_node_get_text (NautilusCTree *ctree,
- NautilusCTreeNode *node,
- gint column,
- gchar **text);
+ NautilusCTreeNode *node,
+ gint column,
+ gchar **text);
gint nautilus_ctree_node_get_pixmap (NautilusCTree *ctree,
- NautilusCTreeNode *node,
- gint column,
- GdkPixmap **pixmap,
- GdkBitmap **mask);
+ NautilusCTreeNode *node,
+ gint column,
+ GdkPixmap **pixmap,
+ GdkBitmap **mask);
gint nautilus_ctree_node_get_pixtext (NautilusCTree *ctree,
- NautilusCTreeNode *node,
- gint column,
- gchar **text,
- guint8 *spacing,
- GdkPixmap **pixmap,
- GdkBitmap **mask);
+ NautilusCTreeNode *node,
+ gint column,
+ gchar **text,
+ guint8 *spacing,
+ GdkPixmap **pixmap,
+ GdkBitmap **mask);
gint nautilus_ctree_get_node_info (NautilusCTree *ctree,
- NautilusCTreeNode *node,
- gchar **text,
- guint8 *spacing,
- GdkPixmap **pixmap_closed,
- GdkBitmap **mask_closed,
- GdkPixmap **pixmap_opened,
- GdkBitmap **mask_opened,
- gboolean *is_leaf,
- gboolean *expanded);
+ NautilusCTreeNode *node,
+ gchar **text,
+ guint8 *spacing,
+ GdkPixmap **pixmap_closed,
+ GdkBitmap **mask_closed,
+ GdkPixmap **pixmap_opened,
+ GdkBitmap **mask_opened,
+ gboolean *is_leaf,
+ gboolean *expanded);
void nautilus_ctree_set_prelight (NautilusCTree *ctree,
int y);
@@ -384,36 +384,36 @@ void nautilus_ctree_node_set_row_style (NautilusCTree *ctree,
NautilusCTreeNode *node,
GtkStyle *style);
GtkStyle * nautilus_ctree_node_get_row_style (NautilusCTree *ctree,
- NautilusCTreeNode *node);
+ NautilusCTreeNode *node);
void nautilus_ctree_node_set_cell_style (NautilusCTree *ctree,
- NautilusCTreeNode *node,
- gint column,
- GtkStyle *style);
+ NautilusCTreeNode *node,
+ gint column,
+ GtkStyle *style);
GtkStyle * nautilus_ctree_node_get_cell_style (NautilusCTree *ctree,
- NautilusCTreeNode *node,
- gint column);
+ NautilusCTreeNode *node,
+ gint column);
void nautilus_ctree_node_set_foreground (NautilusCTree *ctree,
- NautilusCTreeNode *node,
- GdkColor *color);
+ NautilusCTreeNode *node,
+ GdkColor *color);
void nautilus_ctree_node_set_background (NautilusCTree *ctree,
- NautilusCTreeNode *node,
- GdkColor *color);
+ NautilusCTreeNode *node,
+ GdkColor *color);
void nautilus_ctree_node_set_row_data (NautilusCTree *ctree,
- NautilusCTreeNode *node,
- gpointer data);
+ NautilusCTreeNode *node,
+ gpointer data);
void nautilus_ctree_node_set_row_data_full (NautilusCTree *ctree,
- NautilusCTreeNode *node,
- gpointer data,
- GtkDestroyNotify destroy);
+ NautilusCTreeNode *node,
+ gpointer data,
+ GtkDestroyNotify destroy);
gpointer nautilus_ctree_node_get_row_data (NautilusCTree *ctree,
- NautilusCTreeNode *node);
+ NautilusCTreeNode *node);
void nautilus_ctree_node_moveto (NautilusCTree *ctree,
- NautilusCTreeNode *node,
- gint column,
- gfloat row_align,
- gfloat col_align);
+ NautilusCTreeNode *node,
+ gint column,
+ gfloat row_align,
+ gfloat col_align);
GtkVisibility nautilus_ctree_node_is_visible (NautilusCTree *ctree,
- NautilusCTreeNode *node);
+ NautilusCTreeNode *node);
/***********************************************************
* NautilusCTree specific functions *
@@ -435,9 +435,9 @@ void nautilus_ctree_set_drag_compare_func (NautilusCTree *ctree,
***********************************************************/
void nautilus_ctree_sort_node (NautilusCTree *ctree,
- NautilusCTreeNode *node);
+ NautilusCTreeNode *node);
void nautilus_ctree_sort_recursive (NautilusCTree *ctree,
- NautilusCTreeNode *node);
+ NautilusCTreeNode *node);