DiagramDesigner/diagramCavas/include/diagramCavas.h

99 lines
4.1 KiB
C
Raw Normal View History

2025-02-06 16:36:50 +08:00
#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;
2025-04-30 16:29:17 +08:00
class PowerEntity;
2025-05-30 16:28:51 +08:00
class DiagramEditorWizard;
class EditPanel;
2025-09-26 18:50:21 +08:00
class GraphicsBaseModelItem;
2025-10-21 18:46:51 +08:00
class EditBaseItem;
2025-11-14 19:31:09 +08:00
class MonitorPanel;
2025-02-06 16:36:50 +08:00
class DIAGRAM_DESIGNER_PUBLIC DiagramCavas : public QMdiArea
{
Q_OBJECT
public:
DiagramCavas(QWidget *parent = nullptr);
~DiagramCavas();
2025-06-20 18:09:41 +08:00
DrawingPanel* getPanel(QString);
2025-10-24 21:11:07 +08:00
EditPanel* getEditPanel(QString);
2025-11-14 19:31:09 +08:00
MonitorPanel* getMonitorPanel(QString);
2025-02-06 16:36:50 +08:00
public:
2025-11-14 19:31:09 +08:00
void initial();
signals:
void prepareUpdateItems(QList<monitorRelationItem>,bool refresh);
2025-11-21 19:22:41 +08:00
void prepareSelectItems(QList<monitorRelationItem>);
2025-11-14 19:31:09 +08:00
void updateMonitorList(QString,QPair<QString,QUuid>,int nMode = 0); //0新增1删除
2025-11-21 19:22:41 +08:00
void createdMonitorItems(QList<monitorRelationItem>); //创建的监控中item个数
2025-02-06 16:36:50 +08:00
public slots:
2025-11-14 19:31:09 +08:00
void onSignal_addDrawingPanel(PowerEntity* p,DiagramMode = DM_edit,QString parent = QString()); //parent:派生运行时的page
2025-03-28 18:08:21 +08:00
void onSignal_addGraphicsItem(modelStateInfo&);
2025-02-06 16:36:50 +08:00
void onSignal_addPage();
void onSignal_savePage();
2025-04-30 16:29:17 +08:00
void onSignal_loadPage(PowerEntity* p);
2025-10-24 21:11:07 +08:00
void onSignal_loadEdit(const QString&,QUuid);
2025-11-14 19:31:09 +08:00
void onSignal_loadMonitor(PowerEntity* p);
2025-02-06 16:36:50 +08:00
void runPage(const QString); //运行时
void onSignal_runPage();
void onSignal_deletePage();
void onSignal_activatePage(const QString& name);
2025-10-30 17:20:10 +08:00
void onSignal_panelDelete(const QString& name,int nType); //type:0editorPanel,1drawPanel
2025-04-30 16:29:17 +08:00
void onSignal_createEntity(EntityInfo);
void onSignal_changeEntity(EntityInfo);
void onSignal_deleteEntity(EntityInfo);
void onSignal_selectEntity(EntityInfo);
2025-05-09 19:36:32 +08:00
2025-11-14 19:31:09 +08:00
void onSignal_createDiagram(DiagramInfo,DiagramMode mode = DM_edit);
2025-05-09 19:36:32 +08:00
void onSignal_changeDiagram(DiagramInfo);
void onSignal_deleteDiagram(DiagramInfo);
void onSignal_selectDiagram(DiagramInfo);
2025-05-30 16:28:51 +08:00
2025-06-20 18:09:41 +08:00
void onCreateTestBaseModelDiagram(); //生成测试基模图
2025-05-30 16:28:51 +08:00
/******************************生成组态***********************************/
2025-10-24 21:11:07 +08:00
void onSignal_createEditPanel(QString,QUuid);
2025-10-30 17:20:10 +08:00
void onSignal_prepareOpenSetting(QString);
2025-10-24 21:11:07 +08:00
void onSignal_prepareSaveEdit(QString);
2025-10-30 17:20:10 +08:00
void onSignal_prepareDeleteEditor(const QString&,QUuid);
2025-05-30 16:28:51 +08:00
EditPanel* onSignal_addEditPanel(QString);
2025-10-30 17:20:10 +08:00
void onSignal_addEditWizard(QString,QUuid,bool val = true); //bool:是否显示wizard
2025-10-21 18:46:51 +08:00
void onSignal_wizardFinished(QString,QMap<QUuid,GraphicsBaseModelItem*>,QList<EditBaseItem*>);
2025-10-30 17:20:10 +08:00
void onSignal_unloadProject(const QString&);
2025-07-11 18:13:54 +08:00
/*********************************间隔**************************************/
void onSignl_openCurrentBay();
2025-11-14 19:31:09 +08:00
/********************************运行时**********************************/
void onSignal_updateCurItems(QList<monitorRelationItem>,bool); //更新当前设备列表
2025-11-21 19:22:41 +08:00
void onSignal_selectedItems(QList<monitorRelationItem>); //当前选中设备
void onSignal_generate(QString,QList<monitorRelationItem>); //使用选中设备生成监控 (监控名,设备)
2025-11-14 19:31:09 +08:00
void onSignal_monitorCreated(QString,QPair<QString,QUuid>); //监控已创建
2025-11-21 19:22:41 +08:00
void onSignal_monitorItemCreated(QList<monitorRelationItem>); //监控中创建的对象
2025-11-14 19:31:09 +08:00
void onSignal_monitorSelected(DiagramInfo); //监控选中
void onSignal_saveMonitor(QList<QPair<QString,QUuid>>); //保存选中的监控
QMap<QString,QPair<DrawingPanel*,QMdiSubWindow*>> getMapDraw() {return m_mapDrawPanel;}
QMap<QString,QPair<EditPanel*,QMdiSubWindow*>> getMapEdit() {return m_mapEditPanel;}
QMap<QString,QPair<MonitorPanel*,QMdiSubWindow*>> getMapMonitor() {return m_mapMonitorPanel;}
2025-04-30 16:29:17 +08:00
private:
void removePanel(PowerEntity*);
2025-02-06 16:36:50 +08:00
private:
2025-11-14 19:31:09 +08:00
QMap<QString,QPair<DrawingPanel*,QMdiSubWindow*>> m_mapDrawPanel; //工程模panel
QMap<QString,QPair<EditPanel*,QMdiSubWindow*>> m_mapEditPanel; //编辑时
QMap<QString,QPair<MonitorPanel*,QMdiSubWindow*>> m_mapMonitorPanel; //监控时panel
2025-02-06 16:36:50 +08:00
int _pageIndex;
QString _curPage;
};
#endif