def saveController(self, event = None): """Save the currently selected controller""" controller = self._getSelectedController() if controller is None : return saveNumber = self._saveNumber if PyUtils.sameObject( self._lastSave[0], controller ) : if self._lastSave[2] is not None : saveNumber = self._lastSave[2] controllerName = controller.getName() dialogTitle = "Save %s Controller" % controllerName fileName = "%s_%d.py" % (controllerName, saveNumber) dialog = wx.FileDialog(self, dialogTitle, self._dirName, fileName, "*.py", wx.SAVE | wx.OVERWRITE_PROMPT ) dialog.CenterOnScreen() if dialog.ShowModal() == wx.ID_OK: if saveNumber != self._saveNumber: self._lastSave = (None, None, None) else: self._lastSave = (controller, self._saveNumber, None) self._saveNumber += 1 fileName=dialog.GetFilename() self._dirName=dialog.GetDirectory() pathName = os.path.join(self._dirName,fileName) file = open(pathName,'w') file.write( "from App.Proxys import *\n\ndata = %s" % PyUtils.fancify( PyUtils.serialize(controller)) ) file.close() dialog.Destroy()