#pragma once #include #include "ui_LandslidePredict.h" #include #include #include #include #include #include #include #include #include #include "SrsMainPluginInterFace.h" #include #include #include "im2shp.h" using namespace std; class WorkObject :public QObject { Q_OBJECT public slots: void runPredictWork(QString inModel, QString inDataset, QString outPre); void on_read(); void on_cancel(); void runFormatConvert(QString pre, QString dataset); signals: void progress(int value); void preFinished(); void addShpDataToMap(QStringList list); private: QProcess* mProcess = nullptr; }; class LandslidePredict : public SrsMainInterface { Q_OBJECT Q_INTERFACES(SrsMainInterface) Q_PLUGIN_METADATA(IID MainInterface_iid) public: LandslidePredict(); virtual QString PannelName() override; virtual QString CategoryName() override; virtual QString EnglishName() override; virtual QString ChineseName() override; virtual QString Information() override; virtual QString IconPath() override; virtual QWidget* CenterWidget() override; void startWorkThread(); //读json文件,获取历史存储的路径 void ReadConfigHistoryPaths(QString strPath); //保存本次打开的路径到json文件 void WriteConfigPaths(QString strPath); void openResultData(QStringList string_list); public slots: void readAndStart(); void pbCancel(); void chooseInModel(); void chooseInDataset(); void chooseResultPath(); void finished(); signals: void start(QString inModel, QString inDataset, QString outPre); void startTiffToShp(QString pre, QString dataset); private: Ui::LandslidePredictClass ui; QDialog* myWidget = nullptr; QThread* mWorkThread = nullptr; WorkObject* mWorkObject = nullptr; };