Marble

SearchRunnerPlugin.h
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 <[email protected]>
9 // Copyright 2011 Thibaut Gridel <[email protected]>
10 
11 #ifndef MARBLE_SEARCHRUNNERPLUGIN_H
12 #define MARBLE_SEARCHRUNNERPLUGIN_H
13 
14 #include <QObject>
15 #include "PluginInterface.h"
16 
17 namespace Marble
18 {
19 
20 class SearchRunner;
21 
25 class MARBLE_EXPORT SearchRunnerPlugin : public QObject, public PluginInterface
26 {
27  Q_OBJECT
28 
29 public:
31  explicit SearchRunnerPlugin( QObject* parent = nullptr );
32 
34  ~SearchRunnerPlugin() override;
35 
41  virtual QString guiString() const = 0;
42 
46  virtual SearchRunner *newRunner() const = 0;
47 
49  bool supportsCelestialBody( const QString &celestialBodyId ) const;
50 
52  bool canWorkOffline() const;
53 
60  virtual bool canWork() const;
61 
62  // Overridden methods with default implementations
63 
64  QIcon icon() const override;
65 
66 protected:
67  void setSupportedCelestialBodies( const QStringList &celestialBodies );
68 
69  void setCanWorkOffline( bool canWorkOffline );
70 
71 private:
72  class Private;
73  Private *const d;
74 };
75 
76 }
77 
78 Q_DECLARE_INTERFACE( Marble::SearchRunnerPlugin, "org.kde.Marble.SearchRunnerPlugin/1.01" )
79 
80 #endif // MARBLE_SEARCHRUNNERPLUGIN_H
Binds a QML item to a specific geodetic location in screen coordinates.
A plugin for Marble to execute a placemark search.
This class specifies interface of a Marble plugin.
This file is part of the KDE documentation.
Documentation copyright © 1996-2020 The KDE developers.
Generated on Mon Jul 13 2020 23:19:47 by doxygen 1.8.11 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.