changeset 36:5569430fd82e

Display cleanup and rationalisation.
author Jeremy Thurgood <firxen@gmail.com>
date Mon, 31 Aug 2009 12:55:00 +0000
parents 8f6c6a54a099
children 497b53b69280
files gamelib/gameboard.py
diffstat 1 files changed, 8 insertions(+), 38 deletions(-) [+]
line wrap: on
line diff
--- a/gamelib/gameboard.py	Mon Aug 31 12:40:05 2009 +0000
+++ b/gamelib/gameboard.py	Mon Aug 31 12:55:00 2009 +0000
@@ -5,6 +5,7 @@
 import data
 import tiles
 
+# FIXME: These should probably be proper events of some kind.
 SELL_CHICKEN = None
 SELL_EGG = None
 BUY_FENCE = 2
@@ -21,17 +22,10 @@
         self.add_tool_button("Buy henhouse", BUY_HENHOUSE)
 
     def add_tool_button(self, text, tool):
-        style = {
-            "padding_bottom": 15,
-        }
-        td_kwargs = {
-            "style": style,
-            "width": self.gameboard.TOOLBAR_WIDTH,
-        }
         button = gui.Button(text)
         button.connect(gui.CLICK, lambda: self.gameboard.set_selected_tool(tool))
         self.tr()
-        self.td(button, **td_kwargs)
+        self.add(button)
 
 
 class VidWidget(gui.Widget):
@@ -46,8 +40,7 @@
         self.vid.paint(surface)
 
     def update(self, surface):
-        offset = surface.get_offset()
-        return [r.move(offset) for r in self.vid.update(surface)]
+        return self.vid.update(surface)
 
     def resize(self, width=0, height=0):
         if width is not None:
@@ -61,15 +54,6 @@
             self.gameboard.use_tool(e)
 
 
-class DispTable(gui.Table):
-    def __init__(self, gameboard, **params):
-        gui.Table.__init__(self, **params)
-        self.gameboard = gameboard
-        self.tr()
-        self.td(self.gameboard.tools, width=self.gameboard.TOOLBAR_WIDTH)
-        self.td(self.gameboard.vidwidget)
-
-
 class GameBoard(object):
     TILE_DIMENSIONS = (20, 20)
     TOOLBAR_WIDTH = 140
@@ -86,29 +70,16 @@
 
     def create_disp(self):
         width, height = pygame.display.get_surface().get_size()
-        self.tools = ToolBar(self)
-        self.vidwidget = VidWidget(self, self.tv, width=width-self.TOOLBAR_WIDTH, height=height)
+        tbl = gui.Table()
+        tbl.tr()
+        tbl.td(ToolBar(self), width=self.TOOLBAR_WIDTH)
+        tbl.td(VidWidget(self, self.tv, width=width-self.TOOLBAR_WIDTH, height=height))
         self.disp = gui.App()
-        c = gui.Container(align=0, valign=0)
-        tbl = DispTable(self)
-        c.add(tbl, 0, 0)
-        self.disp.init(c)
-
-    def split_screen(self, screen):
-        leftbar_rect = screen.get_rect()
-        leftbar_rect.width = self.TOOLBAR_WIDTH
-        main_rect = screen.get_rect()
-        main_rect.width -= leftbar_rect.width
-        main_rect.left += leftbar_rect.width
-        return screen.subsurface(leftbar_rect), screen.subsurface(main_rect)
+        self.disp.init(tbl)
 
     def paint(self, screen):
         self.disp.paint(screen)
 
-    def update_subscreen(self, vid, subsurface):
-        offset = subsurface.get_offset()
-        return [r.move(offset) for r in vid.update(subsurface)]
-
     def update(self, screen):
         return self.disp.update(screen)
 
@@ -121,7 +92,6 @@
     def use_tool(self, e):
         if self.selected_tool is None:
             return
-#         pos = self.tv.screen_to_tile((e.pos[0] - self.TOOLBAR_WIDTH, e.pos[1]))
         pos = self.tv.screen_to_tile(e.pos)
         self.tv.set(pos, self.selected_tool)