source: subversion/applications/editors/merkaartor/MainWindow.h @ 13954

Last change on this file since 13954 was 13732, checked in by Chris Browet, 11 years ago

FIX : Tweaked windows menu to be "standard"
ADD : Splash screen
FIX : warnings

  • Property svn:eol-style set to native
File size: 7.5 KB
Line 
1#ifndef MERKATOR_MAINWINDOW_H_
2#define MERKATOR_MAINWINDOW_H_
3
4#include "IProgressWindow.h"
5#include <ui_MainWindow.h>
6
7#include <QtGui/QMainWindow>
8#include <QtXml>
9#include <QProgressBar>
10#include <QLabel>
11
12class MainWindowPrivate;
13class LayerDock;
14class MapDocument;
15class MapLayer;
16class MapView;
17class MapFeature;
18class PropertiesDock;
19class InfoDock;
20class DirtyDock;
21class QGPS;
22class FeaturePainter;
23class TrackMapLayer;
24class TrackSegment;
25class Interaction;
26
27#ifdef GEOIMAGE
28class GeoImageDock;
29#endif
30
31class MainWindow : public QMainWindow, public Ui::MainWindow, public IProgressWindow
32{
33        Q_OBJECT
34
35        friend class ActionsDialog;
36
37        public:
38                MainWindow(void);
39        public:
40                virtual ~MainWindow(void);
41
42        public slots:
43                virtual void on_createRoundaboutAction_triggered();
44                virtual void on_createDoubleWayAction_triggered();
45                virtual void on_createNodeAction_triggered();
46                virtual void on_createRoadAction_triggered();
47                virtual void on_createCurvedRoadAction_triggered();
48                virtual void on_createRelationAction_triggered();
49                virtual void on_createAreaAction_triggered();
50                virtual void on_editPropertiesAction_triggered();
51                virtual void on_editUndoAction_triggered();
52                virtual void on_editRedoAction_triggered();
53                virtual void on_editMapStyleAction_triggered();
54                virtual void on_editCopyAction_triggered();
55                virtual void on_editPasteOverwriteAction_triggered();
56                virtual void on_editPasteMergeAction_triggered();
57                virtual void on_editPasteFeaturesAction_triggered();
58               
59                virtual void on_fileNewAction_triggered();
60                virtual void on_fileDownloadAction_triggered();
61                virtual void on_fileDownloadMoreAction_triggered();
62                virtual void on_fileUploadAction_triggered();
63                virtual void on_fileImportAction_triggered();
64                virtual void on_fileOpenAction_triggered();
65                virtual void on_fileSaveAsAction_triggered();
66                virtual void on_fileSaveAction_triggered();
67                virtual void on_fileWorkOfflineAction_triggered();
68               
69                virtual void on_layersAddImageAction_triggered();
70                virtual void on_helpAboutAction_triggered();
71                virtual void on_viewZoomAllAction_triggered();
72                virtual void on_viewZoomInAction_triggered();
73                virtual void on_viewZoomOutAction_triggered();
74                virtual void on_viewZoomWindowAction_triggered();
75                virtual void on_viewDownloadedAction_triggered();
76                virtual void on_viewScaleAction_triggered();
77                virtual void on_viewStyleBackgroundAction_triggered();
78                virtual void on_viewStyleForegroundAction_triggered();
79                virtual void on_viewStyleTouchupAction_triggered();
80                virtual void on_viewNamesAction_triggered();
81                virtual void on_viewTrackPointsAction_triggered();
82                virtual void on_viewTrackSegmentsAction_triggered();
83                virtual void on_viewRelationsAction_triggered();
84                virtual void on_viewGotoAction_triggered();
85                virtual void on_viewArrowsNeverAction_triggered(bool checked);
86                virtual void on_viewArrowsOnewayAction_triggered(bool checked);
87                virtual void on_viewArrowsAlwaysAction_triggered(bool checked);
88
89                virtual void on_editRemoveAction_triggered();
90                virtual void on_editMoveAction_triggered();
91                virtual void on_editReverseAction_triggered();
92
93                virtual void on_roadSplitAction_triggered();
94                virtual void on_roadBreakAction_triggered();
95                virtual void on_roadJoinAction_triggered();
96                virtual void on_featureCommitAction_triggered();
97                virtual void on_nodeAlignAction_triggered();
98                virtual void on_nodeMergeAction_triggered();
99                virtual void on_nodeDetachAction_triggered();
100                virtual void on_relationAddMemberAction_triggered();
101                virtual void on_relationRemoveMemberAction_triggered();
102
103                virtual void on_mapStyleSaveAction_triggered();
104                virtual void on_mapStyleLoadAction_triggered();
105                virtual void on_exportOSMAction_triggered();
106                virtual void on_exportOSMBinAction_triggered();
107                virtual void on_exportGPXAction_triggered();
108                virtual void on_exportKMLAction_triggered();
109                virtual void on_renderNativeAction_triggered();
110                virtual void on_renderOsmarenderAction_triggered();
111                virtual void on_editSelectAction_triggered();
112                virtual void on_bookmarkAddAction_triggered();
113                virtual void on_bookmarkRemoveAction_triggered();
114
115                virtual void on_toolsPreferencesAction_triggered() {toolsPreferencesAction_triggered();}
116                virtual void on_toolsWorldOsbAction_triggered();
117                virtual void on_toolsShortcutsAction_triggered();
118               
119                virtual void on_windowPropertiesAction_triggered();
120                virtual void on_windowLayersAction_triggered();
121                virtual void on_windowInfoAction_triggered();
122                virtual void on_windowDirtyAction_triggered();
123                virtual void on_windowToolbarAction_triggered();
124                virtual void on_windowGPSAction_triggered();
125#ifdef GEOIMAGE
126                virtual void on_windowGeoimageAction_triggered();
127#endif
128                virtual void on_windowStylesAction_triggered();
129               
130                virtual void on_windowHideAllAction_triggered();
131                virtual void on_windowShowAllAction_triggered();
132                virtual void on_gpsConnectAction_triggered();
133                virtual void on_gpsReplayAction_triggered();
134                virtual void on_gpsRecordAction_triggered();
135                virtual void on_gpsPauseAction_triggered();
136                virtual void on_gpsDisconnectAction_triggered();
137                virtual void on_gpsCenterAction_triggered();
138                virtual void preferencesChanged();
139                virtual void clipboardChanged();
140                virtual void toolsPreferencesAction_triggered(bool focusData=false);
141
142                virtual void on_toolTemplatesSaveAction_triggered();
143                virtual void on_toolTemplatesMergeAction_triggered();
144                virtual void on_toolTemplatesLoadAction_triggered();
145
146        signals:
147                void remove_triggered();
148                void move_triggered();
149                void add_triggered();
150                void reverse_triggered();
151
152        public:
153                MainWindowPrivate* p;
154
155                QString fileName;
156                PropertiesDock* properties();
157                InfoDock* info();
158                QGPS* gps();
159                #ifdef GEOIMAGE
160                GeoImageDock* geoImage();
161                #endif
162                MapDocument* document();
163                //MapLayer* activeLayer();
164                MapView* view();
165                QByteArray fullscreenState;
166
167                QProgressBar* pbImages;
168                QString StatusMessage;
169                QLabel* ViewportStatusLabel;
170                QLabel* PaintTimeLabel;
171
172        public slots:
173                void adjustLayers(bool adjustViewport);
174                void bookmarkTriggered(QAction* anAction);
175                void recentOpenTriggered(QAction* anAction);
176                void recentImportTriggered(QAction* anAction);
177                void projectionTriggered(QAction* anAction);
178                void styleTriggered(QAction* anAction);
179        void updateGpsPosition(float latitude, float longitude, QDateTime time, float altitude, float speed, float heading);
180                void applyStyles(QVector<FeaturePainter>* thePainters);
181
182        public:
183                void invalidateView(bool UpdateDock = true);
184                bool importFiles(MapDocument * mapDocument, const QStringList & filesNames, QStringList * importedFileNames = NULL);
185                void loadFiles(const QStringList & fileNames);
186                void loadDocument(QString fn);
187        void saveDocument();
188        void updateLanguage();
189
190
191    private:
192                MapView* theView;
193                MapDocument* theDocument;
194                PropertiesDock* theProperties;
195                InfoDock* theInfo;
196                DirtyDock* theDirty;
197                LayerDock* theLayers;
198                #ifdef GEOIMAGE
199                GeoImageDock* theGeoImage;
200                #endif
201                QGPS* theGPS;
202
203                TrackMapLayer* gpsRecLayer;
204                TrackSegment* curGpsTrackSegment;
205                QHash<QString, QString> shortcutsDefault;
206
207                QTranslator* qtTranslator;
208                QTranslator* merkaartorTranslator;
209
210        private slots:
211                void delayedInit();
212                void setAreaOpacity(QAction*);
213                void updateBookmarksMenu();
214        void updateWindowMenu(bool b=false);
215        void mapView_interactionChanged(Interaction* anInteraction);
216
217        private:
218                void createProgressDialog();
219                void updateMenu();
220                void updateRecentOpenMenu();
221                void updateRecentImportMenu();
222                void updateProjectionMenu();
223                void updateStyleMenu();
224                MapDocument* getDocumentFromClipboard();
225                bool selectExportedFeatures(QVector<MapFeature*>& theFeatures);
226
227        protected:
228                void closeEvent(QCloseEvent * event);
229};
230
231#endif
232
233
Note: See TracBrowser for help on using the repository browser.