+ def draw_save_button(self):
+ save_label = Label(text='[color=ffffff][ref=save]Save[/ref][/color]',
+ markup=True, font_size=24, pos=(500, -100))
+ save_label.bind(on_ref_press=self.do_save)
+ self.add_widget(save_label)
+
+ def do_save(self, label, ref):
+ try:
+ self.level_obj.validate()
+ except RuntimeError as err:
+ popup = Popup(title='Error',
+ content=Label(text='Level not valid: %s' % err),
+ size_hint=(.5, .5))
+ popup.open()
+ return
+ save_data = self.level_obj.get_level_data()
+ savefile = file(filepath(self.level), 'w')
+ savefile.write(save_data)
+ savefile.write('\n')
+ savefile.close()
+ popup = Popup(title='Success',
+ content=Label(text='Level saved to %s' % self.level),
+ size_hint=(.5, .5))
+ popup.open()
+