+ def save_file (self, file):
+ # try to save the file
+ try:
+ cPickle.dump (self.puzzle, open (file, "wb"), cPickle.HIGHEST_PROTOCOL)
+ except (IOError, OSError, cPickle.PicklingError):
+ dlg = gtk.MessageDialog (self.window, gtk.DIALOG_MODAL,
+ gtk.MESSAGE_ERROR, gtk.BUTTONS_CLOSE,
+ "Error in saving puzzle")
+ dlg.run ()
+ dlg.destroy ()
+
+ # open a file