DiagramDesigner/diagramCavas/include/drawingPanel.h

74 lines
2.0 KiB
C++

#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;
class StatusBar;
class PowerEntity;
class ProjectDiagramNameInput;
class BayManagerDlg;
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* getModelController() const {return _pModel;}
DiagramMode getMode(){return _mode;}
QJsonObject getDiagramInfo() const; //返回图元位置信息
void loadNodes(QJsonObject obj); //加载图元信息
void saveNodes(int pageId); //保存到数据库
DesignerScene* getScene() {return m_pGraphicsScene;}
DesignerView* getView() {return m_pGraphicsView;}
signals:
void panelDelete(const QString&);
protected:
void closeEvent(QCloseEvent *closeEvent);
public slots:
void onSignal_addGraphicsItem(modelStateInfo&);
void onSignal_Generate(); //由基模组态生成工程模组态
private:
Ui::drawingPanel *ui;
DesignerView* m_pGraphicsView;
DesignerScene* m_pGraphicsScene;
SelectorManager* m_pSelectorManager;
StatusBar* m_pStatusBar;
FixedPortsModel* _pModel;
DiagramMode _mode;
QString _name;
PowerEntity* _pEntity; //组态图拓扑对象
ProjectDiagramNameInput* m_pDiagramNameInputer;
};
#endif