#pragma once #include #include #include #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; };