You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
nmWATI/Src/nmNum/nmSubWnd/nmSubWndUtils.cpp

86 lines
2.2 KiB
C++

#include "zxLogInstance.h"
#include "iRibbonXmlCmd.h"
#ifdef MY_OWN_GRID
#include "iSubWndGrid.h"
#else
#include "nmSubWndDemo.h"
#endif
#include "nmSubWndUtils.h"
#include "nmNewDlg.h"
#include "nmNewNormalDlg.h"
#include "nmWxParaProperty.h"
#include "nmDataDemo.h"
#include<QDialog>
iSubWnd* nmSubWndUtils::createSubWnd(iRibbonXmlCmd* pCmdInfo)
{
if (NULL == pCmdInfo) {
return NULL;
}
return createSubWnd(pCmdInfo->m_sID, pCmdInfo->m_sExtInfo);
}
iSubWnd* nmSubWndUtils::createSubWnd(QString sID, QString sExt)
{
iSubWnd* pSubWnd = NULL;
// Here is your own codes
int nID = sID.toInt();
if (nID == 5101) {
// 初始化一个数据类
nmDataDemo* analyzeData = new nmDataDemo();
// TODO先弹窗做新建分析再创建subWnd
nmNewNormalDlg* dlg = new nmNewNormalDlg(analyzeData);
dlg->exec();
if(dlg->result() == QDialog::Rejected) {
// 对话框被用户显式拒绝
// 在这里处理你的逻辑
delete analyzeData;
analyzeData = NULL;
return nullptr;
}
nmSubWndDemo* pSubWndDemo = new nmSubWndDemo(NULL, sExt);
pSubWndDemo->setAnalyzeData(analyzeData);
pSubWnd = pSubWndDemo;
}
if (NULL != pSubWnd) {
// TODO 此处根据需要设置 改变 标识
pSubWnd->setModified(true);
}
return pSubWnd;
}
bool nmSubWndUtils::runCmdBySpecial(iRibbonXmlCmd* pCmdInfo)
{
if (NULL == pCmdInfo) {
return false;
}
return runCmdBySpecial(pCmdInfo->m_sID, pCmdInfo->m_sExtInfo);
}
bool nmSubWndUtils::runCmdBySpecial(QString sID, QString sExt)
{
// Here is your own codes
if (_isSame(sID, "12345")) {
QMessageBox::information(NULL, zxAppID, QObject::tr("I am abc"));
return true;
} else {
return false;
}
}
bool nmSubWndUtils::isEnableOfID_Common(QString sID, QString sName, const bool bLicensed)
{
// 如果是5101即 新建PVT
if (sID.toInt() == 5101) {
return true;
}
// Here is your own codes
if (_isSame(sName, "NmDemo")) {
return (bLicensed);
} else {
return false;
}
}