Marble

MergeItem.h
1// SPDX-License-Identifier: LGPL-2.1-or-later
2//
3// SPDX-FileCopyrightText: 2013 Utku Aydın <utkuaydin34@gmail.com>
4//
5
6#ifndef MERGEITEM_H
7#define MERGEITEM_H
8
9#include "marble_export.h"
10#include "GeoDataPlacemark.h"
11
12#include <QObject>
13
14namespace Marble {
15
16class MARBLE_EXPORT MergeItem : public QObject
17{
18
19 Q_OBJECT
20
21public:
22 MergeItem();
23
24 Q_PROPERTY( QString pathA READ pathA WRITE setPathA NOTIFY pathAChanged )
25 Q_PROPERTY( QString pathB READ pathB WRITE setPathB NOTIFY pathBChanged )
26 Q_PROPERTY( GeoDataPlacemark placemarkA READ placemarkA WRITE setPlacemarkA NOTIFY placemarkAChanged )
27 Q_PROPERTY( GeoDataPlacemark placemarkB READ placemarkB WRITE setPlacemarkB NOTIFY placemarkBChanged )
28 Q_PROPERTY( QString nameA READ nameA NOTIFY nameAChanged() )
29 Q_PROPERTY( QString nameB READ nameB NOTIFY nameBChanged() )
30 Q_PROPERTY( QString descriptionA READ descriptionA NOTIFY descriptionAChanged() )
31 Q_PROPERTY( QString descriptionB READ descriptionB NOTIFY descriptionBChanged() )
32 Q_PROPERTY( MergeItem::Action actionA READ actionA WRITE setActionA NOTIFY actionAChanged )
33 Q_PROPERTY( MergeItem::Action actionB READ actionB WRITE setActionB NOTIFY actionBChanged )
34 Q_PROPERTY( MergeItem::Resolution resolution READ resolution WRITE setResolution NOTIFY resolutionChanged )
35
36 enum Resolution {
37 None,
38 A,
39 B
40 };
41
42 enum Action {
43 Changed,
45 };
46
47 QString pathA() const;
48 void setPathA( const QString &path );
49
50 QString pathB() const;
51 void setPathB( const QString &path );
52
53 GeoDataPlacemark placemarkA() const;
54 void setPlacemarkA( const GeoDataPlacemark &placemark );
55
56 GeoDataPlacemark placemarkB() const;
57 void setPlacemarkB( const GeoDataPlacemark &placemark );
58
59 QString nameA() const;
60 QString nameB() const;
61
62 QString descriptionA() const;
63 QString descriptionB() const;
64
65 MergeItem::Action actionA();
66 void setActionA( MergeItem::Action action );
67
68 MergeItem::Action actionB() const;
69 void setActionB( MergeItem::Action action );
70
71 MergeItem::Resolution resolution() const;
72 void setResolution( MergeItem::Resolution resolution );
73
74Q_SIGNALS:
75 void pathAChanged();
76 void pathBChanged();
77 void placemarkAChanged();
78 void placemarkBChanged();
79 void nameAChanged();
80 void nameBChanged();
81 void descriptionAChanged();
82 void descriptionBChanged();
83 void actionAChanged();
84 void actionBChanged();
85 void resolutionChanged();
86
87private:
88 QString m_pathA;
89 QString m_pathB;
90 GeoDataPlacemark m_placemarkA;
91 GeoDataPlacemark m_placemarkB;
92 MergeItem::Action m_actionA;
93 MergeItem::Action m_actionB;
94 MergeItem::Resolution m_resolution;
95
96};
97
98}
99
100#endif // MERGEITEM_H
AKONADI_MIME_EXPORT const char Deleted[]
Binds a QML item to a specific geodetic location in screen coordinates.
This file is part of the KDE documentation.
Documentation copyright © 1996-2024 The KDE developers.
Generated on Fri Jun 14 2024 11:54:16 by doxygen 1.10.0 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.