#ifndef EDITMANAGER_H_ #define EDITMANAGER_H_ #include "Room.h" #include "IdManager.h" class Window; class EditManager { public: enum Mode { VIEW, ADD }; private: Mode mode; IdManager idManager; Window *window; Room newRoom; Room *activeRoom; Room *hoveredRoom; Vertex hoveredVertex; bool hasHoveredVertex; bool lineOk(const Line& l) const; public: EditManager(Window *window); void addRoom(); void finishRoom(); void addVertex(const Vertex &v); Mode getMode() const { return mode; } Room* getActiveRoom() { return activeRoom; } Room* getHoveredRoom() { return hoveredRoom; } Vertex* getHoveredVertex(); void setHoveredVertex(Vertex *v); void buttonPress(unsigned int button); bool vertexOk(const Vertex& v) const; bool polygonOk(const Polygon& polygon) const; }; #endif /*EDITMANAGER_H_*/