DiagramDesigner/diagramCavas/include/baseDrawingPanel.h

74 lines
2.3 KiB
C++

#ifndef BASEDRAWINGPANEL_H
#define BASEDRAWINGPANEL_H
/****************工程模和运行时panel的基类*****************/
#include <QWidget>
#include <QHBoxLayout>
#include <QSplitter>
#include "global.h"
#include "designerScene.h"
class DesignerView;
class DesignerScene;
class SelectorManager;
class GraphicsItemGroup;
class StatusBar;
class PowerEntity;
class ProjectDiagramNameInput;
class BayManagerDlg;
class BaseDrawingPanel : public QWidget
{
Q_OBJECT
public:
BaseDrawingPanel(PowerEntity* pEntity,QWidget *parent = nullptr,DiagramMode mode = DM_edit);
~BaseDrawingPanel();
QGraphicsScene* getQGraphicsScene();
DesignerScene* getDesignerScene();
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;}
virtual void loadNodes(QJsonObject obj) {}; //加载图元信息
virtual void saveNodes(int pageId) {}; //保存到数据库
virtual QJsonObject getDiagramInfo() {return QJsonObject();}
DesignerScene* getScene() {return m_pGraphicsScene;}
DesignerView* getView() {return m_pGraphicsView;}
void setGeneratePanelLst(QStringList lst){_lstGeneratePanel = lst;}
QStringList& getGeneratePanelLst(){return _lstGeneratePanel;}
void setGenerateByPanel(QString s) {_sGenerateByPanel = s;}
QString getGenerateByPanel() {return _sGenerateByPanel;}
PowerEntity* getEntity() {return _pEntity;}
signals:
void panelDelete(const QString&,int);
protected:
virtual void closeEvent(QCloseEvent *closeEvent) {};
protected:
DesignerView* m_pGraphicsView;
DesignerScene* m_pGraphicsScene;
SelectorManager* m_pSelectorManager;
StatusBar* m_pStatusBar;
FixedPortsModel* _pModel;
DiagramMode _mode;
QString _name;
PowerEntity* _pEntity; //组态图拓扑对象
QVBoxLayout* _verticalLayout;
QHBoxLayout* _horizontalLayout;
QSplitter* _hSplitter;
QStringList _lstGeneratePanel; //生成的panel列表
QString _sGenerateByPanel; //被哪个panel生成
};
#endif