File indexing completed on 2024-05-05 03:49:51
0001 // SPDX-License-Identifier: LGPL-2.1-or-later 0002 // 0003 // SPDX-FileCopyrightText: 2015 Stanciu Marius-Valeriu <stanciumarius94@gmail.com> 0004 // 0005 0006 #ifndef MARBLE_OSMTAGEDITORWIDGET_H 0007 #define MARBLE_OSMTAGEDITORWIDGET_H 0008 0009 #include <QWidget> 0010 #include "marble_export.h" 0011 0012 #include "MarbleGlobal.h" 0013 0014 class QTreeWidgetItem; 0015 0016 namespace Marble 0017 { 0018 0019 class OsmTagEditorWidgetPrivate; 0020 class GeoDataPlacemark; 0021 class GeoDataFeature; 0022 class OsmPlacemarkData; 0023 0024 class MARBLE_EXPORT OsmTagEditorWidget : public QWidget 0025 { 0026 Q_OBJECT 0027 0028 public: 0029 explicit OsmTagEditorWidget( GeoDataPlacemark *placemark, QWidget *parent = nullptr ); 0030 ~OsmTagEditorWidget() override; 0031 0032 /** 0033 * @brief returns the current tag set for the placemark 0034 */ 0035 OsmPlacemarkData placemarkData() const; 0036 0037 public Q_SLOTS: 0038 void update(); 0039 void addSelectedTag(); 0040 void removeSelectedTag(); 0041 void handleDoubleClick( QTreeWidgetItem *item, int column ); 0042 void handleItemChanged( QTreeWidgetItem *item, int column ); 0043 0044 Q_SIGNALS: 0045 void placemarkChanged( GeoDataFeature *); 0046 0047 private: 0048 friend class OsmTagEditorWidgetPrivate; 0049 OsmTagEditorWidgetPrivate* const d; 0050 }; 0051 0052 } 0053 0054 #endif 0055