#ifndef DSGPARAMDLG_H #define DSGPARAMDLG_H #include #include #include "QComboBox" #include "QPushButton" #include "lpbengine.h" #include "lpdesigner.h" #include "DsgRoiDlg.h" enum ParamDialogType { PARAM_IN = 0, PARAM_OUT }; namespace Ui { class ParamDlg; } class CDsgParamDlg : public QDialog { Q_OBJECT public: CDsgParamDlg(QWidget *parent = 0); ~CDsgParamDlg(); bool Initialize(IDetectorEngine* lpDE, IDetectorTask* lpTask, IDetectorAlgorithm* lpAlgo, ParamDialogType type); bool InitGraphView(); void CleanUp(); PLP_ALGORITHM_PARAM ShowParamDlg(PLP_ALGORITHM_PARAM pParam); int GetTypeIndex(AlgoParamType type); void InitValueCtrl(AlgoParamType type, PLP_ALGORITHM_PARAM pParam); QVariant GetCtrlValue(AlgoParamType type); signals: public slots : bool OnOk(); bool OnCancel(); bool OnChangeParamType(); bool OnChangeAlgo(); bool OnShowRoiDlg(); private: Ui::ParamDlg *ui{ nullptr }; QComboBox m_valueCombox; CDsgRoiDlg m_tRoiDlg; IDetectorEngine* m_pDE{ nullptr }; IDetectorTask* m_pTask{ nullptr }; IDetectorAlgorithm* m_pAlgo{ nullptr }; ParamDialogType m_type; LP_DETECTOR_ROI_DATA m_tRoiData; AlgoParamType _ParamType{ LP_INT }; }; #endif // DSGPARAMDLG_H