• 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
  • plugins
  • render
  • satellites
SatellitesPlugin.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 2011 Guillaume Martres <smarter@ubuntu.com>
9 // Copyright 2012 Rene Kuettner <rene@bitkanal.net>
10 //
11 
12 #include "SatellitesPlugin.h"
13 
14 #include "MarbleDebug.h"
15 #include "MarbleModel.h"
16 #include "GeoDataPlacemark.h"
17 #include "SatellitesMSCItem.h"
18 #include "SatellitesTLEItem.h"
19 #include "SatellitesConfigLeafItem.h"
20 #include "SatellitesConfigNodeItem.h"
21 #include "SatellitesConfigModel.h"
22 #include "ViewportParams.h"
23 
24 #include "ui_SatellitesConfigDialog.h"
25 
26 #include <QUrl>
27 #include <QPushButton>
28 
29 namespace Marble
30 {
31 
32 SatellitesPlugin::SatellitesPlugin()
33  : RenderPlugin( 0 ),
34  m_satModel( 0 ),
35  m_configDialog( 0 )
36 {
37 }
38 
39 SatellitesPlugin::SatellitesPlugin( const MarbleModel *marbleModel )
40  : RenderPlugin( marbleModel ),
41  m_satModel( 0 ),
42  m_isInitialized( false ),
43  m_configDialog( new SatellitesConfigDialog() )
44 {
45  connect( this, SIGNAL(settingsChanged(QString)), SLOT(updateSettings()) );
46  connect( this, SIGNAL(enabledChanged(bool)), SLOT(enableModel(bool)) );
47  connect( this, SIGNAL(visibilityChanged(bool,QString)), SLOT(visibleModel(bool)) );
48 
49  connect( m_configDialog, SIGNAL(activatePluginClicked()), this, SLOT(activate()) );
50  connect( this, SIGNAL(visibilityChanged(bool,QString)),
51  m_configDialog, SLOT(setDialogActive(bool)) );
52 
53  setVisible( false );
54  setSettings( QHash<QString, QVariant>() );
55 }
56 
57 SatellitesPlugin::~SatellitesPlugin()
58 {
59  delete m_satModel;
60 
61  delete m_configDialog;
62 }
63 
64 QStringList SatellitesPlugin::backendTypes() const
65 {
66  return QStringList( "satellites" );
67 }
68 
69 QString SatellitesPlugin::renderPolicy() const
70 {
71  return QString( "ALWAYS" );
72 }
73 
74 QStringList SatellitesPlugin::renderPosition() const
75 {
76  return QStringList( "ORBIT" );
77 }
78 
79 QString SatellitesPlugin::name() const
80 {
81  return tr( "Satellites" );
82 }
83 
84 QString SatellitesPlugin::nameId() const
85 {
86  return "satellites";
87 }
88 
89 QString SatellitesPlugin::guiString() const
90 {
91  return tr( "&Satellites" );
92 }
93 
94 QString SatellitesPlugin::version() const
95 {
96  return "2.0";
97 }
98 
99 QString SatellitesPlugin::description() const
100 {
101  return tr( "This plugin displays satellites and their orbits." );
102 }
103 
104 QString SatellitesPlugin::copyrightYears() const
105 {
106  return "2012";
107 }
108 
109 QList<PluginAuthor> SatellitesPlugin::pluginAuthors() const
110 {
111  return QList<PluginAuthor>()
112  << PluginAuthor( "Guillaume Martres", "smarter@ubuntu.com" )
113  << PluginAuthor( "Rene Kuettner", "rene@bitkanal.net" )
114  << PluginAuthor( "Gerhard Holtkamp", "" );
115 }
116 
117 QString SatellitesPlugin::aboutDataText() const
118 {
119  return tr(
120  "Earth-Satellites orbital elements from <ul><li>"
121  "<a href=\"http://www.celestrak.com\">http://www.celestrak.com</a>"
122  "</li></ul>"
123  "Planetary-Satellites orbital elements from <ul><li>"
124  "<a href=\"http://tasc.esa.int/\">ESA TASC service</a></li><li>"
125  "<a href=\"http://ssd.jpl.nasa.gov/?horizons\">"
126  "JPL Horizons</a></li></ul>" );
127 }
128 
129 QIcon SatellitesPlugin::icon() const
130 {
131  return QIcon( ":/data/bitmaps/satellite.png" );
132 }
133 
134 RenderPlugin::RenderType SatellitesPlugin::renderType() const
135 {
136  return OnlineRenderType;
137 }
138 
139 void SatellitesPlugin::initialize()
140 {
141  // FIXME: remove the const_cast, it may be best to create a new type of
142  // plugins where marbleModel() is not const, since traditional
143  // RenderPlugins do not require that
144  m_satModel = new SatellitesModel(
145  const_cast<MarbleModel *>( marbleModel() )->treeModel(),
146  marbleModel()->clock() );
147 
148  m_configModel = new SatellitesConfigModel( this );
149  m_configDialog->configWidget()->treeView->setModel( m_configModel );
150 
151  connect( m_satModel, SIGNAL(fileParsed(QString)),
152  SLOT(dataSourceParsed(QString)) );
153  connect( m_satModel, SIGNAL(fileParsed(QString)),
154  SLOT(updateDataSourceConfig(QString)) );
155  connect( m_configDialog, SIGNAL(dataSourcesReloadRequested()),
156  SLOT(updateSettings()) );
157  connect( m_configDialog, SIGNAL(accepted()), SLOT(writeSettings()) );
158  connect( m_configDialog, SIGNAL(rejected()), SLOT(readSettings()) );
159  connect( m_configDialog->configWidget()->buttonBox->button(
160  QDialogButtonBox::Reset ),
161  SIGNAL(clicked()), SLOT(restoreDefaultSettings()) );
162  connect( m_configDialog, SIGNAL(userDataSourcesChanged()),
163  SLOT(writeSettings()) );
164  connect( m_configDialog, SIGNAL(userDataSourceAdded(QString)),
165  SLOT(userDataSourceAdded(QString)) );
166 
167  m_isInitialized = true;
168  readSettings();
169  updateSettings();
170  enableModel( enabled() );
171 }
172 
173 bool SatellitesPlugin::isInitialized() const
174 {
175  return m_isInitialized;
176 }
177 
178 bool SatellitesPlugin::render( GeoPainter *painter, ViewportParams *viewport,
179  const QString &renderPos, GeoSceneLayer *layer )
180 {
181  Q_UNUSED( painter );
182  Q_UNUSED( viewport );
183  Q_UNUSED( renderPos );
184  Q_UNUSED( layer );
185 
186  enableModel( enabled() );
187 
188  return true;
189 }
190 
191 QHash<QString, QVariant> SatellitesPlugin::settings() const
192 {
193  QHash<QString, QVariant> result = RenderPlugin::settings();
194 
195  foreach ( const QString &key, m_settings.keys() ) {
196  result.insert( key, m_settings[key] );
197  }
198 
199  return result;
200 }
201 
202 void SatellitesPlugin::setSettings( const QHash<QString, QVariant> &settings )
203 {
204  RenderPlugin::setSettings( settings );
205 
206  // add default data sources
207  if( !settings.contains( "dataSources" ) ) {
208  QStringList dsList;
209  dsList << "http://www.celestrak.com/NORAD/elements/visual.txt";
210  m_settings.insert( "dataSources", dsList );
211  m_settings.insert( "idList", dsList );
212  }
213  else {
214  // HACK: KConfig can't guess the type of the settings, when we use
215  // KConfigGroup::readEntry() in marble_part it returns a QString which
216  // is then wrapped into a QVariant when added to the settings hash.
217  // QVariant can handle the conversion for some types, like toDateTime()
218  // but when calling toStringList() on a QVariant::String, it will
219  // return a one element list
220  if( settings.value( "dataSources" ).type() == QVariant::String ) {
221  m_settings.insert( "dataSources",
222  settings.value( "dataSources" ).toString().split(QLatin1Char( ',' ) ) );
223  }
224  if( settings.value( "idList" ).type() == QVariant::String ) {
225  m_settings.insert( "idList",
226  settings.value( "idList" ).toString().split(QLatin1Char( ',' ) ) );
227  }
228  }
229 
230  // add default user data source
231  if( !settings.contains( "userDataSources" ) ) {
232  QStringList udsList;
233  udsList << "http://files.kde.org/marble/satellites/PlanetarySatellites.msc";
234  m_settings.insert( "userDataSources", udsList );
235  userDataSourceAdded( udsList[0] );
236  }
237  else if( settings.value( "userDataSources" ).type() == QVariant::String ) {
238  // same HACK as above
239  m_settings.insert( "userDataSources",
240  settings.value( "userDataSources" ).toString().split(QLatin1Char( ',' ) ) );
241  }
242 
243  emit settingsChanged( nameId() );
244 }
245 
246 void SatellitesPlugin::readSettings()
247 {
248  m_configDialog->setUserDataSources(
249  m_settings.value( "userDataSources" ).toStringList() );
250  m_configModel->loadSettings( m_settings );
251  m_satModel->loadSettings( m_settings );
252 }
253 
254 void SatellitesPlugin::writeSettings()
255 {
256  m_settings.insert( "userDataSources", m_configDialog->userDataSources() );
257  m_settings.insert( "dataSources", m_configModel->urlList() );
258  m_settings.insert( "idList", m_configModel->idList() );
259 
260  emit settingsChanged( nameId() );
261 }
262 
263 void SatellitesPlugin::updateSettings()
264 {
265  if (!isInitialized()) {
266  return;
267  }
268 
269  m_satModel->clear();
270 
271  m_configModel->clear();
272  addBuiltInDataSources();
273 
274  // (re)load data sources
275  QStringList dsList = m_settings["dataSources"].toStringList();
276  dsList << m_settings["userDataSources"].toStringList();
277  dsList.removeDuplicates();
278  foreach( const QString &ds, dsList ) {
279  mDebug() << "Loading satellite data from:" << ds;
280  m_satModel->downloadFile( QUrl( ds ), ds );
281  }
282 }
283 
284 void SatellitesPlugin::dataSourceParsed( const QString &source )
285 {
286  m_configDialog->setUserDataSourceLoaded( source, true );
287 }
288 
289 void SatellitesPlugin::userDataSourceAdded( const QString &source )
290 {
291  // items contained in catalog data sources are not known before
292  // the catalog has been parsed. so we store new data sources in
293  // order to activate them later (new datasources are enabled by
294  // default)
295  if( !m_newDataSources.contains( source ) ) {
296  m_newDataSources.append( source );
297  }
298 }
299 
300 SatellitesConfigDialog *SatellitesPlugin::configDialog()
301 {
302  return m_configDialog;
303 }
304 
305 void SatellitesPlugin::activate()
306 {
307  action()->trigger();
308 }
309 
310 void SatellitesPlugin::enableModel( bool enabled )
311 {
312  if ( !m_isInitialized ) {
313  return;
314  }
315 
316  m_satModel->setPlanet( marbleModel()->planetId() );
317  m_satModel->enable( enabled && visible() );
318 }
319 
320 void SatellitesPlugin::visibleModel( bool visible )
321 {
322  if ( !m_isInitialized ) {
323  return;
324  }
325 
326  m_satModel->setPlanet( marbleModel()->planetId() );
327  m_satModel->enable( enabled() && visible );
328 }
329 
330 void SatellitesPlugin::updateDataSourceConfig( const QString &source )
331 {
332  mDebug() << "Updating orbiter configuration";
333 
334  foreach( QObject *obj, m_satModel->items() ) {
335  // catalog items
336  SatellitesMSCItem *item = qobject_cast<SatellitesMSCItem*>( obj );
337  if( ( item != NULL ) && ( item->catalog() == source ) ) {
338  m_configDialog->addSatelliteItem(
339  item->relatedBody(),
340  item->category(),
341  item->name(),
342  item->id() );
343  }
344  }
345 
346  // activate new datasources by default
347  if( m_newDataSources.contains( source ) ) {
348  m_newDataSources.removeAll( source );
349  activateDataSource( source );
350  }
351 
352  readSettings();
353  m_configDialog->update();
354 }
355 
356 void SatellitesPlugin::activateDataSource( const QString &source )
357 {
358  // activate the given data source (select it)
359  mDebug() << "Activating Data Source:" << source;
360  QStringList list = m_configModel->fullIdList().filter( source );
361  QStringList idList = m_settings["idList"].toStringList();
362  idList << list;
363  m_settings.insert( "idList", idList );
364 }
365 
366 void SatellitesPlugin::addBuiltInDataSources()
367 {
368  QString currentCategory;
369 
370  currentCategory = tr("Special-Interest Satellites" );
371  m_configDialog->addTLESatelliteItem( currentCategory, tr( "Last 30 Days' Launches", "Name of a satellite group" ), "http://www.celestrak.com/NORAD/elements/tle-new.txt" );
372  m_configDialog->addTLESatelliteItem( currentCategory, tr( "Space Stations", "Name of a satellite group" ), "http://www.celestrak.com/NORAD/elements/stations.txt" );
373  m_configDialog->addTLESatelliteItem( currentCategory, tr( "100 (or so) Brightest", "Name of a satellite group" ), "http://www.celestrak.com/NORAD/elements/visual.txt" );
374  m_configDialog->addTLESatelliteItem( currentCategory, tr( "FENGYUN 1C Debris", "Name of a satellite group" ), "http://www.celestrak.com/NORAD/elements/1999-025.txt" );
375  m_configDialog->addTLESatelliteItem( currentCategory, tr( "IRIDIUM 33 Debris", "Name of a satellite group" ), "http://www.celestrak.com/NORAD/elements/iridium-33-debris.txt" );
376  m_configDialog->addTLESatelliteItem( currentCategory, tr( "COSMOS 2251 Debris", "Name of a satellite group" ), "http://www.celestrak.com/NORAD/elements/cosmos-2251-debris.txt" );
377 
378  currentCategory = tr( "Weather & Earth Resources Satellites" );
379  m_configDialog->addTLESatelliteItem( currentCategory, tr( "Weather", "Name of a satellite group" ), "http://www.celestrak.com/NORAD/elements/weather.txt" );
380  m_configDialog->addTLESatelliteItem( currentCategory, tr( "NOAA", "Name of a satellite group" ), "http://www.celestrak.com/NORAD/elements/noaa.txt" );
381  m_configDialog->addTLESatelliteItem( currentCategory, tr( "GOES", "Name of a satellite group" ), "http://www.celestrak.com/NORAD/elements/goes.txt" );
382  m_configDialog->addTLESatelliteItem( currentCategory, tr( "Earth Resources", "Name of a satellite group" ), "http://www.celestrak.com/NORAD/elements/resource.txt" );
383  m_configDialog->addTLESatelliteItem( currentCategory, tr( "Search & Rescue (SARSAT)", "Name of a satellite group" ), "http://www.celestrak.com/NORAD/elements/sarsat.txt" );
384  m_configDialog->addTLESatelliteItem( currentCategory, tr( "Disaster Monitoring", "Name of a satellite group" ), "http://www.celestrak.com/NORAD/elements/dmc.txt" );
385  m_configDialog->addTLESatelliteItem( currentCategory, tr( "Tracking and Data Relay Satellite System (TDRSS)", "Name of a satellite group" ), "http://www.celestrak.com/NORAD/elements/tdrss.txt" );
386 
387  currentCategory = tr( "Communications Satellites" );
388  m_configDialog->addTLESatelliteItem( currentCategory, tr( "Geostationary", "Name of a satellite group" ), "http://www.celestrak.com/NORAD/elements/geo.txt" );
389  m_configDialog->addTLESatelliteItem( currentCategory, tr( "Intelsat", "Name of a satellite group" ), "http://www.celestrak.com/NORAD/elements/intelsat.txt" );
390  m_configDialog->addTLESatelliteItem( currentCategory, tr( "Gorizont", "Name of a satellite group" ), "http://www.celestrak.com/NORAD/elements/gorizont.txt" );
391  m_configDialog->addTLESatelliteItem( currentCategory, tr( "Raduga", "Name of a satellite group" ), "http://www.celestrak.com/NORAD/elements/raduga.txt" );
392  m_configDialog->addTLESatelliteItem( currentCategory, tr( "Molniya", "Name of a satellite group" ), "http://www.celestrak.com/NORAD/elements/molniya.txt" );
393  m_configDialog->addTLESatelliteItem( currentCategory, tr( "Iridium", "Name of a satellite group" ), "http://www.celestrak.com/NORAD/elements/iridium.txt" );
394  m_configDialog->addTLESatelliteItem( currentCategory, tr( "Orbcomm", "Name of a satellite group" ), "http://www.celestrak.com/NORAD/elements/orbcomm.txt" );
395  m_configDialog->addTLESatelliteItem( currentCategory, tr( "Globalstar", "Name of a satellite group" ), "http://www.celestrak.com/NORAD/elements/globalstar.txt" );
396  m_configDialog->addTLESatelliteItem( currentCategory, tr( "Amateur radio", "Name of a satellite group" ), "http://www.celestrak.com/NORAD/elements/amateur.txt" );
397  m_configDialog->addTLESatelliteItem( currentCategory, tr( "Experimental", "Name of a satellite group" ), "http://www.celestrak.com/NORAD/elements/x-comm.txt" );
398  m_configDialog->addTLESatelliteItem( currentCategory, tr( "Other", "Name of a satellite group" ), "http://www.celestrak.com/NORAD/elements/other-comm.txt" );
399 
400  currentCategory = tr( "Navigation Satellites" );
401  m_configDialog->addTLESatelliteItem( currentCategory, tr( "GPS Operational", "Name of a satellite group" ), "http://www.celestrak.com/NORAD/elements/gps-ops.txt" );
402  m_configDialog->addTLESatelliteItem( currentCategory, tr( "Glonass Operational", "Name of a satellite group" ), "http://www.celestrak.com/NORAD/elements/glo-ops.txt" );
403  m_configDialog->addTLESatelliteItem( currentCategory, tr( "Galileo", "Name of a satellite group" ), "http://www.celestrak.com/NORAD/elements/galileo.txt" );
404  m_configDialog->addTLESatelliteItem( currentCategory, tr( "Satellite-Based Augmentation System (WAAS/EGNOS/MSAS)", "Name of a satellite group" ), "http://www.celestrak.com/NORAD/elements/sbas.txt" );
405  m_configDialog->addTLESatelliteItem( currentCategory, tr( "Navy Navigation Satellite System (NNSS)", "Name of a satellite group" ), "http://www.celestrak.com/NORAD/elements/nnss.txt" );
406  m_configDialog->addTLESatelliteItem( currentCategory, tr( "Russian LEO Navigation", "Name of a satellite group" ), "http://www.celestrak.com/NORAD/elements/musson.txt" );
407 
408  currentCategory = tr( "Scientific Satellites" );
409  m_configDialog->addTLESatelliteItem( currentCategory, tr( "Space & Earth Science", "Name of a satellite group" ), "http://www.celestrak.com/NORAD/elements/science.txt" );
410  m_configDialog->addTLESatelliteItem( currentCategory, tr( "Geodetic", "Name of a satellite group" ), "http://www.celestrak.com/NORAD/elements/geodetic.txt" );
411  m_configDialog->addTLESatelliteItem( currentCategory, tr( "Engineering", "Name of a satellite group" ), "http://www.celestrak.com/NORAD/elements/engineering.txt" );
412  m_configDialog->addTLESatelliteItem( currentCategory, tr( "Education", "Name of a satellite group" ), "http://www.celestrak.com/NORAD/elements/education.txt" );
413 
414  currentCategory = tr( "Miscellaneous Satellites" );
415  m_configDialog->addTLESatelliteItem( currentCategory, tr( "Miscellaneous Military", "Name of a satellite group" ), "http://www.celestrak.com/NORAD/elements/military.txt" );
416  m_configDialog->addTLESatelliteItem( currentCategory, tr( "Radar Calibration", "Name of a satellite group" ), "http://www.celestrak.com/NORAD/elements/radar.txt" );
417  m_configDialog->addTLESatelliteItem( currentCategory, tr( "CubeSats", "Name of a satellite group" ), "http://www.celestrak.com/NORAD/elements/cubesat.txt" );
418  m_configDialog->addTLESatelliteItem( currentCategory, tr( "Other", "Name of a satellite group" ), "http://www.celestrak.com/NORAD/elements/other.txt" );
419 
420  readSettings();
421  m_configDialog->update();
422 }
423 
424 } // namespace Marble
425 
426 Q_EXPORT_PLUGIN2( SatellitesPlugin, Marble::SatellitesPlugin )
427 
428 #include "SatellitesPlugin.moc"
429 
Marble::RenderPlugin::visible
bool visible() const
is visible
Marble::TrackerPluginModel::enable
void enable(bool enabled)
Definition: TrackerPluginModel.cpp:107
Marble::SatellitesPlugin::configDialog
SatellitesConfigDialog * configDialog()
Returns a pointer to the configuration dialog of the plugin.
Definition: SatellitesPlugin.cpp:300
Marble::SatellitesPlugin::~SatellitesPlugin
virtual ~SatellitesPlugin()
Definition: SatellitesPlugin.cpp:57
Marble::SatellitesPlugin::version
QString version() const
Definition: SatellitesPlugin.cpp:94
Marble::SatellitesPlugin::backendTypes
QStringList backendTypes() const
Returns the name(s) of the backend that the plugin can render This method should return the name of t...
Definition: SatellitesPlugin.cpp:64
Marble::SatellitesModel
The model for satellites.
Definition: SatellitesModel.h:27
Marble::GeoPainter
A painter that allows to draw geometric primitives on the map.
Definition: GeoPainter.h:98
Marble::SatellitesPlugin::setSettings
void setSettings(const QHash< QString, QVariant > &settings)
Set the settings of the plugin.
Definition: SatellitesPlugin.cpp:202
Marble::SatellitesPlugin::copyrightYears
QString copyrightYears() const
Definition: SatellitesPlugin.cpp:104
MarbleModel.h
This file contains the headers for MarbleModel.
Marble::SatellitesConfigDialog::update
void update()
Definition: SatellitesConfigDialog.cpp:90
Marble::SatellitesPlugin::render
bool render(GeoPainter *painter, ViewportParams *viewport, const QString &renderPos, GeoSceneLayer *layer)
Renders the content provided by the layer on the viewport.
Definition: SatellitesPlugin.cpp:178
Marble::SatellitesConfigDialog
Definition: SatellitesConfigDialog.h:28
Marble::PluginAuthor
Definition: PluginInterface.h:28
SatellitesConfigModel.h
Marble::SatellitesPlugin::guiString
QString guiString() const
String that should be displayed in GUI.
Definition: SatellitesPlugin.cpp:89
Marble::RenderPlugin::restoreDefaultSettings
void restoreDefaultSettings()
Passes an empty set of settings to the plugin.
Definition: RenderPlugin.cpp:214
Marble::SatellitesPlugin::addBuiltInDataSources
void addBuiltInDataSources()
Definition: SatellitesPlugin.cpp:366
Marble::SatellitesModel::setPlanet
void setPlanet(const QString &lcPlanet)
Definition: SatellitesModel.cpp:77
Marble::RenderPlugin::action
QAction * action() const
Plugin's menu action.
Definition: RenderPlugin.cpp:86
QObject
MarbleDebug.h
Marble::SatellitesPlugin::settings
QHash< QString, QVariant > settings() const
Settings of the plugin.
Definition: SatellitesPlugin.cpp:191
SatellitesMSCItem.h
Marble::SatellitesPlugin::renderPolicy
QString renderPolicy() const
Return how the plugin settings should be used.
Definition: SatellitesPlugin.cpp:69
Marble::SatellitesPlugin
This plugin displays satellites and their orbits.
Definition: SatellitesPlugin.h:31
Marble::SatellitesConfigDialog::configWidget
Ui::SatellitesConfigDialog * configWidget()
Definition: SatellitesConfigDialog.cpp:156
Marble::SatellitesPlugin::activateDataSource
void activateDataSource(const QString &source)
Definition: SatellitesPlugin.cpp:356
Marble::GeoSceneLayer
Layer of a GeoScene document.
Definition: GeoSceneLayer.h:43
Marble::SatellitesConfigDialog::setUserDataSources
void setUserDataSources(const QStringList &sources)
Definition: SatellitesConfigDialog.cpp:59
Marble::SatellitesConfigDialog::addSatelliteItem
SatellitesConfigAbstractItem * addSatelliteItem(const QString &body, const QString &category, const QString &title, const QString &id, const QString &url=QString())
Definition: SatellitesConfigDialog.cpp:98
Marble::RenderPlugin::settingsChanged
void settingsChanged(QString nameId)
This signal is emitted if the settings of the RenderPlugin changed.
Marble::RenderPlugin::visibilityChanged
void visibilityChanged(bool visible, const QString &nameId)
This signal is emitted if the visibility is changed with.
Marble::SatellitesPlugin::name
QString name() const
Returns the user-visible name of the plugin.
Definition: SatellitesPlugin.cpp:79
Marble::TrackerPluginModel::items
QVector< TrackerPluginItem * > items() const
Return all available items.
Definition: TrackerPluginModel.cpp:126
Marble::RenderPlugin::setVisible
void setVisible(bool visible)
settting visible
Definition: RenderPlugin.cpp:149
GeoDataPlacemark.h
Marble::SatellitesPlugin::initialize
void initialize()
Definition: SatellitesPlugin.cpp:139
Marble::SatellitesPlugin::pluginAuthors
QList< PluginAuthor > pluginAuthors() const
Definition: SatellitesPlugin.cpp:109
Marble::ViewportParams
A public class that controls what is visible in the viewport of a Marble map.
Definition: ViewportParams.h:44
Q_EXPORT_PLUGIN2
#define Q_EXPORT_PLUGIN2(a, b)
Definition: marble_export.h:34
SatellitesConfigNodeItem.h
Marble::SatellitesConfigModel::loadSettings
void loadSettings(QHash< QString, QVariant > settings)
Definition: SatellitesConfigModel.cpp:48
ViewportParams.h
This file contains the headers for ViewportParams.
SatellitesConfigLeafItem.h
Marble::SatellitesPlugin::description
QString description() const
Returns a user description of the plugin.
Definition: SatellitesPlugin.cpp:99
Marble::SatellitesConfigModel::idList
QStringList idList() const
Definition: SatellitesConfigModel.cpp:30
Marble::MarbleModel
The data model (not based on QAbstractModel) for a MarbleWidget.
Definition: MarbleModel.h:96
Marble::SatellitesModel::loadSettings
void loadSettings(const QHash< QString, QVariant > &settings)
Definition: SatellitesModel.cpp:69
Marble::RenderPlugin::enabledChanged
void enabledChanged(bool enable)
This signal is emitted if the enabled property is changed with.
SatellitesTLEItem.h
Marble::SatellitesConfigDialog::setUserDataSourceLoaded
void setUserDataSourceLoaded(const QString &source, bool loaded)
Definition: SatellitesConfigDialog.cpp:76
Marble::SatellitesPlugin::renderType
RenderType renderType() const
Render type of the plugin.
Definition: SatellitesPlugin.cpp:134
Marble::RenderPlugin::OnlineRenderType
Definition: RenderPlugin.h:63
Marble::SatellitesConfigDialog::addTLESatelliteItem
SatellitesConfigAbstractItem * addTLESatelliteItem(const QString &category, const QString &title, const QString &url)
Definition: SatellitesConfigDialog.cpp:128
Marble::SatellitesPlugin::SatellitesPlugin
SatellitesPlugin()
Definition: SatellitesPlugin.cpp:32
Marble::SatellitesPlugin::icon
QIcon icon() const
Returns an icon for the plugin.
Definition: SatellitesPlugin.cpp:129
Marble::SatellitesPlugin::renderPosition
QStringList renderPosition() const
Preferred level in the layer stack for the rendering.
Definition: SatellitesPlugin.cpp:74
Marble::RenderPlugin::enabled
bool enabled() const
is enabled
Marble::TrackerPluginModel::clear
void clear()
Remove all items from the model.
Definition: TrackerPluginModel.cpp:131
Marble::SatellitesConfigDialog::userDataSources
QStringList userDataSources() const
Definition: SatellitesConfigDialog.cpp:71
Marble::SatellitesPlugin::aboutDataText
QString aboutDataText() const
Returns about text (credits) for external data the plugin uses.
Definition: SatellitesPlugin.cpp:117
Marble::RenderPlugin::marbleModel
const MarbleModel * marbleModel() const
Access to the MarbleModel.
Definition: RenderPlugin.cpp:81
Marble::TrackerPluginModel::downloadFile
void downloadFile(const QUrl &url, const QString &id)
Adds url to the download queue.
Definition: TrackerPluginModel.cpp:165
Marble::RenderPlugin::settings
virtual QHash< QString, QVariant > settings() const
Settings of the plugin.
Definition: RenderPlugin.cpp:183
Marble::SatellitesConfigModel::fullIdList
QStringList fullIdList() const
Definition: SatellitesConfigModel.cpp:36
Marble::RenderPlugin::RenderType
RenderType
A Type of plugin.
Definition: RenderPlugin.h:59
SatellitesPlugin.h
Marble::mDebug
QDebug mDebug()
a function to replace qDebug() in Marble library code
Definition: MarbleDebug.cpp:31
Marble::SatellitesPlugin::isInitialized
bool isInitialized() const
Definition: SatellitesPlugin.cpp:173
Marble::RenderPlugin
The abstract class that creates a renderable item.
Definition: RenderPlugin.h:43
Marble::RenderPlugin::setSettings
virtual void setSettings(const QHash< QString, QVariant > &settings)
Set the settings of the plugin.
Definition: RenderPlugin.cpp:193
Marble::SatellitesPlugin::nameId
QString nameId() const
Returns the unique name of the plugin.
Definition: SatellitesPlugin.cpp:84
Marble::SatellitesConfigModel::urlList
QStringList urlList() const
Definition: SatellitesConfigModel.cpp:42
Marble::SatellitesConfigModel
Definition: SatellitesConfigModel.h:20
Marble::SatellitesConfigModel::clear
void clear()
Definition: SatellitesConfigModel.cpp:58
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