• 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
  • lib
  • marble
RoutingRunnerPlugin.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 2010 Dennis Nienhüser <earthwings@gentoo.org>
9 // Copyright 2011 Thibaut Gridel <tgridel@free.fr>
10 // Copyright 2012 Bernhard Beschow <bbeschow@cs.tu-berlin.de>
11 //
12 
13 #ifndef MARBLE_ROUTINGRUNNERPLUGIN_H
14 #define MARBLE_ROUTINGRUNNERPLUGIN_H
15 
16 #include <QObject>
17 #include "PluginInterface.h"
18 
19 #include <QHash>
20 #include <QWidget>
21 
22 #include "routing/RoutingProfilesModel.h"
23 
24 namespace Marble
25 {
26 
27 class MarbleAbstractRunner;
28 class RoutingRunner;
29 
33 class MARBLE_EXPORT RoutingRunnerPlugin : public QObject, public PluginInterface
34 {
35  Q_OBJECT
36 
37 public:
39  explicit RoutingRunnerPlugin( QObject* parent = 0 );
40 
42  virtual ~RoutingRunnerPlugin();
43 
49  virtual QString guiString() const = 0;
50 
54  virtual RoutingRunner *newRunner() const = 0;
55 
57  bool supportsCelestialBody( const QString &celestialBodyId ) const;
58 
60  bool canWorkOffline() const;
61 
68  virtual bool canWork() const;
69 
70  // Overridden methods with default implementations
71 
72  virtual QIcon icon() const;
73 
75  QString statusMessage() const;
76 
77  class ConfigWidget : public QWidget
78  {
79  public:
80  virtual void loadSettings( const QHash<QString, QVariant> &settings ) = 0;
81  virtual QHash<QString, QVariant> settings() const = 0;
82  };
88  virtual ConfigWidget *configWidget();
89 
91  virtual bool supportsTemplate( RoutingProfilesModel::ProfileTemplate profileTemplate ) const;
92 
94  virtual QHash<QString, QVariant> templateSettings( RoutingProfilesModel::ProfileTemplate profileTemplate ) const;
95 
96 protected:
97  void setStatusMessage( const QString &message );
98 
99  void setSupportedCelestialBodies( const QStringList &celestialBodies );
100 
101  void setCanWorkOffline( bool canWorkOffline );
102 
103 private:
104  class Private;
105  Private *const d;
106 };
107 
108 }
109 
110 Q_DECLARE_INTERFACE( Marble::RoutingRunnerPlugin, "org.kde.Marble.RunnerRunnerPlugin/1.01" )
111 
112 #endif // MARBLE_ROUTINGRUNNERPLUGIN_H
PluginInterface.h
QWidget
MarbleAbstractRunner
QObject
Marble::RoutingRunnerPlugin::ConfigWidget
Definition: RoutingRunnerPlugin.h:77
MARBLE_EXPORT
#define MARBLE_EXPORT
Definition: marble_export.h:20
Marble::PluginInterface
This class specifies interface of a Marble plugin.
Definition: PluginInterface.h:45
Marble::RoutingProfilesModel::ProfileTemplate
ProfileTemplate
Definition: RoutingProfilesModel.h:35
Marble::RoutingRunner
Definition: RoutingRunner.h:27
Marble::RoutingRunnerPlugin
A plugin for Marble to execute a routing task.
Definition: RoutingRunnerPlugin.h:33
RoutingProfilesModel.h
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