Files
evolution/widgets
Chris Toshok ec30090929 get rid of ENode type, as everything in it is now in ETreePath, and add
2000-10-15  Chris Toshok  <toshok@helixcode.com>

	* e-tree-model.c: get rid of ENode type, as everything in it is
	now in ETreePath, and add parent/sibling/child pointers to
	ETreePath.  everywhere where GNode/ENode were used, we just use
	ETreePath now.
	(e_tree_path_depth): new function.
	(e_tree_path_insert): new function.
	(e_tree_path_unlink): new function.
	(e_tree_model_node_traverse): new function.
	(etree_get_first_child): new virtual function impl.
	(etree_get_last_child): same.
	(e_tree_model_class_init): fill in function pointers for
	get_first_child/get_last_child.
	(e_tree_model_node_get_first_child): new function.
	(e_tree_model_node_get_last_child): new function.
	(e_tree_model_node_depth): g_node_depth -> e_tree_path_depth.
	(e_tree_model_node_insert): modify to use ETreePath and new
	e_tree_path functions.  Prepends and appends are now both constant
	time.
	(child_remove): modify for e_tree_model_node_traverse.
	(e_tree_model_node_remove): same, and use e_tree_path functions.
	(e_tree_model_node_insert_before): add a loop here to figure out
	the position, since it's the only place we care about the child
	position.
	(e_tree_model_node_sort): rework to accomodate new e_tree_path
	functions, and put the e_tree_model_node_set_expanded calls in a
	separate loop after all the children have been added.

	* e-tree-model.h: add prototypes and virtual functions for more
	tree traversal operations (get_first_child, get_last_child), as
	well as a new function to traverse depth first the descendents of
	a node (e_tree_model_node_traverse), much like g_node_traverse
	(G_IN_ORDER).  Also, ETreePath is an opaque type now, and is not a
	GNode.

svn path=/trunk/; revision=5932
2000-10-15 23:17:56 +00:00
..
2000-10-12 22:47:14 +00:00
2000-10-13 00:11:27 +00:00