Changed the order that the demo and code pages are created
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@28685 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
@@ -531,7 +531,6 @@ class DemoCodePanel(wx.Panel):
|
||||
def ActiveModuleChanged(self):
|
||||
self.LoadDemoSource(self.demoModules.GetSource())
|
||||
self.UpdateControlState()
|
||||
self.ReloadDemo()
|
||||
|
||||
|
||||
def LoadDemoSource(self, source):
|
||||
@@ -575,11 +574,12 @@ class DemoCodePanel(wx.Panel):
|
||||
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()
|
||||
self.mainFrame.RunModule(False)
|
||||
|
||||
|
||||
def OnCodeModified(self, event):
|
||||
@@ -625,6 +625,7 @@ class DemoCodePanel(wx.Panel):
|
||||
busy = wx.BusyInfo("Reloading demo module...")
|
||||
self.demoModules.LoadFromFile(modModified, modifiedFilename)
|
||||
self.ActiveModuleChanged()
|
||||
self.ReloadDemo()
|
||||
|
||||
|
||||
def OnRestore(self, event): # Handles the "Delete Modified" button
|
||||
@@ -633,6 +634,7 @@ class DemoCodePanel(wx.Panel):
|
||||
os.unlink(modifiedFilename) # Delete the modified copy
|
||||
busy = wx.BusyInfo("Reloading demo module...")
|
||||
self.ActiveModuleChanged()
|
||||
self.ReloadDemo()
|
||||
|
||||
|
||||
#---------------------------------------------------------------------------
|
||||
@@ -709,10 +711,13 @@ class DemoModules:
|
||||
|
||||
# load original module
|
||||
self.LoadFromFile(modOriginal, GetOriginalFilename(name))
|
||||
self.SetActive(modOriginal)
|
||||
|
||||
# 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):
|
||||
@@ -1258,7 +1263,7 @@ class wxPythonDemo(wx.Frame):
|
||||
if os.path.exists(GetOriginalFilename(demoName)):
|
||||
wx.LogMessage("Loading demo %s.py..." % demoName)
|
||||
self.demoModules = DemoModules(demoName)
|
||||
self.LoadDemoSource()
|
||||
self.RunModule(True)
|
||||
self.tree.Refresh()
|
||||
else:
|
||||
self.SetOverview("wxPython", mainOverview)
|
||||
@@ -1274,13 +1279,12 @@ class wxPythonDemo(wx.Frame):
|
||||
self.codePage.LoadDemo(self.demoModules)
|
||||
|
||||
#---------------------------------------------
|
||||
def RunModule(self):
|
||||
def RunModule(self, loadSource):
|
||||
"""Runs the active module"""
|
||||
|
||||
module = self.demoModules.GetActive()
|
||||
self.ShutdownDemoModule()
|
||||
overviewText = ""
|
||||
prevSelect = -1
|
||||
|
||||
# o If the demo returns a window it is placed in a tab.
|
||||
# o Otherwise, a placeholder tab is created, informing the user that the
|
||||
@@ -1292,23 +1296,22 @@ class wxPythonDemo(wx.Frame):
|
||||
if hasattr(module, "overview"):
|
||||
overviewText = module.overview
|
||||
|
||||
# in case runTest is modal, make sure things look right
|
||||
# before it starts...
|
||||
prevSelect = self.UpdateNotebook()
|
||||
wx.YieldIfNeeded()
|
||||
|
||||
try:
|
||||
self.demoPage = module.runTest(self, self.nb, self)
|
||||
if self.demoPage is None:
|
||||
self.demoPage = ReloadDemoPanel(self.nb, self.codePage, self)
|
||||
except:
|
||||
self.demoPage = DemoErrorPanel(self.nb, self.codePage, DemoError(sys.exc_info()), self)
|
||||
self.demoPage = DemoErrorPanel(self.nb, self.codePage,
|
||||
DemoError(sys.exc_info()), self)
|
||||
else:
|
||||
# There was a previous error in compiling or exec-ing
|
||||
self.demoPage = DemoErrorPanel(self.nb, self.codePage, self.demoModules.GetErrorInfo(), self)
|
||||
|
||||
self.demoPage = DemoErrorPanel(self.nb, self.codePage,
|
||||
self.demoModules.GetErrorInfo(), self)
|
||||
|
||||
if loadSource:
|
||||
self.LoadDemoSource()
|
||||
self.UpdateNotebook()
|
||||
self.SetOverview(self.demoModules.name + " Overview", overviewText)
|
||||
self.UpdateNotebook(prevSelect)
|
||||
|
||||
#---------------------------------------------
|
||||
def ShutdownDemoModule(self):
|
||||
@@ -1336,23 +1339,12 @@ class wxPythonDemo(wx.Frame):
|
||||
if page:
|
||||
if not pageExists:
|
||||
# Add a new page
|
||||
|
||||
# panel = wx.Panel(nb, -1)
|
||||
# page.Reparent(panel)
|
||||
# panel.page = page
|
||||
# nb.AddPage(panel, pageText)
|
||||
nb.AddPage(page, pageText)
|
||||
if debug: wx.LogMessage("DBG: ADDED %s" % pageText)
|
||||
else:
|
||||
# if nb.GetPage(pagePos).page != page:
|
||||
if nb.GetPage(pagePos) != page:
|
||||
# Reload an existing page
|
||||
nb.Freeze()
|
||||
|
||||
# panel = nb.GetPage(pagePos)
|
||||
# panel.page = page
|
||||
# page.Reparent(panel)
|
||||
|
||||
nb.DeletePage(pagePos)
|
||||
nb.InsertPage(pagePos, page, pageText)
|
||||
nb.Thaw()
|
||||
@@ -1376,8 +1368,6 @@ class wxPythonDemo(wx.Frame):
|
||||
if select >= 0 and select < nb.GetPageCount():
|
||||
nb.SetSelection(select)
|
||||
|
||||
return select
|
||||
|
||||
#---------------------------------------------
|
||||
def SetOverview(self, name, text):
|
||||
self.curOverview = text
|
||||
|
Reference in New Issue
Block a user