#ifndef NMWXDFN_H #define NMWXDFN_H #include "nmSubWxs_global.h" #include "iDlgBase.h" #include #include #include #include #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 m_vecDFNData; // 记录当前数据来源 OriginType m_originType; }; #endif // NMWXDFN_H