• 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-kde
KdeMainWindow.cpp
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-2007 Torsten Rahn <tackat@kde.org>
9 // Copyright 2007 Inge Wallin <ingwa@kde.org>
10 //
11 
12 // Own
13 #include "KdeMainWindow.h"
14 
15 // Qt
16 #include <QProgressBar>
17 #include <QToolBar>
18 
19 // KDE
20 #include <kaction.h>
21 #include <kactioncollection.h>
22 #include <kparts/part.h>
23 #include <kparts/componentfactory.h>
24 #include <kxmlguifactory.h>
25 
26 // GeoData
27 #include <GeoSceneDocument.h>
28 #include <GeoSceneHead.h>
29 
30 // Local dir
31 #include "MarbleDebug.h"
32 #include "ControlView.h"
33 #include "marble_part.h"
34 
35 namespace Marble
36 {
37 
38 MainWindow::MainWindow( const QString& marbleDataPath, QWidget *parent )
39  : KXmlGuiWindow( parent )
40 {
41  m_part = new MarblePart( this, this, QVariantList() << marbleDataPath );
42 
43  setCentralWidget( m_part->widget() );
44 
45  insertChildClient( m_part );
46 
47  setXMLFile( "marbleui.rc" );
48 
49  setStandardToolBarMenuEnabled( true );
50 
51  createGUI( 0 );
52  QList<QAction*> panelActions = m_part->controlView()->setupDockWidgets( this );
53  m_part->unplugActionList( "panels_actionlist" );
54  m_part->plugActionList( "panels_actionlist", panelActions );
55 
56  // Creating the plugin menus
57  m_part->createInfoBoxesMenu();
58  m_part->createOnlineServicesMenu();
59  m_part->createRenderPluginActions();
60  m_part->createFolderList();
61 
62  setAutoSaveSettings();
63 
64  connect( marbleWidget(), SIGNAL(themeChanged(QString)),
65  this, SLOT(setMapTitle()));
66 }
67 
68 MainWindow::~MainWindow()
69 {
70  factory()->removeClient( m_part );
71  delete m_part;
72 }
73 
74 ControlView* MainWindow::marbleControl() const
75 {
76  return m_part->controlView();
77 }
78 
79 MarbleWidget* MainWindow::marbleWidget() const
80 {
81  return m_part->controlView()->marbleWidget();
82 }
83 
84 void MainWindow::setMapTitle()
85 {
86  GeoSceneDocument *mapTheme = marbleWidget()->mapTheme();
87  if ( mapTheme ) {
88  setCaption( tr( mapTheme->head()->name().toLatin1() ) );
89  }
90 }
91 
92 }
93 
94 #include "KdeMainWindow.moc"
Marble::MarblePart
Definition: marble_part.h:52
GeoSceneHead.h
Marble::MainWindow::setMapTitle
void setMapTitle()
Definition: KdeMainWindow.cpp:84
KdeMainWindow.h
marble_part.h
Marble::MainWindow::marbleControl
ControlView * marbleControl() const
Definition: KdeMainWindow.cpp:74
Marble::MainWindow::~MainWindow
~MainWindow()
Definition: KdeMainWindow.cpp:68
QWidget
GeoSceneDocument.h
MarbleDebug.h
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
KXmlGuiWindow
Marble::MarblePart::createFolderList
void createFolderList()
Definition: marble_part.cpp:905
Marble::GeoSceneHead::name
QString name() const
Definition: GeoSceneHead.cpp:91
Marble::GeoSceneDocument::head
const GeoSceneHead * head() const
Definition: GeoSceneDocument.cpp:86
Marble::GeoSceneDocument
A container for features parsed from the DGML file.
Definition: GeoSceneDocument.h:44
Marble::ControlView::marbleWidget
MarbleWidget * marbleWidget() const
Definition: ControlView.h:59
Marble::MarbleWidget::mapTheme
GeoSceneDocument * mapTheme() const
Get the GeoSceneDocument object of the current map theme.
Definition: MarbleWidget.cpp:888
Marble::MarblePart::controlView
ControlView * controlView() const
Definition: marble_part.cpp:209
ControlView.h
Marble::MainWindow::marbleWidget
MarbleWidget * marbleWidget() const
Definition: KdeMainWindow.cpp:79
Marble::MarblePart::createInfoBoxesMenu
void createInfoBoxesMenu()
Definition: marble_part.cpp:952
Marble::ControlView
Definition: ControlView.h:45
Marble::MarblePart::createOnlineServicesMenu
void createOnlineServicesMenu()
Definition: marble_part.cpp:968
Marble::MarblePart::createRenderPluginActions
void createRenderPluginActions()
Definition: marble_part.cpp:988
Marble::ControlView::setupDockWidgets
QList< QAction * > setupDockWidgets(QMainWindow *mainWindow)
Definition: ControlView.cpp:501
This file is part of the KDE documentation.
Documentation copyright © 1996-2014 The KDE developers.
Generated on Tue Oct 14 2014 22:38:50 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