#include "CFesCtrlSim.h" #include "ui_CFesCtrlSim.h" #include "CActiveWindow.h" CFesCtrlSim::CFesCtrlSim(QWidget *parent) : QWidget(parent), ui(new Ui::CFesCtrlSim), ptrSimAoDlg(Q_NULLPTR), ptrSimDoDlg(Q_NULLPTR), ptrSimMoDlg(Q_NULLPTR), ptrDefCmdDlg(Q_NULLPTR) { ui->setupUi(this); } CFesCtrlSim::~CFesCtrlSim() { if(ptrSimAoDlg != NULL) { delete ptrSimAoDlg; } if(ptrSimDoDlg != NULL) { delete ptrSimDoDlg; } if(ptrSimMoDlg != NULL) { delete ptrSimMoDlg; } if(ptrDefCmdDlg != NULL) { delete ptrDefCmdDlg; } delete ui; } void CFesCtrlSim::Init(bool isConnected) { if(isConnected) { m_ConnectFlag = CN_CommConnect; }else { m_ConnectFlag = CN_CommDisconnect; } initVariable(); initSignalAndSlot(); initView(); } void CFesCtrlSim::slotActiveWindow() { setActiveWindow(ui->tabWidget->currentIndex()); } void CFesCtrlSim::initVariable() { ptrSimAoDlg = new SimAoDlg((int)E_ACTIVE_WINDOW_FES_AO_CTRL,this); ptrSimAoDlg->SetConnectFlags(m_ConnectFlag); } void CFesCtrlSim::initSignalAndSlot() { connect(ui->tabWidget,&QTabWidget::currentChanged,this,&CFesCtrlSim::setActiveWindow); } void CFesCtrlSim::initView() { QGridLayout *gridLayout = new QGridLayout(ui->tab); gridLayout->setSpacing(6); gridLayout->setContentsMargins(0, 0, 0, 0); gridLayout->addWidget(ptrSimAoDlg, 0, 0, 1, 1); ui->tabWidget->removeTab(3); } void CFesCtrlSim::setActiveWindow(int current) { switch (current) { case 0: if(ptrSimAoDlg == NULL) { ptrSimAoDlg = new SimAoDlg((int)E_ACTIVE_WINDOW_FES_AO_CTRL,this); ptrSimAoDlg->SetConnectFlags(m_ConnectFlag); QGridLayout *gridLayout = new QGridLayout(ui->tab); gridLayout->setSpacing(6); gridLayout->setContentsMargins(0, 0, 0, 0); gridLayout->addWidget(ptrSimAoDlg, 0, 0, 1, 1); } CActiveWindow::instance()->setActiveWindow((int)E_ACTIVE_WINDOW_FES_AO_CTRL); ptrSimAoDlg->OnRTURefresh(); break; case 1: if(ptrSimDoDlg == NULL) { ptrSimDoDlg = new SimDoDlg((int)E_ACTIVE_WINDOW_FES_DO_CTRL,this); ptrSimDoDlg->SetConnectFlags(m_ConnectFlag); QGridLayout *gridLayout = new QGridLayout(ui->tab_2); gridLayout->setSpacing(6); gridLayout->setContentsMargins(0, 0, 0, 0); gridLayout->addWidget(ptrSimDoDlg, 0, 0, 1, 1); } CActiveWindow::instance()->setActiveWindow((int)E_ACTIVE_WINDOW_FES_DO_CTRL); ptrSimDoDlg->OnRTURefresh(); break; case 2: if(ptrSimMoDlg == NULL) { ptrSimMoDlg = new SimMoDlg((int)E_ACTIVE_WINDOW_FES_MO_CTRL,this); ptrSimMoDlg->SetConnectFlags(m_ConnectFlag); QGridLayout *gridLayout = new QGridLayout(ui->tab_3); gridLayout->setSpacing(6); gridLayout->setContentsMargins(0, 0, 0, 0); gridLayout->addWidget(ptrSimMoDlg, 0, 0, 1, 1); } CActiveWindow::instance()->setActiveWindow((int)E_ACTIVE_WINDOW_FES_MO_CTRL); ptrSimMoDlg->OnRTURefresh(); break; case 3: if(ptrDefCmdDlg == NULL) { ptrDefCmdDlg = new DefCmdDlg((int)E_ACTIVE_WINDOW_FES_CUSTOM_CTRL,this); ptrDefCmdDlg->SetConnectFlags(m_ConnectFlag); QGridLayout *gridLayout = new QGridLayout(ui->tab_4); gridLayout->setSpacing(6); gridLayout->setContentsMargins(0, 0, 0, 0); gridLayout->addWidget(ptrDefCmdDlg, 0, 0, 1, 1); } CActiveWindow::instance()->setActiveWindow((int)E_ACTIVE_WINDOW_FES_CUSTOM_CTRL); ptrDefCmdDlg->OnRTURefresh(); break; default: CActiveWindow::instance()->setActiveWindow((int)E_ACTIVE_WINDOW_FES); break; } } void CFesCtrlSim::OnNetConnect() { m_ConnectFlag =CN_CommConnect; if(ptrSimAoDlg!=NULL) ptrSimAoDlg->SetConnectFlags(m_ConnectFlag); if(ptrSimDoDlg!=NULL) ptrSimDoDlg->SetConnectFlags(m_ConnectFlag); if(ptrSimMoDlg!=NULL) ptrSimMoDlg->SetConnectFlags(m_ConnectFlag); if(ptrDefCmdDlg!=NULL) ptrDefCmdDlg->SetConnectFlags(m_ConnectFlag); } void CFesCtrlSim::OnNetDisConnect() { m_ConnectFlag =CN_CommDisconnect; if(ptrSimAoDlg!=NULL) ptrSimAoDlg->SetConnectFlags(m_ConnectFlag); if(ptrSimDoDlg!=NULL) ptrSimDoDlg->SetConnectFlags(m_ConnectFlag); if(ptrSimMoDlg!=NULL) ptrSimMoDlg->SetConnectFlags(m_ConnectFlag); if(ptrDefCmdDlg!=NULL) ptrDefCmdDlg->SetConnectFlags(m_ConnectFlag); }