Contents of /trunk/src/appdata.h

Parent Directory Parent Directory | Revision Log Revision Log


Revision 218 - (show annotations)
Mon Jul 13 12:15:51 2009 UTC (14 years, 10 months ago) by harbaum
File MIME type: text/plain
File size: 4301 byte(s)
Project setup adjustments
1 /*
2 * Copyright (C) 2008 Till Harbaum <till@harbaum.org>.
3 *
4 * This file is part of OSM2Go.
5 *
6 * OSM2Go is free software: you can redistribute it and/or modify
7 * it under the terms of the GNU General Public License as published by
8 * the Free Software Foundation, either version 3 of the License, or
9 * (at your option) any later version.
10 *
11 * OSM2Go is distributed in the hope that it will be useful,
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 * GNU General Public License for more details.
15 *
16 * You should have received a copy of the GNU General Public License
17 * along with OSM2Go. If not, see <http://www.gnu.org/licenses/>.
18 */
19
20 #ifndef APPDATA_H
21 #define APPDATA_H
22
23 #include <stdio.h>
24 #include <stdlib.h>
25 #include <string.h>
26
27 #include <locale.h>
28 #include <libintl.h>
29
30 #define LOCALEDIR "/usr/share/locale"
31
32 #define _(String) gettext(String)
33 #define N_(String) (String)
34
35 #ifdef USE_HILDON
36 #include <hildon/hildon-program.h>
37 #include <hildon/hildon-file-chooser-dialog.h>
38 #include <hildon/hildon-file-system-model.h>
39 #include <hildon/hildon-defines.h>
40 #include <libosso.h> /* required for screen saver timeout */
41 #define GTK_FM_OK GTK_RESPONSE_OK
42 #define HILDON_ENTRY_NO_AUTOCAP(a) \
43 hildon_gtk_entry_set_input_mode(GTK_ENTRY(a),HILDON_GTK_INPUT_MODE_FULL)
44 #else
45 #define GTK_FM_OK GTK_RESPONSE_ACCEPT
46 #define HILDON_ENTRY_NO_AUTOCAP(a)
47 #endif
48
49 #define ZOOM_BUTTONS
50
51 #include <gtk/gtk.h>
52 #include <glib/gstdio.h>
53
54 #include <libgnomevfs/gnome-vfs.h>
55 #include <libgnomevfs/gnome-vfs-inet-connection.h>
56
57 #include "pos.h"
58 #include "osm.h"
59
60 #include "canvas.h"
61 #include "undo.h"
62
63 #ifdef USE_HILDON
64 #include "dbus.h"
65 #endif
66
67 typedef struct appdata_s {
68 #ifdef USE_HILDON
69 HildonProgram *program;
70 HildonWindow *window;
71 osso_context_t *osso_context;
72
73 #else
74 GtkWidget *window;
75 #endif
76
77 GtkWidget *vbox;
78 struct map_s *map;
79 osm_t *osm;
80
81 #ifdef ZOOM_BUTTONS
82 GtkWidget *btn_zoom_in, *btn_zoom_out;
83 #endif
84
85 struct statusbar_s *statusbar;
86 struct settings_s *settings;
87 struct project_s *project;
88 struct iconbar_s *iconbar;
89 struct icon_s *icon;
90 struct presets_item_s *presets;
91
92 /* menu items to be enabled and disabled every now and then */
93 struct gps_state_s *gps_state;
94
95 #ifdef USE_HILDON
96 dbus_mm_pos_t mmpos;
97 GtkWidget *banner;
98 #endif
99 gboolean banner_is_grabby;
100
101 /* flags used to prevent re-appearence of dialogs */
102 struct {
103 gulong not; /* bit is set if dialog is not to be displayed again */
104 gulong reply; /* reply to be assumed if "not" bit is set */
105 } dialog_again;
106
107 struct {
108 GtkWidget *submenu_track;
109 GtkWidget *menu_item_track_import;
110 GtkWidget *menu_item_track_export;
111 GtkWidget *menu_item_track_clear;
112 GtkWidget *menu_item_track_enable_gps;
113 GtkWidget *menu_item_track_follow_gps;
114 struct track_s *track;
115 guint handler_id;
116 canvas_item_t *gps_item; // the purple curcle
117 } track;
118
119 #if !defined(USE_HILDON) || (MAEMO_VERSION_MAJOR < 5)
120 GtkWidget *menu_item_view_fullscreen;
121 #endif
122
123 GtkWidget *submenu_view;
124
125 GtkWidget *submenu_map;
126 GtkWidget *menu_item_map_upload;
127 GtkWidget *menu_item_map_undo;
128 GtkWidget *menu_item_map_save_changes;
129 GtkWidget *menu_item_map_undo_changes;
130 GtkWidget *menu_item_map_relations;
131
132 GtkWidget *submenu_wms;
133 GtkWidget *menu_item_wms_clear;
134 GtkWidget *menu_item_wms_adjust;
135
136 GtkWidget *menu_item_map_hide_sel;
137 GtkWidget *menu_item_map_show_all;
138 GtkWidget *menu_item_map_no_icons;
139
140 #if defined(USE_HILDON) && (MAEMO_VERSION_MAJOR == 5)
141 /* submenues are seperate menues under fremantle */
142 GtkWidget *app_menu_view, *app_menu_wms, *app_menu_track;
143 GtkWidget *app_menu_map;
144 #endif
145
146 undo_t undo;
147
148 } appdata_t;
149
150 #include "settings.h"
151 #include "map.h"
152 #include "map_hl.h"
153 #include "osm_api.h"
154 #include "statusbar.h"
155 #include "area_edit.h"
156 #include "project.h"
157 #include "diff.h"
158 #include "iconbar.h"
159 #include "icon.h"
160 #include "info.h"
161 #include "track.h"
162 #include "gps.h"
163 #include "wms.h"
164 #include "josm_presets.h"
165 #include "relation_edit.h"
166 #include "misc.h"
167 #include "map_edit.h"
168 #include "josm_elemstyles.h"
169 #include "style.h"
170 #include "net_io.h"
171 #include "banner.h"
172 #include "list.h"
173
174 void main_ui_enable(appdata_t *appdata);
175
176 #endif // APPDATA_H