File indexing completed on 2024-05-19 07:37:37
0001 // SPDX-License-Identifier: LGPL-2.1-or-later 0002 // 0003 // SPDX-FileCopyrightText: 2013 Utku Aydın <utkuaydin34@gmail.com> 0004 // 0005 0006 #ifndef MERGEITEM_H 0007 #define MERGEITEM_H 0008 0009 #include "marble_export.h" 0010 #include "GeoDataPlacemark.h" 0011 0012 #include <QObject> 0013 0014 namespace Marble { 0015 0016 class MARBLE_EXPORT MergeItem : public QObject 0017 { 0018 0019 Q_OBJECT 0020 0021 public: 0022 MergeItem(); 0023 0024 Q_PROPERTY( QString pathA READ pathA WRITE setPathA NOTIFY pathAChanged ) 0025 Q_PROPERTY( QString pathB READ pathB WRITE setPathB NOTIFY pathBChanged ) 0026 Q_PROPERTY( GeoDataPlacemark placemarkA READ placemarkA WRITE setPlacemarkA NOTIFY placemarkAChanged ) 0027 Q_PROPERTY( GeoDataPlacemark placemarkB READ placemarkB WRITE setPlacemarkB NOTIFY placemarkBChanged ) 0028 Q_PROPERTY( QString nameA READ nameA NOTIFY nameAChanged() ) 0029 Q_PROPERTY( QString nameB READ nameB NOTIFY nameBChanged() ) 0030 Q_PROPERTY( QString descriptionA READ descriptionA NOTIFY descriptionAChanged() ) 0031 Q_PROPERTY( QString descriptionB READ descriptionB NOTIFY descriptionBChanged() ) 0032 Q_PROPERTY( MergeItem::Action actionA READ actionA WRITE setActionA NOTIFY actionAChanged ) 0033 Q_PROPERTY( MergeItem::Action actionB READ actionB WRITE setActionB NOTIFY actionBChanged ) 0034 Q_PROPERTY( MergeItem::Resolution resolution READ resolution WRITE setResolution NOTIFY resolutionChanged ) 0035 0036 enum Resolution { 0037 None, 0038 A, 0039 B 0040 }; 0041 0042 enum Action { 0043 Changed, 0044 Deleted 0045 }; 0046 0047 QString pathA() const; 0048 void setPathA( const QString &path ); 0049 0050 QString pathB() const; 0051 void setPathB( const QString &path ); 0052 0053 GeoDataPlacemark placemarkA() const; 0054 void setPlacemarkA( const GeoDataPlacemark &placemark ); 0055 0056 GeoDataPlacemark placemarkB() const; 0057 void setPlacemarkB( const GeoDataPlacemark &placemark ); 0058 0059 QString nameA() const; 0060 QString nameB() const; 0061 0062 QString descriptionA() const; 0063 QString descriptionB() const; 0064 0065 MergeItem::Action actionA(); 0066 void setActionA( MergeItem::Action action ); 0067 0068 MergeItem::Action actionB() const; 0069 void setActionB( MergeItem::Action action ); 0070 0071 MergeItem::Resolution resolution() const; 0072 void setResolution( MergeItem::Resolution resolution ); 0073 0074 Q_SIGNALS: 0075 void pathAChanged(); 0076 void pathBChanged(); 0077 void placemarkAChanged(); 0078 void placemarkBChanged(); 0079 void nameAChanged(); 0080 void nameBChanged(); 0081 void descriptionAChanged(); 0082 void descriptionBChanged(); 0083 void actionAChanged(); 0084 void actionBChanged(); 0085 void resolutionChanged(); 0086 0087 private: 0088 QString m_pathA; 0089 QString m_pathB; 0090 GeoDataPlacemark m_placemarkA; 0091 GeoDataPlacemark m_placemarkB; 0092 MergeItem::Action m_actionA; 0093 MergeItem::Action m_actionB; 0094 MergeItem::Resolution m_resolution; 0095 0096 }; 0097 0098 } 0099 0100 #endif // MERGEITEM_H