DiagramDesigner/source/diagramCavas.cpp

42 lines
887 B
C++
Raw Normal View History

2024-12-03 20:07:25 +08:00
#include "drawingPanel.h"
#include "diagramCavas.h"
#include "mainwindow.h"
#include <QMdiSubWindow>
DiagramCavas::DiagramCavas(QWidget *parent)
: QMdiArea(parent)
{
}
DiagramCavas::~DiagramCavas()
{
}
void DiagramCavas::initial()
{
//todo:读取数据并初始化
onSignal_addDrawingPanel(QString("electricElements"));
onSignal_addDrawingPanel(QString("baseElements"));
}
void DiagramCavas::onSignal_addDrawingPanel(const QString& sTitile)
{
DrawingPanel* pPanel = new DrawingPanel(this);
m_mapDrawPanel.insert(sTitile,pPanel);
pPanel->setWindowTitle(sTitile);
this->addSubWindow(pPanel);
}
void DiagramCavas::onSignal_addGraphicsItem(GraphicsItemType& type)
{
QWidget* pWindow= currentSubWindow()->widget();
DrawingPanel* pPanel = dynamic_cast<DrawingPanel*>(pWindow);
if(pPanel)
pPanel->onSignal_addGraphicsItem(type);
}