def OnNew(self, evt): #self.SudokuGrid.Reset() import wxNewSudokuDialog dlg = wxNewSudokuDialog.NewSudokuDialog(self) dlg.ShowModal() if dlg.OkStatus: bkgrid = Sudoku.Grid(self.SudokuGrid._ModelGrid) bkgrid.copy_values_from(self.SudokuGrid._ModelGrid) type = dlg.type.GetValue() sbr = int(dlg.brows.GetValue()) sbc = int(dlg.bcols.GetValue()) c = sbr r = sbc if type == _("Samurai"): su = Sudoku.SamuraiSudoku(r, c, sbr, sbc) else: su = Sudoku.NormalSudoku(r, c, sbr, sbc) self.SetStatusText(_("Creating Sudoku, please wait....")) self.app.Yield() if su != bkgrid._type: self._addSudoku(su) else: self.SudokuGrid.Reset() emptygrid = Sudoku.Grid(su) if bkgrid != emptygrid: self._history_callback("t", bkgrid, emptygrid) self.SetStatusText("") dlg.Destroy()
def _initLayout(self): self.SetIcon( wx.Icon(self.app.config.get("global", "gui.icon"), wx.BITMAP_TYPE_ICO)) self._loadAccessKeys() self._loadHelpTips() self._bindEvents() self._addHistory() self._addStatusBar() self._addMenus() self._addSizer() self._addToolBar() self._addSudoku(Sudoku.NormalSudoku(3, 3, 3, 3)) self.Solver.setGrid(self.SudokuGrid._ModelGrid)
def __init__(self, appparent, parentpanel=None, type=None, *args, **kwargs): if parentpanel == None: parentpanel = appparent wx.Panel.__init__(self, parentpanel, *args, **kwargs) self.parent = appparent self.SetBackgroundColour((48, 7, 11)) self._ShowHints = False if type == None: type = Sudoku.NormalSudoku(3, 3, 3, 3) self._type = type self.sbr = type.sbr self.sbc = type.sbc self.r = type.r self.c = type.c self._initLayout() self._create_model() self._connect()