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;
|
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;}
|
|
|
|
|
|
|
|
|
|
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);
|
2024-12-03 20:07:25 +08:00
|
|
|
public slots:
|
2025-03-28 18:08:21 +08:00
|
|
|
void onSignal_addGraphicsItem(modelStateInfo&);
|
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; //组态图拓扑对象
|
2024-12-03 20:07:25 +08:00
|
|
|
};
|
|
|
|
|
|
|
|
|
|
#endif
|