+ return True
+
+
+ # callback for main window destroy
+ def on_mainwindow_destroy (self, args):
+ gtk.main_quit ()
+
+
+ # callback for window closing dialog
+ def on_mainwindow_delete_event (self, window, event):
+ # verify whether really to quit or not if a puzzle is open
+ v = self.verify_quit ()
+ # return False for deleting and True for not deleting
+ return not v
+
+ # callback for menu item quit activated event
+ def on_quit_activate (self, menuitem):
+ # verify whether really to quit or not if a puzzle is open
+ v = self.verify_quit ()
+ # if verified, then quit
+ if v is True:
+ self.window.destroy ()
+
+ # 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()