#ifndef DRAWINGPANEL_H #define DRAWINGPANEL_H #include #include "global.h" #include "designerScene.h" QT_BEGIN_NAMESPACE namespace Ui { class drawingPanel; } QT_END_NAMESPACE class DesignerView; class DesignerScene; class SelectorManager; class GraphicsItemGroup; class StatusBar; class PowerEntity; class DrawingPanel : public QWidget { Q_OBJECT public: DrawingPanel(PowerEntity* pEntity,QWidget *parent = nullptr,DiagramMode mode = DM_edit); ~DrawingPanel(); QGraphicsScene* getQGraphicsScene(); DesignerScene* getDesignerScene(); void grahpicsViewZoomIn(); void grahpicsViewZoomOut(); void grahpicsViewZoomFit(); GraphicsItemGroup* createItemGroup(); void destroyItemGroup(); SelectorManager* selectorManager() const; //返回manager指针 void setPageName(QString s){_name = s;_pModel->setPageName(_name);} //设置当前page名称 QString pageName(){return _name;} FixedPortsModel* getModel() const {return _pModel;} DiagramMode getMode(){return _mode;} QJsonObject getDiagramInfo() const; //返回图元位置信息 void loadNodes(QJsonObject obj); //加载图元信息 void saveNodes(int pageId); //保存到数据库 signals: void panelDelete(const QString&); protected: void closeEvent(QCloseEvent *closeEvent); public slots: void onSignal_addGraphicsItem(modelStateInfo&); private: Ui::drawingPanel *ui; DesignerView* m_pGraphicsView; DesignerScene* m_pGraphicsScene; SelectorManager* m_pSelectorManager; StatusBar* m_pStatusBar; FixedPortsModel* _pModel; DiagramMode _mode; QString _name; PowerEntity* _pEntity; //组态图拓扑对象 }; #endif