DiagramDesigner/diagramCavas/include/diagramCavas.h

67 lines
1.9 KiB
C++

#ifndef DIAGRAMCAVAS_H
#define DIAGRAMCAVAS_H
#include <QMdiArea>
#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();
DrawingPanel* getPanel(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 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<QString,QPair<DrawingPanel*,QMdiSubWindow*>> m_mapDrawPanel;
int _pageIndex;
QString _curPage;
DiagramEditorWizard* _pEditorWizard;
};
#endif