#pragma once #include #include "nmSubWnd_global.h" class iRibbonXmlCmd; class iSubWnd; // 本来主要是为数值部分提供SubWnd初始化构造的方法 class NM_SUB_WND_EXPORT nmSubWndUtils : public QObject { Q_OBJECT public: /// @brief 构造窗体,根据RibbonXmlCmd /// @note 权宜之计:此处构造的窗体,无需额外删除(析构),系统会统一处理 static iSubWnd* createSubWnd(iRibbonXmlCmd* pCmdInfo); /// @brief 构造窗体,根据sID和sExt /// @note sID和sExt也是来自于RibbonXmlCmd /// @note 权宜之计:此处构造的窗体,无需额外删除(析构),系统会统一处理 static iSubWnd* createSubWnd(QString sID, QString sExt); /// @brief 在当前没有激活数值SubWnd的情况下,判断是否某些命令是否Enable /// @param sID(in) 命令ID /// @param sName(in) 命令Name /// @param bLicensed(const in)当前是否正式授权 /// @note sID和sName也是来自于RibbonXmlCmd static bool isEnableOfID_Common(QString sID, QString sName, const bool bLicensed); };