#include #include "bayManagerContentDlg.h" #include "baseProperty.h" #include "ui_bayManagerContentDlg.h" #include "basePropertyManager.h" BayManagerContentDlg::BayManagerContentDlg(QWidget *parent) : QDialog(parent) , ui(new Ui::bayManagerContentDlg) ,_pData(nullptr) { ui->setupUi(this); this->setWindowFlags(Qt::FramelessWindowHint | windowFlags()); initial(); } BayManagerContentDlg::~BayManagerContentDlg() { delete ui; } void BayManagerContentDlg::initial() { _stateGroup = new QButtonGroup(this); _stateGroup->addButton(ui->rbtn_in,1); _stateGroup->addButton(ui->rbtn_out,0); _stateGroup->setExclusive(true); QStringList headerText; headerText<<"选择"<<"名称"; ui->tw_zongHe->setContextMenuPolicy(Qt::CustomContextMenu); ui->tw_zongHe->setSelectionMode(QAbstractItemView::SingleSelection); ui->tw_zongHe->setSelectionBehavior(QAbstractItemView::SelectRows); ui->tw_zongHe->setColumnCount(headerText.count()); ui->tw_zongHe->setHorizontalHeaderLabels(headerText); ui->tw_zongHe->horizontalHeader()->setSectionResizeMode(QHeaderView::Stretch); ui->tw_jianKong->setContextMenuPolicy(Qt::CustomContextMenu); ui->tw_jianKong->setSelectionMode(QAbstractItemView::SingleSelection); ui->tw_jianKong->setSelectionBehavior(QAbstractItemView::SelectRows); ui->tw_jianKong->setColumnCount(headerText.count()); ui->tw_jianKong->setHorizontalHeaderLabels(headerText); ui->tw_jianKong->horizontalHeader()->setSectionResizeMode(QHeaderView::Stretch); ui->tw_dongTai->setContextMenuPolicy(Qt::CustomContextMenu); ui->tw_dongTai->setSelectionMode(QAbstractItemView::SingleSelection); ui->tw_dongTai->setSelectionBehavior(QAbstractItemView::SelectRows); ui->tw_dongTai->setColumnCount(headerText.count()); ui->tw_dongTai->setHorizontalHeaderLabels(headerText); ui->tw_dongTai->horizontalHeader()->setSectionResizeMode(QHeaderView::Stretch); ui->tw_guZhang->setContextMenuPolicy(Qt::CustomContextMenu); ui->tw_guZhang->setSelectionMode(QAbstractItemView::SingleSelection); ui->tw_guZhang->setSelectionBehavior(QAbstractItemView::SelectRows); ui->tw_guZhang->setColumnCount(headerText.count()); ui->tw_guZhang->setHorizontalHeaderLabels(headerText); ui->tw_guZhang->horizontalHeader()->setSectionResizeMode(QHeaderView::Stretch); ui->tw_zhuangTai->setContextMenuPolicy(Qt::CustomContextMenu); ui->tw_zhuangTai->setSelectionMode(QAbstractItemView::SingleSelection); ui->tw_zhuangTai->setSelectionBehavior(QAbstractItemView::SelectRows); ui->tw_zhuangTai->setColumnCount(headerText.count()); ui->tw_zhuangTai->setHorizontalHeaderLabels(headerText); ui->tw_zhuangTai->horizontalHeader()->setSectionResizeMode(QHeaderView::Stretch); ui->tw_qiTa->setContextMenuPolicy(Qt::CustomContextMenu); ui->tw_qiTa->setSelectionMode(QAbstractItemView::SingleSelection); ui->tw_qiTa->setSelectionBehavior(QAbstractItemView::SelectRows); ui->tw_qiTa->setColumnCount(headerText.count()); ui->tw_qiTa->setHorizontalHeaderLabels(headerText); ui->tw_qiTa->horizontalHeader()->setSectionResizeMode(QHeaderView::Stretch); } void BayManagerContentDlg::updateByProperty() { if(_pData){ ui->le_name->setText(_pData->name()); ui->tw_zongHe->setRowCount(0); ui->tw_jianKong->setRowCount(0); ui->tw_dongTai->setRowCount(0); ui->tw_guZhang->setRowCount(0); ui->tw_zhuangTai->setRowCount(0); ui->tw_qiTa->setRowCount(0); ui->le_index->setText(_pData->uuid().toString()); ui->le_type->setText(_pData->getType()); QStringList lstFrom; for(auto uid:_pData->getLstFrom()){ lstFrom.append(uid.toString()); } ui->le_from->setText(lstFrom.join(" ")); QStringList lstTo; for(auto uid:_pData->getLstTo()){ lstTo.append(uid.toString()); } ui->le_to->setText(lstTo.join(" ")); ui->le_voltage->setText(QString::number(_pData->getVoltage())); ui->le_fla->setText(QString::number(_pData->getFla())); ui->le_capacity->setText(QString::number(_pData->getCapacity())); QList lstPro; QList lstId = _pData->getLstComponent(); QList lstProtectId = _pData->getLstProtect(); //综合保护 QList lstInsId = _pData->getLstInstruct(); //监控 QList lstDynSenId = _pData->getLstDynSense(); //动态感知 QList lstFauRecId = _pData->getLstFaultRecord(); //故障录播 QList lstStaId= _pData->getLstStatus(); //状态监测 QList lstEtcId= _pData->getLstEtc(); //其他设备 for(auto& id:lstId){ BaseProperty* pPro = BasePropertyManager::instance().findEntityData(id); //根据id找到对应的设备 if(pPro){ lstPro.append(pPro); } } for(auto& pro:lstPro){ //初始化tablewidget int row = ui->tw_zongHe->rowCount(); //综合保护 ui->tw_zongHe->insertRow(row); QTableWidgetItem *checkItemProtec = new QTableWidgetItem(); checkItemProtec->setFlags(Qt::ItemIsUserCheckable | Qt::ItemIsEnabled); checkItemProtec->setCheckState(Qt::Unchecked); // 默认未勾选 checkItemProtec->setData(Qt::UserRole+1,pro->uuid()); ui->tw_zongHe->setItem(row, 0, checkItemProtec); // 设置到第一列 QTableWidgetItem* tagItemProtec = new QTableWidgetItem(pro->tag()); ui->tw_zongHe->setItem(row, 1, tagItemProtec); row = ui->tw_jianKong->rowCount(); //监控 ui->tw_jianKong->insertRow(row); QTableWidgetItem *checkItemIns = new QTableWidgetItem(); checkItemIns->setFlags(Qt::ItemIsUserCheckable | Qt::ItemIsEnabled); checkItemIns->setCheckState(Qt::Unchecked); checkItemIns->setData(Qt::UserRole+1,pro->uuid()); ui->tw_jianKong->setItem(row, 0, checkItemIns); QTableWidgetItem* tagItemIns = new QTableWidgetItem(pro->tag()); ui->tw_jianKong->setItem(row, 1, tagItemIns); row = ui->tw_dongTai->rowCount(); //动态感知 ui->tw_dongTai->insertRow(row); QTableWidgetItem *checkItemDynSen = new QTableWidgetItem(); checkItemDynSen->setFlags(Qt::ItemIsUserCheckable | Qt::ItemIsEnabled); checkItemDynSen->setCheckState(Qt::Unchecked); checkItemDynSen->setData(Qt::UserRole+1,pro->uuid()); ui->tw_dongTai->setItem(row, 0, checkItemDynSen); QTableWidgetItem* tagItemDynSen = new QTableWidgetItem(pro->tag()); ui->tw_dongTai->setItem(row, 1, tagItemDynSen); row = ui->tw_guZhang->rowCount(); //故障录播 ui->tw_guZhang->insertRow(row); QTableWidgetItem *checkItemFauRec = new QTableWidgetItem(); checkItemFauRec->setFlags(Qt::ItemIsUserCheckable | Qt::ItemIsEnabled); checkItemFauRec->setCheckState(Qt::Unchecked); checkItemFauRec->setData(Qt::UserRole+1,pro->uuid()); ui->tw_guZhang->setItem(row, 0, checkItemFauRec); QTableWidgetItem* tagItemFauRec = new QTableWidgetItem(pro->tag()); ui->tw_guZhang->setItem(row, 1, tagItemFauRec); row = ui->tw_zhuangTai->rowCount(); //状态监测 ui->tw_zhuangTai->insertRow(row); QTableWidgetItem *checkItemSta = new QTableWidgetItem(); checkItemSta->setFlags(Qt::ItemIsUserCheckable | Qt::ItemIsEnabled); checkItemSta->setCheckState(Qt::Unchecked); checkItemSta->setData(Qt::UserRole+1,pro->uuid()); ui->tw_zhuangTai->setItem(row, 0, checkItemSta); QTableWidgetItem* tagItemSta = new QTableWidgetItem(pro->tag()); ui->tw_zhuangTai->setItem(row, 1, tagItemSta); row = ui->tw_qiTa->rowCount(); //其他设备 ui->tw_qiTa->insertRow(row); QTableWidgetItem *checkItemEtc = new QTableWidgetItem(); checkItemEtc->setFlags(Qt::ItemIsUserCheckable | Qt::ItemIsEnabled); checkItemEtc->setCheckState(Qt::Unchecked); checkItemEtc->setData(Qt::UserRole+1,pro->uuid()); ui->tw_qiTa->setItem(row, 0, checkItemEtc); QTableWidgetItem* tagItemEtc = new QTableWidgetItem(pro->tag()); ui->tw_qiTa->setItem(row, 1, tagItemEtc); } for(auto& id:lstProtectId){ //设置勾选状态 for(int i = 0;i < ui->tw_zongHe->rowCount();++i){ if(ui->tw_zongHe->item(i,0)->data(Qt::UserRole+1).toUuid() == id){ ui->tw_zongHe->item(i,0)->setCheckState(Qt::Checked); break; } } } for(auto& id:lstInsId){ for(int i = 0;i < ui->tw_jianKong->rowCount();++i){ if(ui->tw_jianKong->item(i,0)->data(Qt::UserRole+1).toUuid() == id){ ui->tw_jianKong->item(i,0)->setCheckState(Qt::Checked); break; } } } for(auto& id:lstDynSenId){ for(int i = 0;i < ui->tw_dongTai->rowCount();++i){ if(ui->tw_dongTai->item(i,0)->data(Qt::UserRole+1).toUuid() == id){ ui->tw_dongTai->item(i,0)->setCheckState(Qt::Checked); break; } } } for(auto& id:lstFauRecId){ for(int i = 0;i < ui->tw_guZhang->rowCount();++i){ if(ui->tw_guZhang->item(i,0)->data(Qt::UserRole+1).toUuid() == id){ ui->tw_guZhang->item(i,0)->setCheckState(Qt::Checked); break; } } } for(auto& id:lstStaId){ for(int i = 0;i < ui->tw_zhuangTai->rowCount();++i){ if(ui->tw_zhuangTai->item(i,0)->data(Qt::UserRole+1).toUuid() == id){ ui->tw_zhuangTai->item(i,0)->setCheckState(Qt::Checked); break; } } } for(auto& id:lstEtcId){ for(int i = 0;i < ui->tw_qiTa->rowCount();++i){ if(ui->tw_qiTa->item(i,0)->data(Qt::UserRole+1).toUuid() == id){ ui->tw_qiTa->item(i,0)->setCheckState(Qt::Checked); break; } } } } } void BayManagerContentDlg::saveSetting() { if(_pData){ QList lstProtec; for(int i = 0;i < ui->tw_zongHe->rowCount();++i){ if(Qt::Checked == ui->tw_zongHe->item(i,0)->checkState()){ lstProtec.append(ui->tw_zongHe->item(i,0)->data(Qt::UserRole+1).toUuid()); } } QList lstIns; for(int i = 0;i < ui->tw_jianKong->rowCount();++i){ if(Qt::Checked == ui->tw_jianKong->item(i,0)->checkState()){ lstIns.append(ui->tw_jianKong->item(i,0)->data(Qt::UserRole+1).toUuid()); } } QList lstDynSen; for(int i = 0;i < ui->tw_dongTai->rowCount();++i){ if(Qt::Checked == ui->tw_dongTai->item(i,0)->checkState()){ lstDynSen.append(ui->tw_dongTai->item(i,0)->data(Qt::UserRole+1).toUuid()); } } QList lstFauRec; for(int i = 0;i < ui->tw_guZhang->rowCount();++i){ if(Qt::Checked == ui->tw_guZhang->item(i,0)->checkState()){ lstFauRec.append(ui->tw_guZhang->item(i,0)->data(Qt::UserRole+1).toUuid()); } } QList lstSta; for(int i = 0;i < ui->tw_zhuangTai->rowCount();++i){ if(Qt::Checked == ui->tw_zhuangTai->item(i,0)->checkState()){ lstSta.append(ui->tw_zhuangTai->item(i,0)->data(Qt::UserRole+1).toUuid()); } } QList lstEtc; for(int i = 0;i < ui->tw_qiTa->rowCount();++i){ if(Qt::Checked == ui->tw_qiTa->item(i,0)->checkState()){ lstEtc.append(ui->tw_qiTa->item(i,0)->data(Qt::UserRole+1).toUuid()); } } _pData->setLstProtect(lstProtec); _pData->setLstInstruct(lstIns); _pData->setLstDynSense(lstDynSen); _pData->setLstFaultRecord(lstFauRec); _pData->setLstStatus(lstSta); _pData->setLstEtc(lstEtc); } }