]> err.no Git - mapper/blobdiff - src/ui-common.h
More map widget integration changes
[mapper] / src / ui-common.h
index 208f36f0c0545d593072763ef4a7b5af354b97e1..4a0b55df98dd034a9db0286c2422a2a427387f23 100644 (file)
@@ -1,9 +1,7 @@
 #ifndef _MAPPER_UI_COMMON_H
 #define _MAPPER_UI_COMMON_H
 
-#include <config.h>
-
-#define _GNU_SOURCE
+#include "config.h"
 
 #include <unistd.h>
 #include <stdlib.h>
 #include <glib/gstdio.h>
 #include <gtk/gtk.h>
 #include <fcntl.h>
-#include <gdk/gdkkeysyms.h>
-#include <libgnomevfs/gnome-vfs.h>
-#include <curl/multi.h>
-#include <gconf/gconf-client.h>
-#include <libxml/parser.h>
 
+#include "gps.h"
 #include "mapper-types.h"
 #include "ui-maemo.h"
 #include "hildon-wrappers.h"
+#include "path.h"
+
+#define SCALE_WIDTH (200)
 
 /** The main GtkContainer of the application. */
 GtkWidget *_window;
+GtkWidget *_gps_widget;
+GtkWidget *_map;
+GtkWidget *_toolbar;
 
-/** The widget that provides the visual display of the map. */
-GtkWidget *_map_widget;
+/* GPS Tab widget */
+GtkWidget *_gps_sat_view;
 
-/** The backing pixmap of _map_widget. */
-GdkPixmap *_map_pixmap;
+/* Heading Tab widget */
+GtkWidget *_tab_compass;
 
-GtkWidget *_gps_widget;
-GtkWidget *_text_lat;
-GtkWidget *_text_lon;
-GtkWidget *_text_speed;
-GtkWidget *_text_alt;
-GtkWidget *_text_dop;
-GtkWidget *_text_time;
+/* Panel widgets */
+GtkWidget *_gps_compass;
+GtkWidget *_gps_signal;
 
-GtkWidget *_sat_panel;
-GtkWidget *_heading_panel;
-
-GtkWidget *_sat_details_panel;
 GtkWidget *_sdi_lat;
 GtkWidget *_sdi_lon;
 GtkWidget *_sdi_spd;
@@ -61,104 +53,22 @@ GtkWidget *_sdi_fqu;
 GtkWidget *_sdi_msp;
 
 /** Pango stuff. */
-GdkRectangle _scale_rect;
-PangoContext *_scale_context;
-PangoFontDescription *_scale_font;
-PangoLayout *_scale_layout;
-GdkGC *_speed_limit_gc1;
-GdkGC *_speed_limit_gc2;
-PangoContext *_speed_limit_context;
-PangoLayout *_speed_limit_layout;
-PangoFontDescription *_speed_limit_fontdesc;
 PangoContext *_sat_panel_context;
 PangoLayout *_sat_panel_layout;
 PangoFontDescription *_sat_panel_fontdesc;
-PangoContext *_heading_panel_context;
-PangoLayout *_heading_panel_layout;
-PangoFontDescription *_heading_panel_fontdesc;
 GdkGC *_sat_info_gc1;
 GdkGC *_sat_info_gc2;
 PangoContext *_sat_info_context;
 PangoLayout *_sat_info_layout;
 PangoFontDescription *_sat_info_fontdesc;
-PangoContext *_sat_details_context;
-PangoLayout *_sat_details_layout;
-PangoFontDescription *_sat_details_fontdesc;
-PangoContext *_sat_details_expose_context;
-PangoLayout *_sat_details_expose_layout;
-PangoFontDescription *_sat_details_expose_fontdesc;
-#define SCALE_WIDTH (100)
 
 /** THE GdkGC OBJECTS USED FOR DRAWING. */
 GdkGC *_gc[COLORABLE_ENUM_COUNT];
 GdkColor _color[COLORABLE_ENUM_COUNT];
 
-/* Menu items for the "Route" submenu. */
-GtkWidget *_menu_route_download_item;
-GtkWidget *_menu_route_open_item;
-GtkWidget *_menu_route_save_item;
-GtkWidget *_menu_route_distnext_item;
-GtkWidget *_menu_route_distlast_item;
-GtkWidget *_menu_route_reset_item;
-GtkWidget *_menu_route_clear_item;
-
-/* Menu items for the "Track" submenu. */
-GtkWidget *_menu_track_open_item;
-GtkWidget *_menu_track_save_item;
-GtkWidget *_menu_track_insert_break_item;
-GtkWidget *_menu_track_insert_mark_item;
-GtkWidget *_menu_track_distlast_item;
-GtkWidget *_menu_track_distfirst_item;
-GtkWidget *_menu_track_clear_item;
-GtkWidget *_menu_track_filter;
-
-/* Menu items for the "Maps" submenu. */
-GtkWidget *_menu_maps_submenu;
-GtkWidget *_menu_maps_mapman_item;
-GtkWidget *_menu_maps_repoman_item;
-GtkWidget *_menu_auto_download_item;
-
-/* Menu items for the "View" submenu. */
-GtkWidget *_menu_zoomin_item;
-GtkWidget *_menu_zoomout_item;
-GtkWidget *_menu_fullscreen_item;
-GtkWidget *_menu_show_scale_item;
-GtkWidget *_menu_show_routes_item;
-GtkWidget *_menu_show_tracks_item;
-GtkWidget *_menu_show_velvec_item;
-GtkWidget *_menu_show_poi_item;
-GtkWidget *_menu_poi_item;
-
 /* Toolbar items */
-GtkToolItem *_toolbar_fullscreen_item;
 GtkProgressBar *_progress_item;
 
-/* Menu items for the "Auto-Center" submenu. */
-GtkWidget *_menu_ac_latlon_item;
-GtkWidget *_menu_ac_lead_item;
-GtkWidget *_menu_ac_none_item;
-
-/* Menu items for the "Go to" submenu. */
-GtkWidget *_menu_goto_home;
-GtkWidget *_menu_goto_destination;
-GtkWidget *_menu_goto_address;
-GtkWidget *_menu_goto_latlon;
-GtkWidget *_menu_goto_gps;
-GtkWidget *_menu_goto_nextway;
-GtkWidget *_menu_goto_nearpoi;
-
-/* Menu items for the "GPS" submenu. */
-GtkWidget *_menu_enable_gps_item;
-GtkWidget *_menu_gps_show_info_item;
-GtkWidget *_menu_gps_details_item;
-GtkWidget *_menu_gps_reset_item;
-
-/* Menu items for the other menu items. */
-GtkWidget *_menu_settings_item;
-GtkWidget *_menu_help_item;
-GtkWidget *_menu_about_item;
-GtkWidget *_menu_close_item;
-
 /* Menu items for the "Location" context menu. */
 GtkWidget *_cmenu_loc_show_latlon_item;
 GtkWidget *_cmenu_loc_clip_latlon_item;
@@ -166,7 +76,6 @@ GtkWidget *_cmenu_loc_route_to_item;
 GtkWidget *_cmenu_loc_distance_to_item;
 GtkWidget *_cmenu_loc_add_route;
 GtkWidget *_cmenu_loc_add_way;
-GtkWidget *_cmenu_loc_add_poi;
 GtkWidget *_cmenu_loc_set_gps;
 GtkWidget *_cmenu_loc_set_destination;
 GtkWidget *_cmenu_loc_set_home;
@@ -187,28 +96,46 @@ GtkWidget *_cmenu_poi;
 GtkWidget *_cmenu_poi_edit_poi;
 GtkWidget *_cmenu_poi_route_to_item;
 GtkWidget *_cmenu_poi_distance_to_item;
+GtkWidget *_cmenu_loc_add_poi;
 GtkWidget *_cmenu_poi_add_route;
 GtkWidget *_cmenu_poi_add_way;
 GtkWidget *_cmenu_poi_goto_nearpoi;
 
 /* Banners/Progress bars */
-GtkWidget *_download_banner;
 GtkWidget *_status_bar;
 
 struct _info_banner {
        GtkWidget *container;
        GtkWidget *location;
        GtkWidget *speed;
+       GtkWidget *distance;
 };
 struct _info_banner info_banner;
 
+gint _show_tracks;
+gboolean _show_scale;
+gboolean _show_velvec;
+gboolean _show_poi;
+
 GtkMenu *_menu_map;
 
-/** Context menu click location on map */
-guint _cmenu_position_x;
-guint _cmenu_position_y;
+GtkWidget *route_tree_view;
+GtkWidget *track_tree_view;
+
+Path *_route;
+Path *_track;
 
+AutoRouteDownloadData _autoroute_data;
+
+void mapper_ui_init(void);
 gboolean window_present();
-void popup_error(GtkWidget * window, const gchar * error);
+
+void set_action_sensitive(const char *name, gboolean sensitive);
+void set_action_activate(const char *name, gboolean active);
+
+/* XXX: Not the right place but.. */
+gboolean gps_info_update(Gps *gps);
+gboolean gps_location_update(Gps *gps);
+gboolean gps_retry_connection(Gps *gps, const gchar *error);
 
 #endif