logplus/logPlus/CloudDataDlg.h

70 lines
1.9 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.

#ifndef CloudDataDlg_H
#define CloudDataDlg_H
#include <QDialog>
#include "ui_CloudDataDlg.h"
#include "formtableitem.h"
#pragma execution_character_set("utf-8")
class QtProjectWidgets;
// 云端导入数据结果
struct CloudImportResult
{
QString id; // 数据IDmetadataId
QString dataType; // 数据类型curveObject/waveObject
QString dataName; // 数据名称
QVector<float> data; // float二进制数组
};
// 云端导入对话框
class CloudDataDlg : public QDialog
{
Q_OBJECT
public:
CloudDataDlg(QWidget *parent = 0);
~CloudDataDlg();
void setProjectWidgets(QtProjectWidgets* projectWidgets);
void initTreeProjects(QJsonObject jObj);//加载树图
void initTreeWells(QJsonObject jObj);//加载树图
bool initTreeData(QTreeWidgetItem* itemJing, QJsonObject& jObjCi, QJsonObject catObj,
QString strDataType, QString strIcon1, QString strIcon2);
void getList();
void getWells(QString projectId);
// ===== 云端数据导入接口 =====
// 异步获取单个 metadataId 的数据,返回 float 二进制数组
void fetchCloudData(const QString& metadataId, const QString& dataType, const QString& dataName,
std::function<void(const CloudImportResult&)> onSuccess,
std::function<void(const QString&)> onFailed);
// 批量异步导入,所有请求完成后回调
void importCloudData(const QVector<QString>& vecId, const QMap<QString, QVector<QString>>& mapSelect,
std::function<void(const QVector<CloudImportResult>&)> onAllDone = nullptr);
protected:
virtual void paintEvent(QPaintEvent *pevt);
private slots:
void on_btn_back_clicked();
void on_btn_import_clicked();
void onItemDoubleClicked(QTreeWidgetItem* item, int index);//鼠标双击tree菜单项
void OnSelectLineStyleChanged(int ,int);
void onEnter();
private:
Ui::CloudDataDlg *ui;
QtProjectWidgets *m_projectWidgets = NULL;
};
#endif // CloudDataDlg_H