[gnome-games/applygsoc2009: 58/76] XXX: Have bi-directional communication



commit a8040ef981e956473255cc437d1f8917382b8635
Author: Pablo Castellano <pablog src gnome org>
Date:   Wed Sep 1 04:52:48 2010 +0200

    XXX: Have bi-directional communication

 gnome-sudoku/src/lib/model.py  |    4 +++-
 gnome-sudoku/src/lib/sudoku.py |    2 +-
 gnome-sudoku/src/lib/view.py   |    5 ++++-
 3 files changed, 8 insertions(+), 3 deletions(-)
---
diff --git a/gnome-sudoku/src/lib/model.py b/gnome-sudoku/src/lib/model.py
index 3573f88..ecd27d6 100644
--- a/gnome-sudoku/src/lib/model.py
+++ b/gnome-sudoku/src/lib/model.py
@@ -202,7 +202,9 @@ class SudokuModel:
 
     def _setup_virgin_grid(self, virgin):
         """both grid and initial_grid should be str"""
-        self._virgin_grid = [int(c) for c in virgin.split()]
+        virgin = virgin.replace(" ", "")
+        assert len(virgin) == self.group_size ** 2
+        self._virgin_grid = [int(c) for c in virgin]
         self.grid = sudoku.InteractiveSudoku(virgin, self.group_size)
 
     def _setup_initial_grid(self, initial_grid):
diff --git a/gnome-sudoku/src/lib/sudoku.py b/gnome-sudoku/src/lib/sudoku.py
index ba57831..18cf0c2 100644
--- a/gnome-sudoku/src/lib/sudoku.py
+++ b/gnome-sudoku/src/lib/sudoku.py
@@ -179,7 +179,7 @@ class SudokuGrid(object):
         self.col_coords = _calc_col_coords(group_size)
         if grid:
             if type(grid) == str:
-                g = re.split("\s+", grid)
+                g = grid.replace(" ", "")
                 side = int(math.sqrt(len(g)))
                 grid = []
                 for row in range(side):
diff --git a/gnome-sudoku/src/lib/view.py b/gnome-sudoku/src/lib/view.py
index 044a2ec..9a9057c 100644
--- a/gnome-sudoku/src/lib/view.py
+++ b/gnome-sudoku/src/lib/view.py
@@ -166,6 +166,9 @@ class SudokuNumberGrid (gtk.AspectFrame):
     def get_focus(self):
 	    return self.table.get_focus_child()
 
+    def set_value(self, x, y, value):
+        self.__entries__[(x, y)].set_value(value)
+
 
 class SudokuView (SudokuNumberGrid, gobject.GObject):
 
@@ -237,7 +240,7 @@ class SudokuView (SudokuNumberGrid, gobject.GObject):
             tid = self._tracker.get_tracker_by_coord(x, y)
             if tid is not None:
                 self._tracker.remove_from_tracker(tid, x, y)
-        self.__entries__[(x, y)].set_value(value)
+        SudokuNumberGrid.set_value(self, x, y, value)
 
     def _refresh_color(self, x, y, conflict, is_new_value):
         """Set the color according to several rules, conflict/tracker, etc



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]