DiagramDesigner/diagramCavas/source/monitorAttributeDlg.cpp

74 lines
1.9 KiB
C++

#include "monitorAttributeDlg.h"
#include "monitorAttributeGroupDlg.h"
#include "monitorPanel.h"
#include "monitorToolBox.h"
#include "monitorSideBarDlg.h"
#include <QVBoxLayout>
#include <QLabel>
#include "global.h"
MonitorAttributeDlg::MonitorAttributeDlg(QWidget* parent)
: QDialog(parent)
,_pLayout(nullptr)
,_pBox(nullptr)
,_pParent(nullptr)
{
_pParent = dynamic_cast<MonitorSideBarDlg*>(parent);
initial();
}
MonitorAttributeDlg::~MonitorAttributeDlg()
{
}
void MonitorAttributeDlg::initial()
{
// 创建标题栏
QWidget *titleBar = new QWidget(this);
titleBar->setFixedHeight(21);
titleBar->setStyleSheet("background-color: #2b579a; color: white;");
// 标题栏布局
QHBoxLayout *titleLayout = new QHBoxLayout(titleBar);
titleLayout->setContentsMargins(10, 0, 5, 0);
// 标题标签
QLabel *titleLabel = new QLabel("对象属性");
titleLabel->setStyleSheet("color: white; font-weight: bold;");
titleLayout->addWidget(titleLabel);
_pLayout = new QVBoxLayout(this);
_pBox = new MonitorToolBox(this);
_pBox->setContentsMargins(0, 0, 0, 0);
_pLayout->addWidget(titleBar);
_pLayout->addWidget(_pBox);
}
void MonitorAttributeDlg::generateAttributeGroups(QUuid uid)
{
QMap<QString,QList<monitorItemAttributeInfo>> mapLst;
auto mapPara = getParent()->getParent()->getModelController()->getMonitorPara();
if(mapPara.contains(uid)){
auto lst = mapPara[uid];
for(auto &info:lst){
if(info.bSelected)
mapLst[info.sGroup].append(info);
}
for(auto iter = mapLst.begin(); iter != mapLst.end();++iter){
MonitorAttributeGroupDlg* pDlg = new MonitorAttributeGroupDlg();
pDlg->setParent(this);
pDlg->createGroupView(iter.value());
_pBox->addWidget(iter.key(),pDlg);
}
_curId = uid;
}
}
void MonitorAttributeDlg::clearAllGroup()
{
_pBox->removeAllWidget();
}