| Top |  |  |  |  | 
ETreePath
e_tree_model_get_root (ETreeModel  *tree_model
Accessor for the root node of tree_model
.
return values: the ETreePath corresponding to the root node.
ETreePath e_tree_model_node_get_parent (,ETreeModel *tree_modelETreePath path);
ETreePath e_tree_model_node_get_first_child (,ETreeModel *tree_modelETreePath path);
ETreePath e_tree_model_node_get_next (,ETreeModel *tree_modelETreePath path);
gboolean e_tree_model_node_is_root (,ETreeModel *tree_modelETreePath path);
gboolean e_tree_model_node_is_expandable (,ETreeModel *tree_modelETreePath path);
guint e_tree_model_node_get_n_children (,ETreeModel *tree_modelETreePath path);
gboolean e_tree_model_get_expanded_default ();ETreeModel *tree_model
XXX docs here.
return values: Whether nodes should be expanded by default.
gint e_tree_model_column_count ();ETreeModel *tree_model
XXX docs here.
return values: The number of columns
gchar * e_tree_model_get_save_id (,ETreeModel *tree_modelETreePath path);
XXX docs here.
return values: The save id for this path.
ETreePath e_tree_model_get_node_by_id (,ETreeModel *tree_modelconst);gchar *save_id
get_node_by_id(get_save_id(node)) should be the original node. Likewise if get_node_by_id is not NULL, then get_save_id(get_node_by_id(string)) should be a copy of the original string.
return values: The path for this save id.
gpointer e_tree_model_sort_value_at (,ETreeModel *tree_modelETreePath path,);gint col
| tree_model | The ETreeModel. | |
| path | The ETreePath to the node we're getting the data from. | |
| col | the column to retrieve data from | 
 This function returns the value that is stored by the
tree_model
in column col
and node path
.  The data returned can be a
pointer or any data value that can be stored inside a pointer.
The data returned is typically used by an sort renderer if it wants to proxy the data of cell value_at at a better sorting order.
The data returned must be valid until the model sends a signal that affect that piece of data. node_changed and node_deleted affect all data in tha t node and all nodes under that node. node_data_changed affects the data in that node. node_col_changed affects the data in that node for that column. node_inserted, node_removed, and no_change don't affect any data in this way.
gpointer e_tree_model_value_at (,ETreeModel *tree_modelETreePath path,);gint col
| tree_model | The ETreeModel. | |
| path | The ETreePath to the node we're getting the data from. | |
| col | the column to retrieve data from | 
 This function returns the value that is stored by the
tree_model
in column col
and node path
.  The data returned can be a
pointer or any data value that can be stored inside a pointer.
The data returned is typically used by an ECell renderer.
The data returned must be valid until the model sends a signal that affect that piece of data. node_changed and node_deleted affect all data in tha t node and all nodes under that node. node_data_changed affects the data in that node. node_col_changed affects the data in that node for that column. node_inserted, node_removed, and no_change don't affect any data in this way.
gpointer e_tree_model_duplicate_value (,ETreeModel *tree_model,gint col);gconstpointer value
void e_tree_model_free_value (,ETreeModel *tree_model,gint col);gpointer value
gpointer e_tree_model_initialize_value (,ETreeModel *tree_model);gint col
gboolean e_tree_model_value_is_empty (,ETreeModel *tree_model,gint col);gconstpointer value
gchar * e_tree_model_value_to_string (,ETreeModel *tree_model,gint col);gconstpointer value
void e_tree_model_node_traverse (,ETreeModel *tree_modelETreePath path,ETreePathFunc func,);gpointer data
ETreePath e_tree_model_node_find (,ETreeModel *tree_modelETreePath path,ETreePath end_path,ETreePathFunc func,);gpointer data
void e_tree_model_node_changed (,ETreeModel *tree_modelETreePath path);
void e_tree_model_node_data_changed (,ETreeModel *tree_modelETreePath path);
void e_tree_model_node_inserted (,ETreeModel *tree_modelETreePath parent_path,ETreePath inserted_path);
void e_tree_model_node_removed (,ETreeModel *tree_modelETreePath parent_path,ETreePath removed_path,);gint old_position
void e_tree_model_node_deleted (,ETreeModel *tree_modelETreePath deleted_path);
struct ETreeModelInterface {
	GTypeInterface parent_interface;
	ETreePath (*get_root)		(ETreeModel *tree_model);
	ETreePath (*get_parent)		(ETreeModel *tree_model,
						 ETreePath path);
	ETreePath (*get_first_child) (ETreeModel *tree_model,
						 ETreePath path);
	ETreePath (*get_next)		(ETreeModel *tree_model,
						 ETreePath path);
	gboolean (*is_root)		(ETreeModel *tree_model,
						 ETreePath path);
	gboolean (*is_expandable) (ETreeModel *tree_model,
						 ETreePath path);
	guint		(*get_n_nodes)		(ETreeModel *tree_model);
	guint		(*get_n_children) (ETreeModel *tree_model,
						 ETreePath path);
	guint		(*depth)		(ETreeModel *tree_model,
						 ETreePath path);
	gboolean (*get_expanded_default) (ETreeModel *tree_model);
	gint		(*column_count)		(ETreeModel *tree_model);
	gchar *		(*get_save_id)		(ETreeModel *tree_model,
						 ETreePath path);
	ETreePath (*get_node_by_id) (ETreeModel *tree_model,
						 const gchar *save_id);
	/*
	 * ETable analogs
	 */
	gpointer (*sort_value_at) (ETreeModel *tree_model,
						 ETreePath path,
						 gint col);
	gpointer (*value_at)		(ETreeModel *tree_model,
						 ETreePath path,
						 gint col);
	gpointer (*duplicate_value) (ETreeModel *tree_model,
						 gint col,
						 gconstpointer value);
	void		(*free_value)		(ETreeModel *tree_model,
						 gint col,
						 gpointer value);
	gpointer (*initialize_value) (ETreeModel *tree_model,
						 gint col);
	gboolean (*value_is_empty) (ETreeModel *tree_model,
						 gint col,
						 gconstpointer value);
	gchar *		(*value_to_string) (ETreeModel *tree_model,
						 gint col,
						 gconstpointer value);
	/*
	 * Signals
	 */
	/* During node_remove, the ETreePath of the child is removed
	 * from the tree but is still a valid ETreePath.  At
	 * node_deleted, the ETreePath is no longer valid.
	 */
	void		(*pre_change)		(ETreeModel *tree_model);
	void		(*node_changed)		(ETreeModel *tree_model,
						 ETreePath path);
	void		(*node_data_changed) (ETreeModel *tree_model,
						 ETreePath path);
	void		(*node_inserted) (ETreeModel *tree_model,
						 ETreePath parent,
						 ETreePath inserted_path);
	void		(*node_removed)		(ETreeModel *tree_model,
						 ETreePath parent,
						 ETreePath removed_path,
						 gint old_position);
	void		(*node_deleted)		(ETreeModel *tree_model,
						 ETreePath deleted_path);
	void		(*rebuilt)		(ETreeModel *tree_model);
};