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.
88 lines
2.1 KiB
C++
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
|