diff options
author | neoraider <devnull@localhost> | 2007-12-05 19:34:01 +0100 |
---|---|---|
committer | neoraider <devnull@localhost> | 2007-12-05 19:34:01 +0100 |
commit | 19690f030457dadf4976f7403c315b3bbb4a39b8 (patch) | |
tree | 29077314f77be6b4371b0fdeeb6bed142a126b7e /EditManager.cpp | |
parent | d389dce3ef4f1342a2f91926a9dcd02b452c6045 (diff) | |
download | zoomedit-19690f030457dadf4976f7403c315b3bbb4a39b8.tar zoomedit-19690f030457dadf4976f7403c315b3bbb4a39b8.zip |
zoomedit: Use toolbox for polygon adder.
Diffstat (limited to 'EditManager.cpp')
-rw-r--r-- | EditManager.cpp | 33 |
1 files changed, 20 insertions, 13 deletions
diff --git a/EditManager.cpp b/EditManager.cpp index 5822ffc..37fbcfd 100644 --- a/EditManager.cpp +++ b/EditManager.cpp @@ -41,23 +41,30 @@ EditManager::EditManager(Window *window) { } void EditManager::addRoom() { - newRoom = Room(idManager.generate("room")); - mode = ADD; - - activeRoom = &newRoom; - - window->update(); + if(mode == VIEW) { + newRoom = Room(idManager.generate("room")); + mode = ADD; + + activeRoom = &newRoom; + + window->update(); + } } void EditManager::finishRoom() { - mode = VIEW; - - if(newRoom.size() > 2 && polygonOk(newRoom)) { - window->getLevel().push_back(newRoom); - activeRoom = &window->getLevel().back(); + if(mode == ADD) { + mode = VIEW; + + if(newRoom.size() > 2 && polygonOk(newRoom)) { + window->getLevel().push_back(newRoom); + activeRoom = &window->getLevel().back(); + } + else { + activeRoom = NULL; + } + + window->update(); } - - window->update(); } void EditManager::addVertex(const Vertex &v) { |