#pragma once #include "nmPlot_global.h" #include class QWidget; class ZxDataWell; class nmDataWellBase; // 绘图层访问界面弹窗能力的抽象接口 class NM_PLOT_EXPORT nmPlotDialogContextProvider { public: virtual ~nmPlotDialogContextProvider() {} // 打开测量比例尺弹窗 virtual bool execMeasuringScaleDialog(const QPointF& pStart, const QPointF& pEnd, double* pLength) = 0; // 创建测量工具弹窗 virtual QWidget* createMeasureDialog(QWidget* pParent) = 0; // 创建坐标显示弹窗 virtual QWidget* createPointerPosDialog(QWidget* pParent) = 0; // 确认是否删除图元 virtual bool confirmDeleteObject() = 0; // 确认是否切换边界类型 virtual bool confirmSwitchOutline() = 0; // 打开井编辑弹窗并返回修改后的井数据 virtual bool editWell(QWidget* pParent, ZxDataWell* pZxDataWell, nmDataWellBase* pNmDataWell, nmDataWellBase*& pModifiedWell) = 0; };