DiagramDesigner/diagramCavas/include/designerScene.h

52 lines
1.5 KiB
C
Raw Normal View History

2024-12-03 20:07:25 +08:00
#ifndef DESIGNER_SCENE_H
#define DESIGNER_SCENE_H
#include <QGraphicsScene>
2025-02-06 16:36:50 +08:00
#include "baseScene.h"
#include "graphicsDataModel/fixedPortsModel.h"
2024-12-03 20:07:25 +08:00
class GraphicsItemGroup;
class DrawingPanel;
2025-02-06 16:36:50 +08:00
class DesignerScene : public BaseScene
2024-12-03 20:07:25 +08:00
{
Q_OBJECT
public:
2025-02-06 16:36:50 +08:00
DesignerScene(FixedPortsModel* graphModel,QObject *parent = 0);
2024-12-03 20:07:25 +08:00
virtual ~DesignerScene();
void setGridVisible(bool);
void setView(QGraphicsView* view) { m_pView = view; }
QGraphicsView* getView() { return m_pView; }
void callParentEvent(QGraphicsSceneMouseEvent*);
GraphicsItemGroup* createGroup();
void destroyGroup();
signals:
void signalAddItem(QGraphicsItem*);
protected:
void drawBackground(QPainter*, const QRectF&) override;
void mousePressEvent(QGraphicsSceneMouseEvent*) override;
void mouseMoveEvent(QGraphicsSceneMouseEvent*) override;
void mouseReleaseEvent(QGraphicsSceneMouseEvent*) override;
void mouseDoubleClickEvent(QGraphicsSceneMouseEvent*) override;
void keyPressEvent(QKeyEvent*) override;
void keyReleaseEvent(QKeyEvent*) override;
2025-02-06 16:36:50 +08:00
void contextMenuEvent(QGraphicsSceneContextMenuEvent *contextMenuEvent) override;
2025-05-09 19:36:32 +08:00
void dragEnterEvent(QGraphicsSceneDragDropEvent *event) override;
void dragMoveEvent(QGraphicsSceneDragDropEvent *event) override;
void dropEvent(QGraphicsSceneDragDropEvent *event) override;
2024-12-03 20:07:25 +08:00
private:
bool m_bGridVisible;
QGraphicsView* m_pView;
DrawingPanel* m_pDrawingPanel; //保存父指针
private:
2025-02-06 16:36:50 +08:00
FixedPortsModel* _graphModel;
2024-12-03 20:07:25 +08:00
};
#endif