From 674b9a391d80beaf82b783d28ef96551e83b0372 Mon Sep 17 00:00:00 2001 From: Harry Jeffery Date: Mon, 30 Nov 2015 12:39:30 +0000 Subject: Document imv_navigator's methods --- src/navigator.h | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) (limited to 'src/navigator.h') diff --git a/src/navigator.h b/src/navigator.h index 23bcc24..4ed2523 100644 --- a/src/navigator.h +++ b/src/navigator.h @@ -27,20 +27,48 @@ struct imv_navigator { int changed; }; +/* Initialises an instance of imv_navigator */ void imv_init_navigator(struct imv_navigator *nav); + +/* Cleans up all resources owned by a imv_navigator instance */ void imv_destroy_navigator(struct imv_navigator *nav); +/* Adds the given path to the navigator's internal list. + * If a directory is given, all files within that directory are added. + * An internal copy of path is made. */ void imv_navigator_add_path(struct imv_navigator *nav, const char *path); + +/* Adds the given path to the navigator's internal list. + * If a directory is given, all files within that directory are added. + * Subdirectories are recursed into. An internal copy of path is made. */ void imv_navigator_add_path_recursive(struct imv_navigator *nav, const char *path); +/* Returns a read-only reference to the current path. The pointer is only + * guaranteed to be valid until the next call to and imv_navigator method. + */ const char *imv_navigator_get_current_path(struct imv_navigator *nav); + +/* Changes to the next path */ void imv_navigator_next_path(struct imv_navigator *nav); + +/* Changes to the previous path */ void imv_navigator_prev_path(struct imv_navigator *nav); + +/* Removes the currently selected path. The current selection is updated if + * necessary, based on the last direction the selection moved. */ void imv_navigator_remove_current_path(struct imv_navigator *nav); + +/* Removes the given path if it exists. The current selection is updated if + * necessary, based on the last direction the selection moved. */ void imv_navigator_remove_path(struct imv_navigator *nav, const char *path); + +/* Set the current path to the given path if it exists. */ void imv_navigator_set_path(struct imv_navigator *nav, const int path); + +/* Return the index of the path given. Returns -1 if not found. */ int imv_navigator_find_path(struct imv_navigator *nav, const char *path); +/* Returns 1 if the currently selected path has changed since last called */ int imv_navigator_has_changed(struct imv_navigator *nav); #endif -- cgit v1.2.3