changeset 493:ee883d390ff0

cleaned up tool reset / preservation on toolbar change so that it all happens in one place
author Adrianna Pińska <adrianna.pinska@gmail.com>
date Wed, 25 Nov 2009 22:26:31 +0000
parents e8430f93b23a
children efb5ce9d1a89
files gamelib/gameboard.py gamelib/toolbar.py
diffstat 2 files changed, 7 insertions(+), 12 deletions(-) [+]
line wrap: on
line diff
--- a/gamelib/gameboard.py	Wed Nov 25 22:15:29 2009 +0000
+++ b/gamelib/gameboard.py	Wed Nov 25 22:26:31 2009 +0000
@@ -154,6 +154,13 @@
         self.redraw_counters()
         td.repaint()
 
+        if new_toolbar.MOVE_SELECT_PERMITTED:
+            if self.selected_tool not in [constants.TOOL_SELECT_CHICKENS, constants.TOOL_PLACE_ANIMALS]:
+                self.set_selected_tool(None, None)
+        else:
+            self.set_selected_tool(None, None)
+            self.unselect_all()
+
     def redraw_counters(self):
         self.toolbar.update_egg_counter(self.eggs)
         if self.level.is_last_day(self.days):
--- a/gamelib/toolbar.py	Wed Nov 25 22:15:29 2009 +0000
+++ b/gamelib/toolbar.py	Wed Nov 25 22:26:31 2009 +0000
@@ -285,8 +285,6 @@
             self.toggle_move_on()
         elif self.gameboard.selected_tool == constants.TOOL_SELECT_CHICKENS:
             self.toggle_select_on()
-        else:
-            self.gameboard.set_selected_tool(None, None)
 
     def toggle_move_on(self):
         self._select_tool.group.value = self._move_tool.value
@@ -301,12 +299,10 @@
     def add_building_toolbar(self):
         self.gameboard.change_toolbar(BuildingToolBar(self.gameboard,
                 width=self.style.width))
-        self.gameboard.unselect_all()
 
     def add_sell_toolbar(self):
         self.gameboard.change_toolbar(SellToolBar(self.gameboard,
                 width=self.style.width))
-        self.gameboard.unselect_all()
 
     def add_wood_toolbar(self):
         self.gameboard.change_toolbar(WoodToolBar(self.gameboard,
@@ -329,7 +325,6 @@
         self.make_toolbar()
 
     def make_toolbar(self):
-        self.gameboard.set_selected_tool(None, None)
         for building_cls in buildings.BUILDINGS:
             self.add_tool_button(building_cls.NAME.title(), building_cls,
                     None, cursors.cursors.get('build', None))
@@ -350,8 +345,6 @@
         self.make_toolbar()
 
     def make_toolbar(self):
-        if self.gameboard.selected_tool not in [constants.TOOL_SELECT_CHICKENS, constants.TOOL_PLACE_ANIMALS]:
-            self.gameboard.set_selected_tool(None, None)
         for equipment_cls in equipment.EQUIPMENT:
             self.add_tool_button(equipment_cls.NAME.title(),
                     equipment_cls,
@@ -371,8 +364,6 @@
         self.make_toolbar()
 
     def make_toolbar(self):
-        self.gameboard.set_selected_tool(None, None)
-
         self.add_heading("Sell ...")
         self.add_tool_button("Chicken", constants.TOOL_SELL_CHICKEN,
                 self.gameboard.level.sell_price_chicken, cursors.cursors['sell'])
@@ -397,9 +388,6 @@
         self.make_toolbar()
 
     def make_toolbar(self):
-        if self.gameboard.selected_tool not in [constants.TOOL_SELECT_CHICKENS, constants.TOOL_PLACE_ANIMALS]:
-            self.gameboard.set_selected_tool(None, None)
-
         self.add_heading("Trade...")
         self.add_tool("Buy 5 planks (%s)" % self.gameboard.wood_buy_price, self.buy_wood)
         self.add_tool("Sell 5 planks (%s)" % self.gameboard.wood_sell_price, self.sell_wood)