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