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