• Skip to content
  • Skip to link menu
KDE API Reference
  • KDE API Reference
  • kdeedu API Reference
  • KDE Home
  • Contact Us
 

marble

  • sources
  • kde-4.12
  • kdeedu
  • marble
  • src
  • apps
  • marble-qt
QtMainWindow.h
Go to the documentation of this file.
1 //
2 // This file is part of the Marble Virtual Globe.
3 //
4 // This program is free software licensed under the GNU LGPL. You can
5 // find a copy of this license in LICENSE.txt in the top directory of
6 // the source code.
7 //
8 // Copyright 2006-2010 Torsten Rahn <tackat@kde.org>
9 // Copyright 2007 Inge Wallin <ingwa@kde.org>
10 // Copyright 2010-2013 Bernhard Beschow <bbeschow@cs.tu-berlin.de>
11 //
12 
13 
14 #ifndef MARBLE_MAINWINDOW_H
15 #define MARBLE_MAINWINDOW_H
16 
17 
18 #include <QMainWindow>
19 #include <QDateTime>
20 #include <QVariantMap>
21 #include "ControlView.h"
22 
23 class QAction;
24 class QLabel;
25 class QMenu;
26 class QPrinter;
27 class QProgressBar;
28 
29 namespace Marble
30 {
31 
32 class MarbleWidget;
33 class SunControlWidget;
34 class TimeControlWidget;
35 class QtMarbleConfigDialog;
36 class DownloadRegionDialog;
37 
38 class MainWindow : public QMainWindow
39 {
40  Q_OBJECT
41 
42 public:
43  explicit MainWindow(const QString& marbleDataPath = QString(),
44  const QVariantMap& cmdLineSettings = QVariantMap(),
45  QWidget *parent=0);
46 
47  ControlView* marbleControl() {
48  return m_controlView;
49  }
50  MarbleWidget* marbleWidget() {
51  return m_controlView->marbleWidget();
52  }
53 
54  void addGeoDataFile( const QString &fileName );
55 
56 protected:
57  void closeEvent(QCloseEvent *event);
58 
59 private:
60  void createActions();
61  void createMenus( const QList<QAction*> &panelActions );
62  void createStatusBar();
63 
64  QString readMarbleDataPath();
65  void readSettings(const QVariantMap& overrideSettings = QVariantMap());
66  void writeSettings();
67 
68 private Q_SLOTS:
69  void showPosition( const QString& position);
70  void showDistance( const QString& position);
71  void showZoom( int );
72  void showDateTime();
73 
74  void initObject(const QVariantMap& cmdLineSettings);
75  void editSettings();
76  void updateSettings();
77 
78  void fallBackToDefaultTheme();
79 
80  // File Menu
81  void openFile();
82  void openMapDialog();
83  void exportMapScreenShot();
84  void showDownloadRegionDialog();
85  void printMapScreenShot();
86  void workOffline( bool );
87  void showMapWizard();
88 
89  // Edit Menu
90  void copyMap();
91  void copyCoordinates();
92  void updateMapEditButtonVisibility( const QString &mapTheme );
93 
94  // View Menu
95  void lockPosition( bool );
96  void createPluginsMenus();
97  void createPluginMenus();
98  void showClouds( bool );
99  void controlSun();
100  void controlTime();
101  void showSun( bool );
102  void reload();
103 
104  // Settings Menu
105  void showFullScreen( bool );
106  void showStatusBar( bool );
107  void setupStatusBar();
108  void setupDownloadProgressBar();
109 
110  // Help Menu
111  void enterWhatsThis();
112  void aboutMarble();
113  void handbook();
114 
115  //Bookmark Menu
116  void openEditBookmarkDialog();
117  void setHome();
118  void createBookmarksListMenu( QMenu *bookmarksListMenu, const GeoDataContainer *container );
119  void lookAtBookmark( QAction * action );
120  void manageBookmarks();
121  void createBookmarkMenu();
122  void createFolderList( QMenu *bookmarksListMenu, const GeoDataContainer *container );
123  void showBookmarks( bool show );
124 
125  // Download region dialog
126  void downloadRegion();
127 
128  void showZoomLevel( bool show );
129 
130  void downloadJobAdded();
131  void downloadJobRemoved();
132 
133 private:
134  ControlView *m_controlView;
135  SunControlWidget* m_sunControlDialog;
136  TimeControlWidget* m_timeControlDialog;
137  QtMarbleConfigDialog *m_configDialog;
138  DownloadRegionDialog* m_downloadRegionDialog;
139 
141  QList<QToolBar*> m_pluginToolbars;
143  QList<QMenu*> m_pluginMenus;
144 
145  QMenu *m_fileMenu;
146  QMenu *m_viewMenu;
147  QMenu *m_helpMenu;
148  QMenu *m_settingsMenu;
149  QMenu *m_panelMenu;
150  QMenu *m_infoBoxesMenu;
151  QMenu *m_onlineServicesMenu;
152  QMenu *m_bookmarkMenu;
153  // File Menu
154  QAction *m_openAct;
155  QAction *m_exportMapAct;
156  QAction *m_downloadAct;
157  QAction *m_downloadRegionAction;
158  QAction *m_printPreviewAct;
159  QAction *m_printAct;
160  QAction *m_workOfflineAct;
161  QAction *m_quitAct;
162  QAction *m_mapWizardAct;
163 
164  // Edit Menu
165  QAction *m_copyMapAct;
166  QAction *m_copyCoordinatesAct;
167  QAction *m_osmEditAction;
168 
169  // View Menu
170  QAction *m_showCloudsAct;
171  QAction *m_controlSunAct;
172  QAction *m_controlTimeAct;
173  QAction *m_reloadAct;
174 
175  // Settings Menu
176  QAction *m_fullScreenAct;
177  QAction *m_statusBarAct;
178  QAction *m_configDialogAct;
179 
180  // Help Menu
181  QAction *m_whatsThisAct;
182  QAction *m_aboutMarbleAct;
183  QAction *m_aboutQtAct;
184  QAction *m_lockFloatItemsAct;
185  QAction *m_handbookAct;
186 
187  // Status Bar
188  QString m_position;
189  QString m_distance;
190  QString m_zoom;
191  QString m_clock;
192  QLabel *m_positionLabel;
193  QLabel *m_distanceLabel;
194  QLabel *m_zoomLabel;
195  QLabel *m_clockLabel;
196  QProgressBar *m_downloadProgressBar;
197  void updateStatusBar();
198 
199  //Bookmark Menu
200  QAction *m_addBookmarkAct;
201  QAction *m_setHomeAct;
202  QAction *m_toggleBookmarkDisplayAct;
203  QAction *m_manageBookmarksAct;
204 
205  QString m_lastFileOpenPath;
206  QStringList m_commandlineFilePaths;
207 };
208 
209 } // namespace Marble
210 
211 #endif
Marble::TimeControlWidget
Definition: TimeControlWidget.h:31
Marble::MainWindow::closeEvent
void closeEvent(QCloseEvent *event)
Definition: MobileMainWindow.cpp:284
QWidget
Marble::SunControlWidget
Definition: SunControlWidget.h:31
Marble::GeoDataContainer
A base class that can hold GeoDataFeatures.
Definition: GeoDataContainer.h:47
Marble::QtMarbleConfigDialog
Definition: QtMarbleConfigDialog.h:27
Marble::MainWindow::marbleControl
ControlView * marbleControl()
Definition: QtMainWindow.h:47
Marble::MainWindow::MainWindow
MainWindow(const QString &marbleDataPath=QString(), QWidget *parent=0)
Definition: KdeMainWindow.cpp:38
Marble::MarbleWidget
A widget class that displays a view of the earth.
Definition: MarbleWidget.h:102
Marble::MainWindow::marbleWidget
MarbleWidget * marbleWidget()
Definition: QtMainWindow.h:50
Marble::ControlView::marbleWidget
MarbleWidget * marbleWidget() const
Definition: ControlView.h:59
Marble::DownloadRegionDialog
Definition: DownloadRegionDialog.h:31
QMainWindow
ControlView.h
MarbleWidget
Wraps a Marble::MarbleWidget, providing access to important properties and methods.
Definition: MarbleDeclarativeWidget.h:50
Marble::ControlView
Definition: ControlView.h:45
Marble::MainWindow::addGeoDataFile
void addGeoDataFile(const QString &path)
Definition: MobileMainWindow.cpp:197
This file is part of the KDE documentation.
Documentation copyright © 1996-2014 The KDE developers.
Generated on Tue Oct 14 2014 22:38:52 by doxygen 1.8.7 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.

marble

Skip menu "marble"
  • Main Page
  • Namespace List
  • Namespace Members
  • Alphabetical List
  • Class List
  • Class Hierarchy
  • Class Members
  • File List
  • File Members
  • Related Pages

kdeedu API Reference

Skip menu "kdeedu API Reference"
  • Analitza
  •     lib
  • kalgebra
  • kalzium
  •   libscience
  • kanagram
  • kig
  •   lib
  • klettres
  • kstars
  • libkdeedu
  •   keduvocdocument
  • marble
  • parley
  • rocs
  •   App
  •   RocsCore
  •   VisualEditor
  •   stepcore

Search



Report problems with this website to our bug tracking system.
Contact the specific authors with questions and comments about the page contents.

KDE® and the K Desktop Environment® logo are registered trademarks of KDE e.V. | Legal