use new notification in vficon
[geeqie.git] / src / view_file.h
1 /*
2  * Geeqie
3  * Copyright (C) 2008 The Geeqie Team
4  *
5  * Author: Laurent Monin
6  *
7  * This software is released under the GNU General Public License (GNU GPL).
8  * Please read the included file COPYING for more information.
9  * This software comes with no warranty of any kind, use at your own risk!
10  */
11
12 #ifndef VIEW_FILE_H
13 #define VIEW_FILE_H
14
15 #define VIEW_FILE_TYPES_COUNT 2
16
17 #define VFLIST_INFO_POINTER(_vf_) ((ViewFileInfoList *)(_vf_->info))
18 #define VFLIST_INFO(_vf_, _part_) (VFLIST_INFO_POINTER(_vf_)->_part_)
19
20 #define VFICON_INFO_POINTER(_vf_) ((ViewFileInfoIcon *)(_vf_->info))
21 #define VFICON_INFO(_vf_, _part_) (VFICON_INFO_POINTER(_vf_)->_part_)
22
23 void vf_send_update(ViewFile *vf);
24
25 ViewFile *vf_new(FileViewType type, FileData *dir_fd);
26
27 void vf_set_status_func(ViewFile *vf, void (*func)(ViewFile *vf, gpointer data), gpointer data);
28 void vf_set_thumb_status_func(ViewFile *vf, void (*func)(ViewFile *vf, gdouble val, const gchar *text, gpointer data), gpointer data);
29
30 void vf_set_layout(ViewFile *vf, LayoutWindow *layout);
31
32 gint vf_set_fd(ViewFile *vf, FileData *fd);
33 gint vf_refresh(ViewFile *vf);
34
35 void vf_thumb_set(ViewFile *vf, gint enable);
36 void vf_marks_set(ViewFile *vf, gint enable);
37 void vf_sort_set(ViewFile *vf, SortType type, gint ascend);
38
39 GList *vf_pop_menu_file_list(ViewFile *vf);
40 GtkWidget *vf_pop_menu(ViewFile *vf);
41
42 FileData *vf_index_get_data(ViewFile *vf, gint row);
43 gint vf_index_by_path(ViewFile *vf, const gchar *path);
44 gint vf_index_by_fd(ViewFile *vf, FileData *in_fd);
45 guint vf_count(ViewFile *vf, gint64 *bytes);
46 GList *vf_get_list(ViewFile *vf);
47
48 gint vf_index_is_selected(ViewFile *vf, gint row);
49 guint vf_selection_count(ViewFile *vf, gint64 *bytes);
50 GList *vf_selection_get_list(ViewFile *vf);
51 GList *vf_selection_get_list_by_index(ViewFile *vf);
52
53 void vf_select_all(ViewFile *vf);
54 void vf_select_none(ViewFile *vf);
55 void vf_select_invert(ViewFile *vf);
56 void vf_select_by_fd(ViewFile *vf, FileData *fd);
57
58 void vf_mark_to_selection(ViewFile *vf, gint mark, MarkToSelectionMode mode);
59 void vf_selection_to_mark(ViewFile *vf, gint mark, SelectionToMarkMode mode);
60
61 void vf_select_marked(ViewFile *vf, gint mark);
62 void vf_mark_selected(ViewFile *vf, gint mark, gint value);
63
64 #endif /* VIEW_FILE_H */