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

marble

  • sources
  • kde-4.14
  • kdeedu
  • marble
  • src
  • plugins
  • render
  • weather
WeatherPlugin.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 2009 Bastian Holst <bastianholst@gmx.de>
9 //
10 
11 #ifndef WEATHERPLUGIN_H
12 #define WEATHERPLUGIN_H
13 
14 #include "AbstractDataPlugin.h"
15 #include "DialogConfigurationInterface.h"
16 
17 // Qt
18 #include <QHash>
19 
20 class QIcon;
21 
22 namespace Ui
23 {
24  class WeatherConfigWidget;
25 }
26 
27 namespace Marble
28 {
29 
30 class WeatherPlugin : public AbstractDataPlugin, public DialogConfigurationInterface
31 {
32  Q_OBJECT
33  Q_PLUGIN_METADATA( IID "org.kde.edu.marble.WeatherPlugin" )
34  Q_INTERFACES( Marble::RenderPluginInterface )
35  Q_INTERFACES( Marble::DialogConfigurationInterface )
36  MARBLE_PLUGIN( WeatherPlugin )
37 
38  public:
39  WeatherPlugin();
40 
41  explicit WeatherPlugin( const MarbleModel *marbleModel );
42 
43  ~WeatherPlugin();
44 
45  void initialize();
46 
47  QString name() const;
48 
49  QString guiString() const;
50 
51  QString nameId() const;
52 
53  QString version() const;
54 
55  QString description() const;
56 
57  QString copyrightYears() const;
58 
59  QList<PluginAuthor> pluginAuthors() const;
60 
61  QString aboutDataText() const;
62 
63  QIcon icon() const;
64 
65  QDialog *configDialog();
66 
67  QHash<QString,QVariant> settings() const;
68 
69  void setSettings( const QHash<QString,QVariant> &settings );
70 
71 protected:
72  bool eventFilter(QObject *object, QEvent *event);
73 
74  private Q_SLOTS:
75  void readSettings();
76  void writeSettings();
77  void updateItemSettings();
78  void favoriteItemsChanged( const QStringList& favoriteItems );
79 
80  Q_SIGNALS:
81  void changedSettings();
82 
83  private:
84  void updateSettings();
85 
86  quint32 m_updateInterval;
87  const QIcon m_icon;
88  QDialog * m_configDialog;
89  Ui::WeatherConfigWidget * ui_configWidget;
90 
91  QHash<QString,QVariant> m_settings;
92 };
93 
94 }
95 
96 #endif // WEATHERPLUGIN_H
QEvent
Marble::RenderPluginInterface
The class that specifies the Marble layer interface of a plugin.
Definition: RenderPluginInterface.h:30
Marble::DialogConfigurationInterface
This interface allows a plugin to provide a QWidget-based configuration dialog which is accessible wi...
Definition: DialogConfigurationInterface.h:31
Marble::WeatherPlugin::initialize
void initialize()
Definition: WeatherPlugin.cpp:67
Marble::WeatherPlugin::pluginAuthors
QList< PluginAuthor > pluginAuthors() const
Definition: WeatherPlugin.cpp:108
Marble::WeatherPlugin::configDialog
QDialog * configDialog()
Returns a pointer to the configuration dialog of the plugin.
Definition: WeatherPlugin.cpp:125
Marble::WeatherPlugin::name
QString name() const
Returns the user-visible name of the plugin.
Definition: WeatherPlugin.cpp:78
Marble::WeatherPlugin::icon
QIcon icon() const
Returns an icon for the plugin.
Definition: WeatherPlugin.cpp:120
Marble::WeatherPlugin::changedSettings
void changedSettings()
Marble::AbstractDataPlugin
An abstract class for plugins that show data that has a geo coordinate.
Definition: AbstractDataPlugin.h:45
Marble::WeatherPlugin::copyrightYears
QString copyrightYears() const
Definition: WeatherPlugin.cpp:103
QObject::event
virtual bool event(QEvent *e)
Marble::WeatherPlugin::aboutDataText
QString aboutDataText() const
Returns about text (credits) for external data the plugin uses.
Definition: WeatherPlugin.cpp:115
Marble::WeatherPlugin
Definition: WeatherPlugin.h:30
QHash< QString, QVariant >
QObject
DialogConfigurationInterface.h
QString
QList
QStringList
Marble::WeatherPlugin::setSettings
void setSettings(const QHash< QString, QVariant > &settings)
Set the settings of the plugin.
Definition: WeatherPlugin.cpp:157
Marble::WeatherPlugin::guiString
QString guiString() const
String that should be displayed in GUI.
Definition: WeatherPlugin.cpp:83
Marble::WeatherPlugin::eventFilter
bool eventFilter(QObject *object, QEvent *event)
Definition: WeatherPlugin.cpp:203
Marble::MarbleModel
The data model (not based on QAbstractModel) for a MarbleWidget.
Definition: MarbleModel.h:97
Marble::WeatherPlugin::settings
QHash< QString, QVariant > settings() const
Settings of the plugin.
Definition: WeatherPlugin.cpp:144
Marble::WeatherPlugin::WeatherPlugin
WeatherPlugin()
Definition: WeatherPlugin.cpp:35
Marble::WeatherPlugin::nameId
QString nameId() const
Returns the unique name of the plugin.
Definition: WeatherPlugin.cpp:88
Marble::WeatherPlugin::version
QString version() const
Definition: WeatherPlugin.cpp:93
QDialog
Marble::WeatherPlugin::description
QString description() const
Returns a user description of the plugin.
Definition: WeatherPlugin.cpp:98
Marble::WeatherPlugin::~WeatherPlugin
~WeatherPlugin()
Definition: WeatherPlugin.cpp:61
AbstractDataPlugin.h
Marble::RenderPlugin::marbleModel
const MarbleModel * marbleModel() const
Access to the MarbleModel.
Definition: RenderPlugin.cpp:83
QIcon
MARBLE_PLUGIN
#define MARBLE_PLUGIN(T)
Definition: RenderPlugin.h:340
This file is part of the KDE documentation.
Documentation copyright © 1996-2020 The KDE developers.
Generated on Mon Jun 22 2020 13:13:42 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
  • 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