[Yt-svn] yt-commit r503 - trunk/yt/reason

mturk at wrangler.dreamhost.com mturk at wrangler.dreamhost.com
Thu May 29 09:29:00 PDT 2008


Author: mturk
Date: Thu May 29 09:28:58 2008
New Revision: 503
URL: http://yt.spacepope.org/changeset/503

Log:
 * Disabled velocities for cutting plane
 * Fixed #107 by calling explicit figure canvas updates only on the correct
page during a limits change.
 * Set the page selection code to work, so it adds and selects.  There's still
a paint even problem, but that's okay I guess.



Modified:
   trunk/yt/reason/App.py
   trunk/yt/reason/Notebook.py

Modified: trunk/yt/reason/App.py
==============================================================================
--- trunk/yt/reason/App.py	(original)
+++ trunk/yt/reason/App.py	Thu May 29 09:28:58 2008
@@ -280,6 +280,7 @@
         self.plot_panel.AddPlot(self.windows[-1], name, id)
         mylog.debug("Adding page with ID: %s", id)
         wx.SafeYield(onlyIfNeeded = True)
+        self.plot_panel.UpdateSubscriptions(page)
 
     def _add_phase(self, event=None, data_object = None):
         MyID = wx.NewId()
@@ -306,6 +307,7 @@
                           argdict = argdict, CreationID = MyID,
                           mw = self),
             "Phase Plot %s" % MyID, MyID)
+        self.plot_panel.UpdateSubscriptions()
 
     def __find_min(self, data_object, field):
         return data_object[field].min()

Modified: trunk/yt/reason/Notebook.py
==============================================================================
--- trunk/yt/reason/Notebook.py	(original)
+++ trunk/yt/reason/Notebook.py	Thu May 29 09:28:58 2008
@@ -92,6 +92,7 @@
             Publisher().subscribe(self.MessageLogger)
             for m, f in pairs:
                 ff = getattr(p,f)
+                if ff is None: continue
                 Publisher().subscribe(ff, ('viewchange',m))
         page.UpdateCanvas()
 
@@ -134,7 +135,9 @@
 
     def AddPlot(self, page, title, ID):
         self.nb.AddPage(page, title)
-        self.nb.SetSelection(self.nb.GetPageCount()+1)
+        wx.YieldIfNeeded()
+        self.nb.SetSelection(self.nb.GetPageCount()-1)
+        wx.YieldIfNeeded()
         # Now we subscribe to events with this ID
 
     def GetCurrentOutput(self):
@@ -162,6 +165,7 @@
     plot = None
     def __init__(self, parent, status_bar, mw=None, CreationID = -1):
         wx.Panel.__init__(self, parent)
+        self.Hide()
 
         self.CreationID = CreationID
         self.parent = parent
@@ -175,11 +179,13 @@
         self.SetupFigure()
         self.SetupMenu()
         self.DoLayout()
+        self.Show()
 
     def set_zlim(self, *args):
         zmin, zmax = Toolbars.ChooseLimits(self.plot)
-        self.ChangeLimits(zmin, zmax)
+        #self.ChangeLimits(zmin, zmax)
         Publisher().sendMessage(("viewchange","limits"),(zmin,zmax))
+        self.UpdateCanvas(only_fig=True)
 
     def redraw(self, *args):
         self.UpdateCanvas()
@@ -258,7 +264,7 @@
     def ChangeLimitsFromMessage(self, message):
         zmin, zmax = message.data
         self.ChangeLimits(zmin,zmax)
-        self.UpdateCanvas()
+        #self.UpdateCanvas()
 
     def ChangeFieldFromMessage(self, message):
         pass
@@ -359,8 +365,8 @@
         self.popupmenu.AppendSeparator()
         self.grid_boundaries = self.popupmenu.AppendCheckItem(-1, "Show Grid Boundaries")
         self.grid_boundaries.Check(False)
-        velocities = self.popupmenu.AppendCheckItem(-1, "Show Velocities")
-        velocities.Check(False)
+        self.velocities = self.popupmenu.AppendCheckItem(-1, "Show Velocities")
+        self.velocities.Check(False)
         self.popupmenu.AppendSeparator()
         self.take_log_menu = self.popupmenu.AppendCheckItem(-1, "Take Log")
         self.take_log_menu.Check(self.plot.log_field)
@@ -370,7 +376,7 @@
         self.Bind(wx.EVT_MENU, self.OnCenterOnMax, self.center_on_max)
         self.Bind(wx.EVT_MENU, self.OnCenterHere, self.center_here)
         self.Bind(wx.EVT_MENU, self.show_grid_boundaries, self.grid_boundaries)
-        self.Bind(wx.EVT_MENU, self.show_velocities, velocities)
+        self.Bind(wx.EVT_MENU, self.show_velocities, self.velocities)
         self.Bind(wx.EVT_MENU, self.take_log, self.take_log_menu)
         self.Bind(wx.EVT_MENU, self.fulldomain, fullDomain)
         self.Bind(wx.EVT_MENU, self.set_bulk_velocity, bulk_velocity)
@@ -656,6 +662,7 @@
         Publisher().sendMessage(('viewchange','field'), field)
 
     def UpdateCanvas(self, only_fig=False):
+        print self, self.axis, self.IsShown()
         if self.IsShown():
             if not only_fig: self.plot._redraw_image()
             self.figure_canvas.draw()
@@ -709,6 +716,7 @@
         self.center_on_max.Enable(False)
         self.center_here.Enable(False)
         self.grid_boundaries.Enable(False)
+        self.velocities.Enable(False)
 
 class PhasePlotPage(PlotPage):
     def __init__(self, parent, status_bar, data_object, argdict, mw=None, CreationID = -1):



More information about the yt-svn mailing list