summaryrefslogtreecommitdiff
path: root/desktop/treeview.h
diff options
context:
space:
mode:
authorMichael Drake <tlsa@netsurf-browser.org>2013-08-22 16:05:03 +0100
committerMichael Drake <tlsa@netsurf-browser.org>2013-08-22 16:05:03 +0100
commit1212f1d32149c12591384b9844b08c83e6b2ee36 (patch)
tree302659913623cc9d325466c3ed0ef6e33a24fe51 /desktop/treeview.h
parent1e27299cf17bb4786017239c4ad864e56415457d (diff)
downloadnetsurf-1212f1d32149c12591384b9844b08c83e6b2ee36.tar.gz
netsurf-1212f1d32149c12591384b9844b08c83e6b2ee36.tar.bz2
Expose leaving node callback in public treeview walker interface.
Diffstat (limited to 'desktop/treeview.h')
-rw-r--r--desktop/treeview.h14
1 files changed, 9 insertions, 5 deletions
diff --git a/desktop/treeview.h b/desktop/treeview.h
index f7432aef5..42dd4ca6b 100644
--- a/desktop/treeview.h
+++ b/desktop/treeview.h
@@ -240,7 +240,7 @@ nserror treeview_update_node_entry(treeview *tree,
* \param abort Set to true to abort treeview walk prematurely
* \return NSERROR_OK on success, or appropriate error otherwise
*/
-typedef nserror (*treeview_walk_callback)(void *ctx, void *node_data,
+typedef nserror (*treeview_walk_cb)(void *ctx, void *node_data,
enum treeview_node_type type, bool *abort);
/**
@@ -249,17 +249,21 @@ typedef nserror (*treeview_walk_callback)(void *ctx, void *node_data,
*
* \param tree Treeview object to walk
* \param root Root node to walk tree from (or NULL for tree root)
- * \param walk_cb Function to call on each node
+ * \param enter_cb Function to call on entering nodes, or NULL
+ * \param leave_cb Function to call on leaving nodes, or NULL
* \param ctx Client context, passed back to callback function
* \param type The node type(s) of interest
* \return NSERROR_OK on success, or appropriate error otherwise
*
- * Note, if deleting returned node, walk_cb must terminate the treeview walk by
+ * Example usage: To export a treeview as XML, XML elements can be opened in
+ * enter_cb, and closed in leave_cb.
+ *
+ * Note, if deleting returned node in enter_cb, the walk must be terminated by
* setting abort to true.
*/
nserror treeview_walk(treeview *tree, treeview_node *root,
- treeview_walk_callback walk_cb, void *ctx,
- enum treeview_node_type type);
+ treeview_walk_cb enter_cb, treeview_walk_cb leave_cb,
+ void *ctx, enum treeview_node_type type);
/**
* Delete a treeview node