#pragma once #include "WindowAppItemRefLine.h" /// /// 管理UI界面中的参考线的类 /// class WindowAppItemRefLine; class WindowAppUiScene; class WindowAppRefLineManager { public: WindowAppRefLineManager(); // 绑定Scene指针,用于添加参考线 void bindScene(WindowAppUiScene* uiScene) { this->m_pScene = uiScene; } // 根据两个Widget控件的关系,处理对应的参考线效果 void check(QWidget* srcWidget, QWidget* dstWidget); // 清空所有的参考线 void clear(); protected: // 更新参考线(是否新建、位置、长度等) void updateRefLine(const UI_REFLINE_INFO& info); // 查找对应的参考线是否存在 bool isRefLineExist(const UI_REFLINE_INFO& info); // 移除一条对应的参考线 void removeRefLine(const UI_REFLINE_INFO& info); protected: // 当前界面中的所有控件参考线 QVector m_RefLines; WindowAppUiScene* m_pScene; };