#ifndef SAVEROUTEDIALOG_H #define SAVEROUTEDIALOG_H #include <QDialog> #include <QString> #include <QMap> #include <QAbstractSpinBox> #include <QSet> namespace Ui { class saveRouteDialog; } class saveRouteDialog : public QDialog { Q_OBJECT public: explicit saveRouteDialog(QWidget *parent = nullptr); ~saveRouteDialog(); public: bool isCloseRoute(); //是否自动闭合曲线 QMap<int,double> getRouteHeight(); QMap<int,int> getRouteNumber(); QMap<int,int> getRouteType(); //获取航线类型 QMap<int,int> getRouteClosedState(); QString getRouteText(); void setMaxValue(int max); void setDrawMode(int i); void setMapType(int i); void setHeightVisible(bool b); //重写窗口关闭事件 void closeEvent(QCloseEvent *event); //重写stepEnabled() // QAbstractSpinBox::StepEnabled stepEnabled(int value); public: bool isClickedCloseBtn = false; signals: void importRoute(int routeID,int routeType,int routeNumber,double routeHeight,int routeClosedState); void highLightGeometry(int currentGeometryID,int lastGeometryID); public slots: void getAddRouteState(int addState); //接收航线添加状态的信号 private slots: void on_cancelRoute_clicked(); void on_isCloseRouteCheckBox_stateChanged(int arg1); void on_importBtn_clicked(); void on_currentSpinBox_valueChanged(int arg1); private: void addRouteTypeItem(); //添加航线类型 void resetState(); // 表格状态重置 void historyState(int arg1); //恢复历史状态 // void saveCurrentRouteInfo();//保存当前航线属性信息 private: Ui::saveRouteDialog *ui; int addRouteState; int lastRoute; QSet<int> saveRouteID; QMap<int,double> routeHeight; QMap<int,int> routeType; QMap<int,int> routeNumber; QMap<int,int> routeClosedState; QMap<int,int>routeSaveState; int drawMode = 0;//仅用于兼容绘制航线保存模式 int mapType = 0; //地图模式,默认为0表示2D,1表示3D }; #endif // SAVEROUTEDIALOG_H