#pragma once #include "nmSubWxs_global.h" #include "nmPlotDialogContextProvider.h" // 功能界面层的绘图弹窗上下文控制器 // 负责把绘图层的弹窗请求转发给nmSubWxs中的具体弹窗类 class NM_SUB_WXS_EXPORT nmSubWxsPlotDialogController : public nmPlotDialogContextProvider { public: // 获取全局唯一的绘图弹窗上下文控制器实例 static nmSubWxsPlotDialogController* instance(); // 打开测量比例尺弹窗 virtual bool execMeasuringScaleDialog(const QPointF& pStart, const QPointF& pEnd, double* pLength) override; // 创建测量工具弹窗 virtual QWidget* createMeasureDialog(QWidget* pParent) override; // 创建坐标显示弹窗 virtual QWidget* createPointerPosDialog(QWidget* pParent) override; // 确认是否删除图元 virtual bool confirmDeleteObject() override; // 确认是否切换边界类型 virtual bool confirmSwitchOutline() override; // 打开井编辑弹窗并返回修改后的井数据 virtual bool editWell(QWidget* pParent, ZxDataWell* pZxDataWell, nmDataWellBase* pNmDataWell, nmDataWellBase*& pModifiedWell) override; private: nmSubWxsPlotDialogController() {} };