42 lines
887 B
C++
42 lines
887 B
C++
|
|
#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);
|
||
|
|
}
|