def ActiveModuleChanged(self):
self.LoadDemoSource(self.demoModules.GetSource())
self.UpdateControlState()
+ self.ReloadDemo()
def LoadDemoSource(self, source):
busy = wx.BusyInfo("Reloading demo module...")
self.demoModules.SetActive(modSelected)
self.ActiveModuleChanged()
- self.ReloadDemo()
def ReloadDemo(self):
if self.demoModules.name != __name__:
- self.mainFrame.RunModule(False)
+ self.mainFrame.RunModule()
def OnCodeModified(self, event):
busy = wx.BusyInfo("Reloading demo module...")
self.demoModules.LoadFromFile(modModified, modifiedFilename)
self.ActiveModuleChanged()
- self.ReloadDemo()
def OnRestore(self, event): # Handles the "Delete Modified" button
os.unlink(modifiedFilename) # Delete the modified copy
busy = wx.BusyInfo("Reloading demo module...")
self.ActiveModuleChanged()
- self.ReloadDemo()
#---------------------------------------------------------------------------
# load modified module (if one exists)
if DoesModifiedExist(name):
self.LoadFromFile(modModified, GetModifiedFilename(name))
- if (modDefault == modModified):
- self.SetActive(modModified)
def LoadFromFile(self, modID, filename):
self.curOverview = ""
self.demoPage = None
self.codePage = None
- self.useModified = False
self.shell = None
+ self.firstTime = True
icon = images.getMondrianIcon()
self.SetIcon(icon)
if os.path.exists(GetOriginalFilename(demoName)):
wx.LogMessage("Loading demo %s.py..." % demoName)
self.demoModules = DemoModules(demoName)
- self.RunModule(True)
+ self.LoadDemoSource()
self.tree.Refresh()
else:
self.SetOverview("wxPython", mainOverview)
self.codePage.LoadDemo(self.demoModules)
#---------------------------------------------
- def RunModule(self, loadSource):
+ def RunModule(self):
"""Runs the active module"""
module = self.demoModules.GetActive()
# There was a previous error in compiling or exec-ing
self.demoPage = DemoErrorPanel(self.nb, self.codePage,
self.demoModules.GetErrorInfo(), self)
-
- if loadSource:
- self.LoadDemoSource()
+
self.SetOverview(self.demoModules.name + " Overview", overviewText)
- self.UpdateNotebook()
+
+ if self.firstTime:
+ # cahnge to the demo page the first time a module is run
+ self.UpdateNotebook(2)
+ self.firstTime = False
+ else:
+ # otherwise just stay on the same tab in case the user has changed to another one
+ self.UpdateNotebook()
#---------------------------------------------
def ShutdownDemoModule(self):