You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
nmWTAI-Platform/Include/nmNum/nmSubWxs/nmWxDFN.h

88 lines
2.1 KiB
C

#ifndef NMWXDFN_H
#define NMWXDFN_H
#include "nmSubWxs_global.h"
#include "iDlgBase.h"
#include <QTreeWidget>
#include <QCheckBox>
#include <QPushButton>
#include <QLabel>
#include "nmDataFracture.h"
// DFN初始页面
class NM_SUB_WXS_EXPORT nmWxDFN : public iDlgBase
{
Q_OBJECT
public:
explicit nmWxDFN(QWidget *parent = nullptr);
~nmWxDFN();
enum OriginType {
None,
Loaded,
Generated
};
private slots:
void onLoadButtonClicked();
void onGenerateButtonClicked();
void onDeleteButtonClicked();
void onExportButtonClicked();
void onOkButtonClicked();
void onCancelButtonClicked();
// 树组件Item
void onItemClicked(QTreeWidgetItem* item, int column);
private:
void initUI();
void initConnections();
void setupParameterTree();
// 刷新参数树
void refreshParameterTree();
// 构建有数据时的树结构
void setupDFNDataTree();
// 构建默认空树结构
void setupDefaultTree();
// 设置按钮状态
void updateButtonsState();
// 添加根节点
QTreeWidgetItem* addRootItem(const QString& name, bool expand = true);
// 添加子节点
QTreeWidgetItem* addChildItem(QTreeWidgetItem* parent, const QString& name,
const QString& value = "", bool editable = false);
// 查找某个节点
QTreeWidgetItem* findItem(const QString& name, QTreeWidgetItem* parent = nullptr) const;
// 删除所有子节点
void deleteAllChildren(QTreeWidgetItem* parent);
// UI组件
QPushButton *m_pLoadButton;
QPushButton *m_pGenerateButton;
QPushButton *m_pDeleteButton;
QPushButton *m_pExportButton;
QCheckBox *m_pRedefineKrPcCheckBox;
QCheckBox *m_pUnconsolidationCheckBox;
QTreeWidget *m_pParameterTree;
QPushButton *m_pOkButton;
QPushButton *m_pCancelButton;
QWidget *m_pLoadButtonWidget;
QWidget *m_pGenerateButtonWidget;
QWidget *m_pDeleteButtonWidget;
QWidget *m_pExportButtonWidget;
QLabel *m_pLoadButtonLabel;
QLabel *m_pGenerateButtonLabel;
QLabel *m_pDeleteButtonLabel;
QLabel *m_pExportButtonLabel;
// 数据中心中的DFN生成的裂缝数据
QVector<nmDataFracture*> m_vecDFNData;
// 记录当前数据来源
OriginType m_originType;
};
#endif // NMWXDFN_H