#ifndef NMWXSENSITIVE_H #define NMWXSENSITIVE_H #include #include "nmSubWxs_global.h" #include "nmDataSensitive.h" class QTreeWidget; class QTreeWidgetItem; class QComboBox; class QPushButton; class QStackedWidget; class QCheckBox; class QSpinBox; class QDoubleSpinBox; class QTableWidget; class QLabel; class QIcon; class NM_SUB_WXS_EXPORT nmWxSensitive : public QDialog { Q_OBJECT public: explicit nmWxSensitive(QWidget *parent = 0); ~nmWxSensitive(); private slots: void onGenerateClicked(); void onCancelClicked(); void onCalculationTypeChanged(int index); void onTreeItemClicked(QTreeWidgetItem *item, int column); void onVariableParamChanged(); void onTableCellClicked(int row, int column); private: void setupUI(); void createConnections(); void populateTreeWidget(); void createDetailPages(); QWidget *createVariablePage(const QString &varName); void updateValuesForPage(int idx); QIcon createTriangleIcon(); // 创建三角箭头图标 void loadDataToUI(); // 从数据加载到界面 void saveDataFromUI(); // 从界面保存到数据 int findVariableIndex(const QString& varName); // 查找变量索引 // UI 控件 QComboBox *calculationTypeCombo; QTreeWidget *variablesTree; QStackedWidget *detailStack; QLabel *modelCountLabel; QPushButton *generateButton; QPushButton *cancelButton; // 各个变量页面的控件列表 QList m_modeCombos; QList m_logChecks; QList m_numSpins; QList m_modelSpins; QList m_minSpins; QList m_maxSpins; QList m_valueTables; QList m_unitLabels; // 跟踪当前选中的值索引 int m_selectedValueIndex; // 敏感分析数据 nmDataSensitive m_sensitiveData; }; #endif // NMWXSENSITIVE_H