• 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
  • declarative
Search.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 2011 Dennis Nienhüser <earthwings@gentoo.org>
9 //
10 
11 #ifndef MARBLE_DECLARATIVE_SEARCH_H
12 #define MARBLE_DECLARATIVE_SEARCH_H
13 
14 #include <QObject>
15 #if QT_VERSION < 0x050000
16  #include <QtDeclarative/qdeclarative.h>
17  #include <QDeclarativeComponent>
18  #include <QDeclarativeItem>
19 #else
20  #include <QtQml/qqml.h>
21  #include <QQuickItem>
22 #endif
23 
24 class QAbstractItemModel;
25 
26 namespace Marble {
27  class MarblePlacemarkModel;
28  class SearchRunnerManager;
29 }
30 
31 class MarbleWidget;
32 
33 class Search : public QObject
34 {
35  Q_OBJECT
36 
37  Q_PROPERTY( MarbleWidget* map READ map WRITE setMap NOTIFY mapChanged )
38 #if QT_VERSION < 0x050000
39  Q_PROPERTY( QDeclarativeComponent* placemarkDelegate READ placemarkDelegate WRITE setPlacemarkDelegate NOTIFY placemarkDelegateChanged )
40 #else
41  Q_PROPERTY( QQmlComponent* placemarkDelegate READ placemarkDelegate WRITE setPlacemarkDelegate NOTIFY placemarkDelegateChanged )
42 #endif
43 
44 public:
45  explicit Search( QObject* parent = 0 );
46 
47  MarbleWidget *map();
48 
49  void setMap( MarbleWidget* widget );
50 
51 #if QT_VERSION < 0x050000
52  QDeclarativeComponent* placemarkDelegate();
53 
54  void setPlacemarkDelegate( QDeclarativeComponent* delegate );
55 #else
56  QQmlComponent* placemarkDelegate();
57 
58  void setPlacemarkDelegate( QQmlComponent* delegate );
59 #endif
60 
61 Q_SIGNALS:
62  void mapChanged();
63 
68  void searchFinished();
69 
70  void placemarkDelegateChanged();
71 
72 public Q_SLOTS:
73  void find( const QString &searchTerm );
74 
75  QObject* searchResultModel();
76 
77 private Q_SLOTS:
79  void updateSearchModel( QAbstractItemModel *model );
80 
81  void updatePlacemarks();
82 
83  void handleSearchResult();
84 
85 private:
86  MarbleWidget* m_marbleWidget;
87 
89  Marble::SearchRunnerManager *m_runnerManager;
90 
92  Marble::MarblePlacemarkModel *m_searchResult;
93 
94 #if QT_VERSION < 0x050000
95  QDeclarativeComponent* m_placemarkDelegate;
96 
97  QMap<int,QDeclarativeItem*> m_placemarks;
98 #else
99  QQmlComponent* m_placemarkDelegate;
100 
101  QMap<int,QQuickItem*> m_placemarks;
102 #endif
103 };
104 
105 #endif
Marble::MarblePlacemarkModel
This class represents a model of all place marks which are currently available through a given Placem...
Definition: MarblePlacemarkModel.h:37
Search::placemarkDelegateChanged
void placemarkDelegateChanged()
Search::placemarkDelegate
QDeclarativeComponent * placemarkDelegate()
QMap< int, QDeclarativeItem * >
Search::setPlacemarkDelegate
void setPlacemarkDelegate(QDeclarativeComponent *delegate)
Definition: Search.cpp:55
Marble::SearchRunnerManager
Definition: SearchRunnerManager.h:33
Search::searchResultModel
QObject * searchResultModel()
Definition: Search.cpp:76
Search::map
MarbleWidget * map()
Search::mapChanged
void mapChanged()
QObject
Search::find
void find(const QString &searchTerm)
Definition: Search.cpp:61
QString
QDeclarativeComponent
Search
Definition: Search.qml:15
Search::Search
Search(QObject *parent=0)
Definition: Search.cpp:28
QAbstractItemModel
Search::searchFinished
void searchFinished()
The last search triggered by search() is finished and can be retrieved using.
MarbleWidget
Wraps a Marble::MarbleWidget, providing access to important properties and methods.
Definition: MarbleDeclarativeWidget.h:50
Search::setMap
void setMap(MarbleWidget *widget)
Definition: Search.cpp:40
QObject::parent
QObject * parent() const
This file is part of the KDE documentation.
Documentation copyright © 1996-2020 The KDE developers.
Generated on Mon Jun 22 2020 13:13:41 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