summaryrefslogtreecommitdiffstats
path: root/EditManager.cpp
diff options
context:
space:
mode:
authorneoraider <devnull@localhost>2007-12-05 19:34:01 +0100
committerneoraider <devnull@localhost>2007-12-05 19:34:01 +0100
commit19690f030457dadf4976f7403c315b3bbb4a39b8 (patch)
tree29077314f77be6b4371b0fdeeb6bed142a126b7e /EditManager.cpp
parentd389dce3ef4f1342a2f91926a9dcd02b452c6045 (diff)
downloadzoomedit-19690f030457dadf4976f7403c315b3bbb4a39b8.tar
zoomedit-19690f030457dadf4976f7403c315b3bbb4a39b8.zip
zoomedit: Use toolbox for polygon adder.
Diffstat (limited to 'EditManager.cpp')
-rw-r--r--EditManager.cpp33
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) {