71 lines
2.1 KiB
C++
71 lines
2.1 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 GraphicsBaseModelItem;
|
||
|
||
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(QString,QMap<QUuid,GraphicsBaseModelItem*>);
|
||
/*********************************间隔**************************************/
|
||
void onSignl_openCurrentBay();
|
||
private:
|
||
void removePanel(PowerEntity*);
|
||
void autoSetModelName(GraphicsBaseModelItem*); //如果此页的工程模已被设置,将projectName更新到item
|
||
private:
|
||
QMap<QString,QPair<DrawingPanel*,QMdiSubWindow*>> m_mapDrawPanel;
|
||
int _pageIndex;
|
||
QString _curPage;
|
||
DiagramEditorWizard* _pEditorWizard;
|
||
};
|
||
|
||
#endif
|