#ifndef DIAGRAMCAVAS_H #define DIAGRAMCAVAS_H #include #include "global.h" #include "export.hpp" QT_BEGIN_NAMESPACE namespace Ui { class diagramCavas; } QT_END_NAMESPACE class DrawingPanel; class PowerEntity; class DiagramEditorWizard; class EditPanel; class DIAGRAM_DESIGNER_PUBLIC DiagramCavas : public QMdiArea { Q_OBJECT public: DiagramCavas(QWidget *parent = nullptr); ~DiagramCavas(); public: void initial(); public slots: void onSignal_addDrawingPanel(PowerEntity* p,DiagramMode = DM_edit); void onSignal_addGraphicsItem(modelStateInfo&); void onSignal_addPage(); void onSignal_savePage(); void onSignal_loadPage(PowerEntity* p); void runPage(const QString); //运行时 void onSignal_runPage(); void onSignal_deletePage(); void onSignal_activatePage(const QString& name); void onSignal_panelDelete(const QString& name); void onSignal_createEntity(EntityInfo); void onSignal_changeEntity(EntityInfo); void onSignal_deleteEntity(EntityInfo); void onSignal_selectEntity(EntityInfo); void onSignal_createDiagram(DiagramInfo); void onSignal_changeDiagram(DiagramInfo); void onSignal_deleteDiagram(DiagramInfo); void onSignal_selectDiagram(DiagramInfo); void onCreateTestBaseModelDiagram(); /******************************生成组态***********************************/ void onSignal_createEditPanel(QString); EditPanel* onSignal_addEditPanel(QString); void onSignal_addEditWizard(QString); void onSignal_wizardFinished(DiagramEditorWizardInfo); private: void removePanel(PowerEntity*); private: QMap> m_mapDrawPanel; int _pageIndex; QString _curPage; DiagramEditorWizard* _pEditorWizard; }; #endif