Marble

MergeItem.h
1 // SPDX-License-Identifier: LGPL-2.1-or-later
2 //
3 // SPDX-FileCopyrightText: 2013 Utku Aydın <[email protected]>
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 
14 namespace Marble {
15 
16 class MARBLE_EXPORT MergeItem : public QObject
17 {
18 
19  Q_OBJECT
20 
21 public:
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,
44  Deleted
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 
74 Q_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 
87 private:
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
Binds a QML item to a specific geodetic location in screen coordinates.
const AKONADI_MIME_EXPORT char Deleted[]
This file is part of the KDE documentation.
Documentation copyright © 1996-2023 The KDE developers.
Generated on Thu Sep 21 2023 04:12:27 by doxygen 1.8.17 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.