#include "baseInfoDlg.h" #include "graphicsItem/graphicsBaseItem.h" #include "ui_baseInfoDlg.h" #include "dataBase.h" #include "global.h" #include "baseProperty.h" #include "basePropertyManager.h" #include BaseInfoDlg::BaseInfoDlg(QWidget *parent) : BaseContentDlg(parent) , ui(new Ui::baseInfoDlg) { ui->setupUi(this); _stateGroup = new QButtonGroup(this); _stateGroup->addButton(ui->rb_inService,1); _stateGroup->addButton(ui->rb_outService,0); } BaseInfoDlg::~BaseInfoDlg() { delete ui; } void BaseInfoDlg::createGroupView(groupStateInfo infos) { QList lstGrid = DataBase::GetInstance()->getAllGrid(); QList lstZone = DataBase::GetInstance()->getAllZone(); QList lstStation = DataBase::GetInstance()->getAllStation(); for(auto &info:lstGrid) { ui->cb_grid->addItem(info.name,info.id); } for(auto &info:lstZone) { ui->cb_zone->addItem(info.name,info.id); } for(auto &info:lstStation) { ui->cb_station->addItem(info.name,info.id); } } QMap BaseInfoDlg::getPropertyValue(BaseProperty* pPro) { QMap map; if(pPro) { pPro->setTag(ui->le_tag->text()); pPro->setPath(ui->le_nameSpace->text()); pPro->setName(ui->le_name->text()); pPro->setLabel(QJsonObject()); pPro->setDescription(ui->le_description->text()); pPro->setGrid(ui->cb_grid->currentText()); pPro->setZone(ui->cb_zone->currentText()); pPro->setStation(ui->cb_station->currentText()); QJsonObject connectBus; connectBus["bay_name"] = ui->le_bayName->text(); connectBus["bay_offset_outer"] = ui->le_idx_1->text(); connectBus["bay_offset_inner"] = ui->le_idx_2->text(); connectBus["from_uuid"] = ui->le_from->text(); connectBus["to_uuid"] = ui->le_to->text(); pPro->setConnectedBus(connectBus); pPro->setInService(_stateGroup->checkedId()); pPro->setState(ui->le_status->text().toInt()); emit BasePropertyManager::instance().dataChanged(pPro->uuid().toString()); } return map; } void BaseInfoDlg::setPropertyValue(QVariant var) { BaseProperty* pPro = static_cast(var.value()); if(pPro) { ui->le_uuid->setText(pPro->uuid().toString()); ui->le_tag->setText(pPro->tag()); ui->le_nameSpace->setText(pPro->path()); ui->le_name->setText(pPro->name()); ui->le_label->setText(""); //label josn格式暂不解析 ui->le_description->setText(pPro->description()); ui->cb_grid->setCurrentText(pPro->grid()); ui->cb_zone->setCurrentText(pPro->zone()); ui->cb_station->setCurrentText(pPro->station()); ui->le_status->setText(QString::number(pPro->state())); //page status字段将移动到component QJsonObject connectBus = pPro->connectedBus(); QString bay_name = connectBus["bay_name"].toString(); QString bay_offset_outer = connectBus["bay_offset_outer"].toString(); QString bay_offset_inner = connectBus["bay_offset_inner"].toString(); QString from_uuid = connectBus["from_uuid"].toString(); QString to_uuid = connectBus["to_uuid"].toString(); ui->le_bayName->setText(bay_name); ui->le_idx_1->setText(bay_offset_outer); ui->le_idx_2->setText(bay_offset_inner); ui->le_from->setText(from_uuid); ui->le_to->setText(to_uuid); if(pPro->inService() == 1) ui->rb_inService->setChecked(true); else ui->rb_outService->setChecked(true); } }