]> git.tdb.fi Git - ext/subsurface.git/blob - display-gtk.h
Make icon file name OS helper function
[ext/subsurface.git] / display-gtk.h
1 #ifndef DISPLAY_GTK_H
2 #define DISPLAY_GTK_H
3
4 #include <gtk/gtk.h>
5 #include <gdk/gdk.h>
6
7 extern GtkWidget *main_window;
8
9 /* we want a progress bar as part of the device_data_t - let's abstract this out */
10 typedef struct {
11         GtkWidget *bar;
12 } progressbar_t;
13
14 typedef struct {
15         gboolean cylinder;
16         gboolean temperature;
17         gboolean nitrox;
18         gboolean sac;
19         gboolean otu;
20 } visible_cols_t;
21
22 typedef enum {
23         PREF_BOOL,
24         PREF_STRING
25 } pref_type_t;
26
27 #define BOOL_TO_PTR(_cond) ((_cond) ? (void *)1 : NULL)
28 #define PTR_TO_BOOL(_ptr) ((_ptr) != NULL)
29
30 extern void subsurface_open_conf(void);
31 extern void subsurface_set_conf(char *name, pref_type_t type, const void *value);
32 extern const void *subsurface_get_conf(char *name, pref_type_t type);
33 extern void subsurface_close_conf(void);
34
35 extern const char *subsurface_USB_name(void);
36 extern const char *subsurface_icon_name(void);
37
38 extern visible_cols_t visible_cols;
39
40 extern const char *divelist_font;
41 extern void set_divelist_font(const char *);
42
43 extern void import_dialog(GtkWidget *, gpointer);
44 extern void report_error(GError* error);
45 extern int process_ui_events(void);
46 extern void update_progressbar(progressbar_t *progress, double value);
47
48 extern GtkWidget *dive_profile_widget(void);
49 extern GtkWidget *dive_info_frame(void);
50 extern GtkWidget *extended_dive_info_widget(void);
51 extern GtkWidget *equipment_widget(void);
52 extern GtkWidget *stats_widget(void);
53 extern GtkWidget *cylinder_list_widget(void);
54
55 extern GtkWidget *dive_list_create(void);
56
57 typedef void (*data_func_t)(GtkTreeViewColumn *col,
58                             GtkCellRenderer *renderer,
59                             GtkTreeModel *model,
60                             GtkTreeIter *iter,
61                             gpointer data);
62
63 typedef gint (*sort_func_t)(GtkTreeModel *model,
64                             GtkTreeIter *a,
65                             GtkTreeIter *b,
66                             gpointer user_data);
67
68 #define ALIGN_LEFT 1
69 #define ALIGN_RIGHT 2
70 #define INVISIBLE 4
71 #define UNSORTABLE 8
72
73 extern GtkTreeViewColumn *tree_view_column(GtkWidget *tree_view, int index, const char *title,
74                 data_func_t data_func, unsigned int flags);
75
76 #endif