Changeset View
Changeset View
Standalone View
Standalone View
src/lib/marble/declarative/Placemark.h
Show All 23 Lines | 22 | /** | |||
---|---|---|---|---|---|
24 | */ | 24 | */ | ||
25 | class Placemark : public QObject | 25 | class Placemark : public QObject | ||
26 | { | 26 | { | ||
27 | Q_OBJECT | 27 | Q_OBJECT | ||
28 | 28 | | |||
29 | Q_PROPERTY(QString name WRITE setName READ name NOTIFY nameChanged) | 29 | Q_PROPERTY(QString name WRITE setName READ name NOTIFY nameChanged) | ||
30 | Q_PROPERTY(QString description READ description NOTIFY descriptionChanged) | 30 | Q_PROPERTY(QString description READ description NOTIFY descriptionChanged) | ||
31 | Q_PROPERTY(QString address READ address NOTIFY addressChanged) | 31 | Q_PROPERTY(QString address READ address NOTIFY addressChanged) | ||
32 | Q_PROPERTY(QString level READ level NOTIFY levelChanged) | ||||
32 | Q_PROPERTY(QString website READ website NOTIFY websiteChanged) | 33 | Q_PROPERTY(QString website READ website NOTIFY websiteChanged) | ||
33 | Q_PROPERTY(QString wikipedia READ wikipedia NOTIFY wikipediaChanged) | 34 | Q_PROPERTY(QString wikipedia READ wikipedia NOTIFY wikipediaChanged) | ||
34 | Q_PROPERTY(QString openingHours READ openingHours NOTIFY openingHoursChanged) | 35 | Q_PROPERTY(QString openingHours READ openingHours NOTIFY openingHoursChanged) | ||
35 | Q_PROPERTY(QString coordinates READ coordinates NOTIFY coordinatesChanged) | 36 | Q_PROPERTY(QString coordinates READ coordinates NOTIFY coordinatesChanged) | ||
36 | Q_PROPERTY(QString wheelchairInfo READ wheelchairInfo NOTIFY wheelchairInfoChanged) | 37 | Q_PROPERTY(QString wheelchairInfo READ wheelchairInfo NOTIFY wheelchairInfoChanged) | ||
37 | Q_PROPERTY(double longitude READ longitude NOTIFY coordinatesChanged) | 38 | Q_PROPERTY(double longitude READ longitude NOTIFY coordinatesChanged) | ||
38 | Q_PROPERTY(double latitude READ latitude NOTIFY coordinatesChanged) | 39 | Q_PROPERTY(double latitude READ latitude NOTIFY coordinatesChanged) | ||
39 | Q_PROPERTY(QStringList tags READ tags NOTIFY tagsChanged) | 40 | Q_PROPERTY(QStringList tags READ tags NOTIFY tagsChanged) | ||
40 | 41 | | |||
41 | public: | 42 | public: | ||
42 | /** Constructor */ | 43 | /** Constructor */ | ||
43 | explicit Placemark( QObject *parent = 0 ); | 44 | explicit Placemark( QObject *parent = 0 ); | ||
44 | 45 | | |||
45 | void setGeoDataPlacemark( const Marble::GeoDataPlacemark &placemark ); | 46 | void setGeoDataPlacemark( const Marble::GeoDataPlacemark &placemark ); | ||
46 | 47 | | |||
47 | Marble::GeoDataPlacemark & placemark(); | 48 | Marble::GeoDataPlacemark & placemark(); | ||
48 | const Marble::GeoDataPlacemark & placemark() const; | 49 | const Marble::GeoDataPlacemark & placemark() const; | ||
49 | 50 | | |||
50 | QString name() const; | 51 | QString name() const; | ||
51 | QString description() const; | 52 | QString description() const; | ||
52 | QString address() const; | 53 | QString address() const; | ||
54 | QString level() const; | ||||
53 | QString website() const; | 55 | QString website() const; | ||
54 | QString wikipedia() const; | 56 | QString wikipedia() const; | ||
55 | QString openingHours() const; | 57 | QString openingHours() const; | ||
56 | QString coordinates() const; | 58 | QString coordinates() const; | ||
57 | QString wheelchairInfo() const; | 59 | QString wheelchairInfo() const; | ||
58 | double longitude() const; | 60 | double longitude() const; | ||
59 | double latitude() const; | 61 | double latitude() const; | ||
60 | const QStringList & tags() const; | 62 | const QStringList & tags() const; | ||
61 | 63 | | |||
62 | public Q_SLOTS: | 64 | public Q_SLOTS: | ||
63 | void setName(const QString &name); | 65 | void setName(const QString &name); | ||
64 | 66 | | |||
65 | Q_SIGNALS: | 67 | Q_SIGNALS: | ||
66 | void nameChanged(); | 68 | void nameChanged(); | ||
67 | void coordinatesChanged(); | 69 | void coordinatesChanged(); | ||
68 | void descriptionChanged(); | 70 | void descriptionChanged(); | ||
69 | void addressChanged(); | 71 | void addressChanged(); | ||
72 | void levelChanged(); | ||||
70 | void websiteChanged(); | 73 | void websiteChanged(); | ||
71 | void wikipediaChanged(); | 74 | void wikipediaChanged(); | ||
72 | void openingHoursChanged(); | 75 | void openingHoursChanged(); | ||
73 | void wheelchairInfoChanged(); | 76 | void wheelchairInfoChanged(); | ||
74 | void tagsChanged(); | 77 | void tagsChanged(); | ||
75 | 78 | | |||
76 | private: | 79 | private: | ||
77 | bool addTagValue(QString &target, const QString &key, const QString &format=QString(), const QString separator = QStringLiteral(" · ")) const; | 80 | bool addTagValue(QString &target, const QString &key, const QString &format=QString(), const QString separator = QStringLiteral(" · ")) const; | ||
78 | void addFirstTagValueOf(QString &target, const QStringList &keys) const; | 81 | void addFirstTagValueOf(QString &target, const QStringList &keys) const; | ||
79 | void addTagDescription(QString &target, const QString &key, const QString &value, const QString &description) const; | 82 | void addTagDescription(QString &target, const QString &key, const QString &value, const QString &description) const; | ||
80 | void append(QString &target, const QString &value) const; | 83 | void append(QString &target, const QString &value) const; | ||
81 | QString addressFromOsmData() const; | 84 | QString addressFromOsmData() const; | ||
82 | QString formatStreet(const QString &street, const QString &houseNumber) const; | 85 | QString formatStreet(const QString &street, const QString &houseNumber) const; | ||
83 | void updateTags(); | 86 | void updateTags(); | ||
84 | 87 | | |||
85 | Marble::GeoDataPlacemark m_placemark; | 88 | Marble::GeoDataPlacemark m_placemark; | ||
86 | mutable QString m_address; // mutable to allow lazy calculation in the getter | 89 | mutable QString m_address; // mutable to allow lazy calculation in the getter | ||
90 | mutable QString m_level; | ||||
87 | mutable QString m_description; | 91 | mutable QString m_description; | ||
88 | mutable QString m_website; | 92 | mutable QString m_website; | ||
89 | mutable QString m_wikipedia; | 93 | mutable QString m_wikipedia; | ||
90 | mutable QString m_openingHours; | 94 | mutable QString m_openingHours; | ||
91 | mutable QString m_wheelchairInfo; | 95 | mutable QString m_wheelchairInfo; | ||
92 | QStringList m_tags; | 96 | QStringList m_tags; | ||
93 | }; | 97 | }; | ||
94 | 98 | | |||
95 | } | 99 | } | ||
96 | 100 | | |||
97 | QML_DECLARE_TYPE(Marble::Placemark) | 101 | QML_DECLARE_TYPE(Marble::Placemark) | ||
98 | 102 | | |||
99 | #endif // MARBLE_DECLARATIVE_PLACEMARK_H | 103 | #endif // MARBLE_DECLARATIVE_PLACEMARK_H |