dabodemo Commit Revision 276 Date: 2005-08-31 13:19:00 -0700 (Wed, 31 Aug 2005) Author: ed
Changed: U trunk/minesweeper.py
Log: The squares now stay square when you resize the board.
Diff: Modified: trunk/minesweeper.py =================================================================== --- trunk/minesweeper.py 2005-08-31 20:02:54 UTC (rev 275) +++ trunk/minesweeper.py 2005-08-31 20:19:00 UTC (rev 276) @@ -160,8 +160,33 @@ class Board(dabo.ui.dPanel): def initProperties(self): - self.BackColor = "green" + self.BackColor = "khaki" + self.needResize = False + def initEvents(self): + self.bindEvent(dEvents.Resize, self.onResize) + self.bindEvent(dEvents.Idle, self.onIdle) + + def onResize(self, evt): + self.needResize = True + + def onIdle(self, evt): + if not self.needResize: + return + self.needResize = False + rows, cols = self.BoardSize + wd, ht = self.Size + hgap = self.Sizer.hgap + vgap = self.Sizer.vgap + wd = wd - ((cols-1) * (hgap + _squareBorder)) + ht = ht - ((rows-1) * (vgap + _squareBorder)) + maxSqWd = wd / float(cols) + maxSqHt = ht / float(rows) + dim = min(maxSqWd, maxSqHt) + self.setAll("Size", (dim, dim), "__class__ is Square") + self.layout() + + def newGame(self): sw = StopWatch.StopWatch() sw.start() @@ -324,7 +349,7 @@ o.bindEvent(dabo.dEvents.MouseLeftClick, self.onHit) o.bindEvent(dabo.dEvents.ContextMenu, self.onContextMenu) o.bindEvent(StateChanged, self.onStateChanged) - sizer.append(o, "expand", row=row, col=col, border=_squareBorder) + sizer.append(o, row=row, col=col, border=_squareBorder) dabo.fastNameSet = False sw.stop() @@ -332,8 +357,8 @@ sw.reset() sw.start() - sizer.setRowExpand(True, "all") - sizer.setColExpand(True, "all") +# sizer.setRowExpand(True, "all") +# sizer.setColExpand(True, "all") self.Sizer = sizer self.layout()
©2005 Ed Leafe |