Add a way to invert the current selection.
[geeqie.git] / src / layout.h
1 /*
2  * Geeqie
3  * (C) 2004 John Ellis
4  * Copyright (C) 2008 The Geeqie Team
5  *
6  * Author: John Ellis
7  *
8  * This software is released under the GNU General Public License (GNU GPL).
9  * Please read the included file COPYING for more information.
10  * This software comes with no warranty of any kind, use at your own risk!
11  */
12
13 #ifndef LAYOUT_H
14 #define LAYOUT_H
15
16
17 extern GList *layout_window_list;
18
19
20 LayoutWindow *layout_new(const gchar *path, gint popped, gint hidden);
21 LayoutWindow *layout_new_with_geometry(const gchar *path, gint popped, gint hidden,
22                                        const gchar *geometry);
23
24 void layout_close(LayoutWindow *lw);
25 void layout_free(LayoutWindow *lw);
26
27 gint layout_valid(LayoutWindow **lw);
28
29 LayoutWindow *layout_find_by_image(ImageWindow *imd);
30 LayoutWindow *layout_find_by_image_fd(ImageWindow *imd);
31
32 const gchar *layout_get_path(LayoutWindow *lw);
33 gint layout_set_path(LayoutWindow *lw, const gchar *path);
34
35 void layout_status_update_progress(LayoutWindow *lw, gdouble val, const gchar *text);
36 void layout_status_update_info(LayoutWindow *lw, const gchar *text);
37 void layout_status_update_image(LayoutWindow *lw);
38 void layout_status_update_all(LayoutWindow *lw);
39
40 GList *layout_list(LayoutWindow *lw);
41 gint layout_list_count(LayoutWindow *lw, gint64 *bytes);
42 const gchar *layout_list_get_path(LayoutWindow *lw, gint index);
43 FileData *layout_list_get_fd(LayoutWindow *lw, gint index);
44 gint layout_list_get_index(LayoutWindow *lw, const gchar *path);
45 void layout_list_sync_fd(LayoutWindow *lw, FileData *fd);
46
47 GList *layout_selection_list(LayoutWindow *lw);
48 /* return list of pointers to int for selection */
49 GList *layout_selection_list_by_index(LayoutWindow *lw);
50 gint layout_selection_count(LayoutWindow *lw, gint64 *bytes);
51 void layout_select_all(LayoutWindow *lw);
52 void layout_select_none(LayoutWindow *lw);
53 void layout_select_invert(LayoutWindow *lw);
54
55 void layout_mark_to_selection(LayoutWindow *lw, gint mark, MarkToSelectionMode mode);
56 void layout_selection_to_mark(LayoutWindow *lw, gint mark, SelectionToMarkMode mode);
57
58 void layout_refresh(LayoutWindow *lw);
59
60 void layout_thumb_set(LayoutWindow *lw, gint enable);
61 gint layout_thumb_get(LayoutWindow *lw);
62
63 void layout_marks_set(LayoutWindow *lw, gint enable);
64 gint layout_marks_get(LayoutWindow *lw);
65
66 void layout_sort_set(LayoutWindow *lw, SortType type, gint ascend);
67 gint layout_sort_get(LayoutWindow *lw, SortType *type, gint *ascend);
68
69 gint layout_geometry_get(LayoutWindow *lw, gint *x, gint *y, gint *w, gint *h);
70 gint layout_geometry_get_dividers(LayoutWindow *lw, gint *h, gint *v);
71
72 void layout_views_set(LayoutWindow *lw, DirViewType dir_view_type, FileViewType file_view_type);
73 gint layout_views_get(LayoutWindow *lw, DirViewType *dir_view_type, FileViewType *file_view_type);
74
75 void layout_status_update(LayoutWindow *lw, const gchar *text);
76
77 void layout_style_set(LayoutWindow *lw, gint style, const gchar *order);
78
79 void layout_menu_update_edit(void);
80 void layout_styles_update(void);
81 void layout_colors_update(void);
82
83
84 gint layout_geometry_get_tools(LayoutWindow *lw, gint *x, gint *y, gint *w, gint *h, gint *divider_pos);
85 void layout_tools_float_set(LayoutWindow *lw, gint popped, gint hidden);
86 gint layout_tools_float_get(LayoutWindow *lw, gint *popped, gint *hidden);
87
88 void layout_tools_float_toggle(LayoutWindow *lw);
89 void layout_tools_hide_toggle(LayoutWindow *lw);
90
91
92 void layout_toolbar_toggle(LayoutWindow *lw);
93 gint layout_toolbar_hidden(LayoutWindow *lw);
94
95 void layout_split_change(LayoutWindow *lw, ImageSplitMode mode);
96
97 void layout_maint_renamed(FileData *fd);
98 void layout_maint_removed(FileData *fd, GList *ignore_list);
99 void layout_maint_moved(FileData *fd, GList *ignore_list);
100
101
102 #endif