]> err.no Git - mapper/blob - src/ui-common.h
Add menu entry to show/hide toolbar for larger map view
[mapper] / src / ui-common.h
1 #ifndef _MAPPER_UI_COMMON_H
2 #define _MAPPER_UI_COMMON_H
3
4 #include "config.h"
5
6 #include <unistd.h>
7 #include <stdlib.h>
8 #include <string.h>
9 #include <strings.h>
10 #include <stddef.h>
11 #include <locale.h>
12 #include <math.h>
13 #include <errno.h>
14 #include <sys/wait.h>
15 #include <glib/gstdio.h>
16 #include <gtk/gtk.h>
17 #include <fcntl.h>
18
19 #include "gps.h"
20 #include "mapper-types.h"
21 #include "ui-maemo.h"
22 #include "hildon-wrappers.h"
23
24 #define SCALE_WIDTH (200)
25
26 /** The main GtkContainer of the application. */
27 GtkWidget *_window;
28 GtkWidget *_gps_widget;
29
30 GtkWidget *_toolbar;
31
32 /* GPS Tab widget */
33 GtkWidget *_gps_sat_view;
34
35 /* Heading Tab widget */
36 GtkWidget *_tab_compass;
37
38 /* Panel widgets */
39 GtkWidget *_gps_compass;
40 GtkWidget *_gps_signal;
41
42 GtkWidget *_sdi_lat;
43 GtkWidget *_sdi_lon;
44 GtkWidget *_sdi_spd;
45 GtkWidget *_sdi_alt;
46 GtkWidget *_sdi_hea;
47 GtkWidget *_sdi_tim;
48 GtkWidget *_sdi_vie;
49 GtkWidget *_sdi_use;
50 GtkWidget *_sdi_fix;
51 GtkWidget *_sdi_fqu;
52 GtkWidget *_sdi_msp;
53
54 /** Pango stuff. */
55 PangoContext *_sat_panel_context;
56 PangoLayout *_sat_panel_layout;
57 PangoFontDescription *_sat_panel_fontdesc;
58 GdkGC *_sat_info_gc1;
59 GdkGC *_sat_info_gc2;
60 PangoContext *_sat_info_context;
61 PangoLayout *_sat_info_layout;
62 PangoFontDescription *_sat_info_fontdesc;
63
64 /** THE GdkGC OBJECTS USED FOR DRAWING. */
65 GdkGC *_gc[COLORABLE_ENUM_COUNT];
66 GdkColor _color[COLORABLE_ENUM_COUNT];
67
68 /* Toolbar items */
69 GtkProgressBar *_progress_item;
70
71 /* Menu items for the "Location" context menu. */
72 GtkWidget *_cmenu_loc_show_latlon_item;
73 GtkWidget *_cmenu_loc_clip_latlon_item;
74 GtkWidget *_cmenu_loc_route_to_item;
75 GtkWidget *_cmenu_loc_distance_to_item;
76 GtkWidget *_cmenu_loc_add_route;
77 GtkWidget *_cmenu_loc_add_way;
78 GtkWidget *_cmenu_loc_set_gps;
79 GtkWidget *_cmenu_loc_set_destination;
80 GtkWidget *_cmenu_loc_set_home;
81
82 /* Menu items for the "Waypoint" context menu. */
83 GtkWidget *_cmenu_way_show_latlon_item;
84 GtkWidget *_cmenu_way_show_desc_item;
85 GtkWidget *_cmenu_way_clip_latlon_item;
86 GtkWidget *_cmenu_way_clip_desc_item;
87 GtkWidget *_cmenu_way_route_to_item;
88 GtkWidget *_cmenu_way_distance_to_item;
89 GtkWidget *_cmenu_way_delete_item;
90 GtkWidget *_cmenu_way_add_poi;
91 GtkWidget *_cmenu_way_goto_nextway;
92
93 /* Menu items for the "POI" context menu. */
94 GtkWidget *_cmenu_poi;
95 GtkWidget *_cmenu_poi_edit_poi;
96 GtkWidget *_cmenu_poi_route_to_item;
97 GtkWidget *_cmenu_poi_distance_to_item;
98 GtkWidget *_cmenu_loc_add_poi;
99 GtkWidget *_cmenu_poi_add_route;
100 GtkWidget *_cmenu_poi_add_way;
101 GtkWidget *_cmenu_poi_goto_nearpoi;
102
103 /* Banners/Progress bars */
104 GtkWidget *_status_bar;
105
106 struct _info_banner {
107         GtkWidget *container;
108         GtkWidget *location;
109         GtkWidget *speed;
110         GtkWidget *distance;
111 };
112 struct _info_banner info_banner;
113
114 GtkMenu *_menu_map;
115
116 GtkWidget *route_tree_view;
117 GtkWidget *track_tree_view;
118
119 /** Context menu click location on map */
120 guint _cmenu_position_x;
121 guint _cmenu_position_y;
122
123 void mapper_ui_init(void);
124 gboolean window_present();
125
126 void set_action_sensitive(const char *name, gboolean sensitive);
127 void set_action_activate(const char *name, gboolean active);
128
129 /* XXX: Not the right place but.. */
130 gboolean gps_info_update(Gps *gps);
131 gboolean gps_location_update(Gps *gps);
132 gboolean gps_retry_connection(Gps *gps, const gchar *error);
133
134 #endif