#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 GraphicsBaseModelItem; class EditBaseItem; class DIAGRAM_DESIGNER_PUBLIC DiagramCavas : public QMdiArea { Q_OBJECT public: DiagramCavas(QWidget *parent = nullptr); ~DiagramCavas(); DrawingPanel* getPanel(QString); EditPanel* getEditPanel(QString); 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 onSignal_loadEdit(const QString&,QUuid); void runPage(const QString); //运行时 void onSignal_runPage(); void onSignal_deletePage(); void onSignal_activatePage(const QString& name); void onSignal_panelDelete(const QString& name,int nType); //type:0editorPanel,1drawPanel 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,QUuid); void onSignal_prepareOpenSetting(QString); void onSignal_prepareSaveEdit(QString); void onSignal_prepareDeleteEditor(const QString&,QUuid); EditPanel* onSignal_addEditPanel(QString); void onSignal_addEditWizard(QString,QUuid,bool val = true); //bool:是否显示wizard void onSignal_wizardFinished(QString,QMap,QList); void onSignal_unloadProject(const QString&); /*********************************间隔**************************************/ void onSignl_openCurrentBay(); private: void removePanel(PowerEntity*); private: QMap> m_mapDrawPanel; QMap> m_mapEditPanel; int _pageIndex; QString _curPage; }; #endif