From b660b965bcb679e53cc89e7b8903190d2d162ff6 Mon Sep 17 00:00:00 2001 From: neoraider Date: Thu, 4 Oct 2007 23:38:05 +0000 Subject: zoomedit: Gro?e Teile der GUI in Klassen gekapselt. --- EditManager.cpp | 40 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) create mode 100644 EditManager.cpp (limited to 'EditManager.cpp') diff --git a/EditManager.cpp b/EditManager.cpp new file mode 100644 index 0000000..34d53be --- /dev/null +++ b/EditManager.cpp @@ -0,0 +1,40 @@ +#include "EditManager.h" +#include "Window.h" +#include "edit.h" + + +EditManager::EditManager(Window *window) { + this->window = window; + + mode = VIEW; +} + +void EditManager::addRoom() { + //newRoom = Room(); + mode = ADD; + + startAddMode(); + + window->update(); +} + +void EditManager::finishRoom() { + mode = VIEW; + + if(getActiveRoom() && getActiveRoom()->size() > 2 && isPolygonOk(getActiveRoom())) { + getLevel()->push_back(*getActiveRoom()); + setActiveRoom(&getLevel()->back()); + + endAddMode(); + } + + window->update(); +} + +void EditManager::addVertex(const Vertex &v) { + if(mode != ADD || !getActiveRoom()) + return; + + getActiveRoom()->push_back(v); + window->update(); +} -- cgit v1.2.3