aboutsummaryrefslogtreecommitdiff
path: root/src/navigator.h
diff options
context:
space:
mode:
authorHarry Jeffery <harry@exec64.co.uk>2015-11-30 12:39:30 +0000
committerHarry Jeffery <harry@exec64.co.uk>2015-11-30 12:39:30 +0000
commit674b9a391d80beaf82b783d28ef96551e83b0372 (patch)
tree1480d1fc4bc4c570a7d266baa1ddd6e38d0d8c44 /src/navigator.h
parent6a2ce5abdb677e2868437ad612b81b465f07d865 (diff)
downloadimv-674b9a391d80beaf82b783d28ef96551e83b0372.tar.gz
Document imv_navigator's methods
Diffstat (limited to 'src/navigator.h')
-rw-r--r--src/navigator.h28
1 files changed, 28 insertions, 0 deletions
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