#ifndef SETTINGFLIGHTPOINT3DDIALOG_H
#define SETTINGFLIGHTPOINT3DDIALOG_H

#include <QDialog>
#include <QMap>
#include "Geometry/UGGeometry.h"

////MSVC编译器界面显示乱码问题
//#if _MSC_VER >= 1600
//    #pragma execution_character_set("utf-8")
//#endif

namespace Ui {
class SettingFlightPoint3DDialog;
}
using namespace UGC;

class SettingFlightPoint3DDialog : public QDialog
{
    Q_OBJECT

public:
    explicit SettingFlightPoint3DDialog(QWidget *parent = nullptr);
    ~SettingFlightPoint3DDialog();

signals:
    void showSaveRouteDialog(UGGeometry* pGeometry);

public slots:
    void receiveTrackingGeometry(UGGeometry* pGeometry);  //接收正在编辑中的三维几何对象
    void receiveTrackedGeometry(UGGeometry* pGeometry); //接收编辑完成的三维几何对象

private slots:
    void on_AcceptBtn_clicked();

    void on_ClosedBtn_clicked();


    void on_AltitudeMode_currentIndexChanged(int index);

    void on_accecptHeightBtn_clicked();

private:
    Ui::SettingFlightPoint3DDialog *ui;

    int currentId;

    double height;
    int heightType;

    //table列常量
    const int h_id = 0;
    const double h_longitude = 1;
    const double h_latitude = 2;
    const double h_height = 3;
    const double h_altitude = 4;

    UGGeometry* pTrackedGeometry;

private:
    void initTableWidget();
    void setTableWidgetHeader();

    void addFlightPointToTableWidget(double v_lon,double v_lat,double v_height,double v_altitude);

};


#endif // SETTINGFLIGHTPOINT3DDIALOG_H