X-Git-Url: https://harishankar.org/repos/?p=getaclue.git;a=blobdiff_plain;f=player_mainwindow.py;fp=player_mainwindow.py;h=8ee60a763326e6ca85f3def9f8e75b3d150748fe;hp=b384b542cd1aa51a01c4f39fc1b3bc9cc49b12bf;hb=50103f2c3cb70ee8fad1b13e1ab6864a57c36c29;hpb=d7084b7094c99003960b33d4bd4fb655248c6ab3 diff --git a/player_mainwindow.py b/player_mainwindow.py index b384b54..8ee60a7 100644 --- a/player_mainwindow.py +++ b/player_mainwindow.py @@ -33,6 +33,43 @@ class MainWindow: self.gtk_main_quit () + # callback for menu item clear grid activated event + def on_cleargrid_activate (self, menuitem): + if self.puzzle: + dlg = gtk.MessageDialog (self.window, gtk.DIALOG_MODAL, + gtk.MESSAGE_QUESTION, gtk.BUTTONS_YES_NO, + "Are you sure you wish to clear your entries?") + if dlg.run () == gtk.RESPONSE_YES: + # clear the guesses + self.puzzle.clear_guesses () + # redraw the grid + puzgrid = self.ui.get_object ("puzzlegrid") + puzgrid.queue_draw () + dlg.destroy() + + # callback for menu item verify board activated event + def on_verify_activate (self, menuitem): + if self.puzzle: + try: + ans = self.puzzle.is_solution_correct () + # if the solution is correct + if ans: + dlg = gtk.MessageDialog (self.window, gtk.DIALOG_MODAL, + gtk.MESSAGE_INFO, gtk.BUTTONS_CLOSE, + "Success! Your entries are correct.") + dlg.run () + else: + dlg = gtk.MessageDialog (self.window, gtk.DIALOG_MODAL, + gtk.MESSAGE_INFO, gtk.BUTTONS_CLOSE, + "Your solution has some errors. Fix them and try again") + dlg.run () + except crosswordpuzzle.IncompleteSolutionException: + dlg = gtk.MessageDialog (self.window, gtk.DIALOG_MODAL, + gtk.MESSAGE_ERROR, gtk.BUTTONS_CLOSE, + "You've not completed the board yet. Cannot verify") + dlg.run () + dlg.destroy () + # callback for menu item hide solution activated event def on_hidesolution_activate (self, menuitem): if self.puzzle: