DianLi/LandslidePredict/LandslidePredict.h
2023-03-13 16:17:55 +08:00

95 lines
1.8 KiB
C++
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#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;
};