DiagramDesigner/diagramCavas/include/drawingPanel.h

74 lines
2.0 KiB
C
Raw Normal View History

2024-12-03 20:07:25 +08:00
#ifndef DRAWINGPANEL_H
#define DRAWINGPANEL_H
#include <QWidget>
#include "global.h"
#include "designerScene.h"
QT_BEGIN_NAMESPACE
namespace Ui { class drawingPanel; }
QT_END_NAMESPACE
class DesignerView;
class DesignerScene;
class SelectorManager;
class GraphicsItemGroup;
2024-12-07 17:24:36 +08:00
class StatusBar;
2025-04-30 16:29:17 +08:00
class PowerEntity;
2025-06-27 19:17:04 +08:00
class ProjectDiagramNameInput;
2025-07-11 18:13:54 +08:00
class BayManagerDlg;
2024-12-03 20:07:25 +08:00
class DrawingPanel : public QWidget
{
Q_OBJECT
public:
2025-04-30 16:29:17 +08:00
DrawingPanel(PowerEntity* pEntity,QWidget *parent = nullptr,DiagramMode mode = DM_edit);
2024-12-03 20:07:25 +08:00
~DrawingPanel();
QGraphicsScene* getQGraphicsScene();
DesignerScene* getDesignerScene();
void grahpicsViewZoomIn();
void grahpicsViewZoomOut();
void grahpicsViewZoomFit();
GraphicsItemGroup* createItemGroup();
void destroyItemGroup();
SelectorManager* selectorManager() const; //返回manager指针
2025-02-06 16:36:50 +08:00
void setPageName(QString s){_name = s;_pModel->setPageName(_name);} //设置当前page名称
QString pageName(){return _name;}
2025-07-04 18:47:49 +08:00
FixedPortsModel* getModelController() const {return _pModel;}
2025-02-06 16:36:50 +08:00
DiagramMode getMode(){return _mode;}
QJsonObject getDiagramInfo() const; //返回图元位置信息
void loadNodes(QJsonObject obj); //加载图元信息
void saveNodes(int pageId); //保存到数据库
2025-06-27 19:17:04 +08:00
DesignerScene* getScene() {return m_pGraphicsScene;}
2025-10-11 18:51:33 +08:00
DesignerView* getView() {return m_pGraphicsView;}
2025-02-06 16:36:50 +08:00
signals:
2025-10-30 17:20:10 +08:00
void panelDelete(const QString&,int);
2025-02-06 16:36:50 +08:00
protected:
void closeEvent(QCloseEvent *closeEvent);
2024-12-03 20:07:25 +08:00
public slots:
2025-03-28 18:08:21 +08:00
void onSignal_addGraphicsItem(modelStateInfo&);
2025-06-27 19:17:04 +08:00
void onSignal_Generate(); //由基模组态生成工程模组态
2024-12-03 20:07:25 +08:00
private:
Ui::drawingPanel *ui;
DesignerView* m_pGraphicsView;
DesignerScene* m_pGraphicsScene;
SelectorManager* m_pSelectorManager;
2024-12-07 17:24:36 +08:00
StatusBar* m_pStatusBar;
2025-02-06 16:36:50 +08:00
FixedPortsModel* _pModel;
DiagramMode _mode;
QString _name;
2025-04-30 16:29:17 +08:00
PowerEntity* _pEntity; //组态图拓扑对象
2025-06-27 19:17:04 +08:00
ProjectDiagramNameInput* m_pDiagramNameInputer;
2024-12-03 20:07:25 +08:00
};
#endif