File indexing completed on 2024-04-21 03:49:50
0001 // SPDX-License-Identifier: LGPL-2.1-or-later 0002 // 0003 // SPDX-FileCopyrightText: 2014 Mikhail Ivchenko <ematirov@gmail.com> 0004 0005 0006 #ifndef MARBLE_PLACEMARKEDITHEADER_H 0007 #define MARBLE_PLACEMARKEDITHEADER_H 0008 0009 #include <QWidget> 0010 0011 #include "GeoDataCoordinates.h" 0012 #include "MarbleGlobal.h" 0013 #include "marble_export.h" 0014 0015 namespace Marble 0016 { 0017 0018 class PlacemarkEditHeaderPrivate; 0019 0020 class MARBLE_EXPORT PlacemarkEditHeader : public QWidget 0021 { 0022 Q_OBJECT 0023 0024 public: 0025 explicit PlacemarkEditHeader(QWidget *parent = nullptr, 0026 GeoDataCoordinates::Notation notation = GeoDataCoordinates::DMS, 0027 const QString& name = QString(), 0028 const QString& iconLink = QString(), 0029 const QString& id = QString(), 0030 const QStringList &idFilter = QStringList() ); 0031 ~PlacemarkEditHeader() override; 0032 QString name() const; 0033 QString iconLink() const; 0034 qreal latitude() const; 0035 qreal longitude() const; 0036 GeoDataCoordinates::Notation notation() const; 0037 bool positionVisible() const; 0038 QString id() const; 0039 QStringList idFilter() const; 0040 bool isIdVisible() const; 0041 bool isIdValid() const; 0042 QString targetId() const; 0043 QStringList targetIdList() const; 0044 bool isTargetIdVisible() const; 0045 public Q_SLOTS: 0046 void setName(const QString &name); 0047 void setIconLink(const QString &iconLink); 0048 void setLatitude(qreal latitude); 0049 void setLongitude(qreal longitude); 0050 void setNotation(GeoDataCoordinates::Notation notation); 0051 void setPositionVisible( bool visible ); 0052 QString setId( const QString &id ); 0053 void setIdFilter( const QStringList &filter ); 0054 void setIdVisible( bool visible ); 0055 void setTargetId( const QString &targetId ); 0056 void setTargetIdList( const QStringList &targetIdList ); 0057 void setTargetIdVisible( bool visible ); 0058 void selectAll(); 0059 void setReadOnly(bool state); 0060 Q_SIGNALS: 0061 void valueChanged(); 0062 private Q_SLOTS: 0063 void updateValues(); 0064 private: 0065 PlacemarkEditHeaderPrivate* const d; 0066 Q_PRIVATE_SLOT(d, void loadIconFile()) 0067 friend class PlacemarkEditHeaderPrivate; 0068 }; 0069 0070 } 0071 0072 #endif