95 lines
1.8 KiB
C++
95 lines
1.8 KiB
C++
#pragma once
|
||
|
||
#include <QtWidgets/QDialog>
|
||
#include "ui_LandslidePredict.h"
|
||
|
||
#include <QProcess>
|
||
#include <QThread>
|
||
#include <QFile>
|
||
#include <QIcon>
|
||
#include <QDebug>
|
||
#include <QMessageBox>
|
||
#include <QFileDialog>
|
||
#include <QStringList>
|
||
#include <QIntValidator>
|
||
|
||
#include "SrsMainPluginInterFace.h"
|
||
|
||
#include <string>
|
||
#include <iostream>
|
||
|
||
#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;
|
||
|
||
};
|