File indexing completed on 2025-01-05 03:59:25

0001 // SPDX-License-Identifier: LGPL-2.1-or-later
0002 //
0003 // SPDX-FileCopyrightText: 2014 Illya Kovalevskyy <illya.kovalevskyy@gmail.com>
0004 
0005 #ifndef MEASURECONFIGDIALOG_H
0006 #define MEASURECONFIGDIALOG_H
0007 
0008 #include <QDialog>
0009 
0010 #include "ui_MeasureConfigDialog.h"
0011 #include "MeasureToolPlugin.h"
0012 
0013 namespace Marble {
0014 
0015 class MeasureConfigDialog : public QDialog
0016 {
0017     Q_OBJECT
0018 
0019 public:
0020     explicit MeasureConfigDialog(QDialog *parent = nullptr);
0021     ~MeasureConfigDialog() override;
0022 
0023     bool showBearingLabel() const;
0024     bool showBearingLabelChange() const;
0025     bool showDistanceLabels() const;
0026     bool showRadius() const;
0027     bool showPerimeter() const;
0028     bool showCircumference() const;
0029     bool showPolygonArea() const;
0030     bool showCircularArea() const;
0031     MeasureToolPlugin::PaintMode paintMode() const;
0032 
0033     void setShowBearingLabel(bool);
0034     void setShowBearingLabelChange(bool);
0035     void setShowDistanceLabels(bool);
0036     void setShowRadius(bool);
0037     void setShowPerimeter(bool);
0038     void setShowCircumference(bool);
0039     void setShowPolygonArea(bool);
0040     void setShowCircularArea(bool);
0041     void setPaintMode(MeasureToolPlugin::PaintMode);
0042 
0043 private Q_SLOTS:
0044     void updateTabs();
0045 
0046 Q_SIGNALS:
0047     void applied();
0048 
0049 private:
0050     Ui::MeasureConfigDialog *ui;
0051 };
0052 
0053 } // namespace Marble
0054 
0055 #endif // MEASURECONFIGDIALOG_H