1 /*
2  * mape - C4 Landscape.txt editor
3  *
4  * Copyright (c) 2005-2009, Armin Burgmeier
5  *
6  * Distributed under the terms of the ISC license; see accompanying file
7  * "COPYING" for details.
8  *
9  * "Clonk" is a registered trademark of Matthes Bender, used with permission.
10  * See accompanying file "TRADEMARK" for details.
11  *
12  * To redistribute this file separately, substitute the full license texts
13  * for the above references.
14  */
15 
16 #ifndef INC_MAPE_DISKVIEW_H
17 #define INC_MAPE_DISKVIEW_H
18 
19 #include <gtk/gtk.h>
20 
21 #include "mape/forward.h"
22 #include "mape/group.h"
23 
24 typedef enum MapeDiskViewColumns_ {
25 	MAPE_DISK_VIEW_COLUMN_ICON,
26 	MAPE_DISK_VIEW_COLUMN_FILE,
27 	MAPE_DISK_VIEW_COLUMN_GROUP,
28 
29 	MAPE_DISK_VIEW_COLUMN_COUNT
30 } MapeDiskViewColumns;
31 
32 typedef enum MapeDiskViewError_ {
33 	MAPE_DISK_VIEW_ERROR_NOENT,
34 
35 	MAPE_DISK_VIEW_ERROR_FAILED
36 } MapeDiskViewError;
37 
38 struct MapeDiskView_ {
39 	GtkWidget* window;
40 	GtkWidget* view;
41 
42 	GtkTreeModel* tree_store;
43 
44 	GtkCellRenderer* renderer_icon;
45 	GtkCellRenderer* renderer_file;
46 
47 	GtkTreeViewColumn* col_file;
48 
49 	MapeMatTexView* mat_tex;
50 	MapeEditView* edit_view;
51 
52 	MapeFileIconSet* icon_set;
53 	MapeGroup* group_top;
54 	MapeConfigFile* config;
55 };
56 
57 MapeDiskView* mape_disk_view_new(MapeFileIconSet* icon_set,
58                                  MapeMatTexView* mat_tex,
59                                  MapeEditView* edit_view,
60                                  MapeConfigFile* config,
61                                  GError** error);
62 void mape_disk_view_destroy(MapeDiskView* disk_view);
63 
64 gboolean mape_disk_view_extend_to_path(MapeDiskView* disk_view,
65                                        const gchar* filepath,
66                                        GError** error);
67 
68 #endif /* INC_MAPE_DISKVIEW_H */
69