GridFrame/include/designerScene.h

43 lines
1.1 KiB
C
Raw Normal View History

2025-12-18 15:10:13 +08:00
#ifndef DESIGNER_SCENE_H
#define DESIGNER_SCENE_H
#include <QGraphicsScene>
2026-01-05 17:29:59 +08:00
#include "graphicsItem/graphicsBaseItem.h"
2025-12-18 15:10:13 +08:00
class GraphicsItemGroup;
class DesignerScene : public QGraphicsScene
{
Q_OBJECT
public:
explicit DesignerScene(QObject *parent = 0);
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:
2026-01-05 17:29:59 +08:00
void signalAddItem(GraphicsBaseItem*);
2025-12-18 15:10:13 +08:00
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;
private:
bool m_bGridVisible;
QGraphicsView* m_pView;
};
#endif