DiagramDesigner/diagramCavas/include/baseScene.h

43 lines
709 B
C
Raw Normal View History

2025-02-06 16:36:50 +08:00
#pragma once
#include <QtCore/QUuid>
#include <QtWidgets/QGraphicsScene>
#include <QtWidgets/QMenu>
#include "graphicsDataModel/baseModel.h"
#include "global.h"
class QUndoStack;
class BaseModel;
/// An instance of QGraphicsScene, holds connections and nodes.
class BaseScene : public QGraphicsScene
{
Q_OBJECT
public:
BaseScene(BaseModel* graphModel, QObject *parent = nullptr);
// Scenes without models are not supported
BaseScene() = delete;
~BaseScene();
public:
/// @returns associated BaseModel.
BaseModel const *graphModel() const;
BaseModel *graphModel();
QUndoStack &undoStack();
private:
BaseModel* _graphModel;
QUndoStack *_undoStack;
};