#ifndef DSGROIDLG_H #define DSGROIDLG_H #include #include #include "lpbengine.h" #include "RoiScene.h" namespace Ui { class RoiDlg; } class CDsgRoiDlg : public QDialog//, public IDetectorUISink { Q_OBJECT public: CDsgRoiDlg(QWidget *parent = 0); ~CDsgRoiDlg(); bool Initialize(IDetectorEngine* pDE, IDetectorAlgorithm* pAlgo, IDetectorTask* pTask); bool InitGraphView(); LP_DETECTOR_ROI_DATA ShowRoiDlg(LP_DETECTOR_ROI_DATA roiData); void CleanUp(); bool FillRoi(LP_DETECTOR_ROI_DATA& roiData); virtual void ResetItem(QPoint pos, QRect size); virtual void OnManualTrigger(){} virtual void OnSetParam(IDetectorTask* pTask){} virtual void showEvent(QShowEvent *evt); signals: void sgShowCameraImage(QImage); public slots : bool OnOk(); bool OnCancel(); void OnRectangle(); void OnEllipse(); void OnCircle(); void OnShowColorDlg(); void OnMove(); void OnSetItem(); void OnZoomIn(); void OnZoomOut(); void OnSelectImage(); void OnSnapCameraImage(); void OnShowCameraImage(QImage img); void OnShowTenFlag(); private: Ui::RoiDlg *ui; IDetectorEngine* m_pDE{ nullptr }; IDetectorTask* m_pTask{ nullptr }; RoiScene* m_pRoiScene{ nullptr }; LP_DETECTOR_ROI_DATA m_tempRoiData; }; #endif // DSGROIDLG_H