Revision: 5395
          http://matplotlib.svn.sourceforge.net/matplotlib/?rev=5395&view=rev
Author:   jdh2358
Date:     2008-06-05 07:18:31 -0700 (Thu, 05 Jun 2008)

Log Message:
-----------
some fixes for classic toolbar

Modified Paths:
--------------
    trunk/matplotlib/examples/user_interfaces/embedding_in_gtk2.py
    trunk/matplotlib/lib/matplotlib/backends/backend_gtk.py
    trunk/matplotlib/lib/matplotlib/backends/backend_tkagg.py
    trunk/matplotlib/lib/matplotlib/ticker.py

Modified: trunk/matplotlib/examples/user_interfaces/embedding_in_gtk2.py
===================================================================
--- trunk/matplotlib/examples/user_interfaces/embedding_in_gtk2.py      
2008-06-05 13:45:27 UTC (rev 5394)
+++ trunk/matplotlib/examples/user_interfaces/embedding_in_gtk2.py      
2008-06-05 14:18:31 UTC (rev 5395)
@@ -14,8 +14,8 @@
 #from matplotlib.backends.backend_gtkcairo import FigureCanvasGTKCairo as 
FigureCanvas
 
 # or NavigationToolbar for classic
-from matplotlib.backends.backend_gtk import NavigationToolbar2GTK as 
NavigationToolbar
-#from matplotlib.backends.backend_gtkagg import NavigationToolbar2GTKAgg as 
NavigationToolbar
+#from matplotlib.backends.backend_gtk import NavigationToolbar2GTK as 
NavigationToolbar
+from matplotlib.backends.backend_gtkagg import NavigationToolbar2GTKAgg as 
NavigationToolbar
 
 
 win = gtk.Window()

Modified: trunk/matplotlib/lib/matplotlib/backends/backend_gtk.py
===================================================================
--- trunk/matplotlib/lib/matplotlib/backends/backend_gtk.py     2008-06-05 
13:45:27 UTC (rev 5394)
+++ trunk/matplotlib/lib/matplotlib/backends/backend_gtk.py     2008-06-05 
14:18:31 UTC (rev 5395)
@@ -353,12 +353,12 @@
             # for self.window(for pixmap) and has a side effect of altering
             # figure width,height (via configure-event?)
             gtk.DrawingArea.realize(self)
-        
+
         width, height = self.get_width_height()
         pixmap = gdk.Pixmap (self.window, width, height)
         self._renderer.set_pixmap (pixmap)
         self._render_figure(pixmap, width, height)
-        
+
         # jpg colors don't match the display very well, png colors match
         # better
         pixbuf = gdk.Pixbuf(gdk.COLORSPACE_RGB, 0, 8, width, height)
@@ -382,18 +382,18 @@
                 raise ValueError("Saving to a Python file-like object is only 
supported by PyGTK >= 2.8")
         else:
             raise ValueError("filename must be a path or a file-like object")
-            
+
     def get_default_filetype(self):
         return 'png'
 
     def flush_events(self):
-        gtk.gdk.threads_enter()        
+        gtk.gdk.threads_enter()
         while gtk.events_pending():
             gtk.main_iteration(True)
         gtk.gdk.flush()
         gtk.gdk.threads_leave()
-        
-            
+
+
 class FigureManagerGTK(FigureManagerBase):
     """
     Public attributes
@@ -410,7 +410,7 @@
 
         self.window = gtk.Window()
         self.window.set_title("Figure %d" % num)
-        
+
         self.vbox = gtk.VBox()
         self.window.add(self.vbox)
         self.vbox.show()
@@ -462,7 +462,7 @@
     def show(self):
         # show the figure window
         self.window.show()
-        
+
     def full_screen_toggle (self):
         self._full_screen_flag = not self._full_screen_flag
         if self._full_screen_flag:
@@ -742,8 +742,8 @@
             self.fileselect = FileChooserDialog(
                 title='Save the figure',
                 parent=self.win,
-                formats=self.canvas.get_supported_filetypes(),
-                default_type=self.canvas.get_default_filetype())
+                filetypes=self.canvas.get_supported_filetypes(),
+                default_filetype=self.canvas.get_default_filetype())
         else:
             self._create_toolitems_2_2()
             self.update = self._update_2_2
@@ -912,53 +912,32 @@
         self._ind = ind
         self._active = [ self._axes[i] for i in self._ind ]
 
-    def panx(self, button, arg):
-        """arg is either user callback data or a scroll event
-        """
-        try:
-            if arg.direction == gdk.SCROLL_UP: direction=1
-            else: direction=-1
-        except AttributeError:
-            direction = arg
+    def panx(self, button, direction):
+        'panx in direction'
 
         for a in self._active:
-            a.panx(direction)
+            a.xaxis.pan(direction)
         self.canvas.draw()
         return True
 
-    def pany(self, button, arg):
-        try:
-            if arg.direction == gdk.SCROLL_UP: direction=1
-            else: direction=-1
-        except AttributeError:
-            direction = arg
-
+    def pany(self, button, direction):
+        'pany in direction'
         for a in self._active:
-            a.pany(direction)
+            a.yaxis.pan(direction)
         self.canvas.draw()
         return True
 
-    def zoomx(self, button, arg):
-        try:
-            if arg.direction == gdk.SCROLL_UP: direction=1
-            else: direction=-1
-        except AttributeError:
-            direction = arg
-
+    def zoomx(self, button, direction):
+        'zoomx in direction'
         for a in self._active:
-            a.zoomx(direction)
+            a.xaxis.zoom(direction)
         self.canvas.draw()
         return True
 
-    def zoomy(self, button, arg):
-        try:
-            if arg.direction == gdk.SCROLL_UP: direction=1
-            else: direction=-1
-        except AttributeError:
-            direction = arg
-
+    def zoomy(self, button, direction):
+        'zoomy in direction'
         for a in self._active:
-            a.zoomy(direction)
+            a.yaxis.zoom(direction)
         self.canvas.draw()
         return True
 
@@ -1043,7 +1022,7 @@
                     break
                 filename = self.get_filename()
                 break
-                
+
             self.hide()
             return filename, self.ext
 else:
@@ -1075,8 +1054,8 @@
                 if ext.startswith('.'):
                     ext = ext[1:]
             return filename, ext
-        
 
+
 class DialogLineprops:
     """
     A GUI dialog for controlling lineprops

Modified: trunk/matplotlib/lib/matplotlib/backends/backend_tkagg.py
===================================================================
--- trunk/matplotlib/lib/matplotlib/backends/backend_tkagg.py   2008-06-05 
13:45:27 UTC (rev 5394)
+++ trunk/matplotlib/lib/matplotlib/backends/backend_tkagg.py   2008-06-05 
14:18:31 UTC (rev 5395)
@@ -487,46 +487,26 @@
         self._ind = ind
         self._active = [ self._axes[i] for i in self._ind ]
 
-    def panx(self, arg):
-        try: arg.direction
-        except AttributeError: direction = arg
-        else:
-            if arg.direction == Tk.SCROLL_UP: direction=1
-            else: direction=-1
+    def panx(self, direction):
         for a in self._active:
-            a.panx(direction)
+            a.xaxis.pan(direction)
         self.canvas.draw()
 
-    def pany(self, arg):
-        try: arg.direction
-        except AttributeError: direction = arg
-        else:
-            if arg.direction == Tk.SCROLL_UP: direction=1
-            else: direction=-1
+    def pany(self, direction):
         for a in self._active:
-            a.pany(direction)
+            a.yaxis.pan(direction)
         self.canvas.draw()
 
-    def zoomx(self, arg):
-        try: arg.direction
-        except AttributeError: direction = arg
-        else:
-            if arg.direction == Tk.SCROLL_UP: direction=1
-            else: direction=-1
+    def zoomx(self, direction):
 
         for a in self._active:
-            a.zoomx(direction)
+            a.xaxis.zoom(direction)
         self.canvas.draw()
 
-    def zoomy(self, arg):
-        try: arg.direction
-        except AttributeError: direction = arg
-        else:
-            if arg.direction == Tk.SCROLL_UP: direction=1
-            else: direction=-1
+    def zoomy(self, direction):
 
         for a in self._active:
-            a.zoomy(direction)
+            a.yaxis.zoom(direction)
         self.canvas.draw()
 
     def save_figure(self):
@@ -666,14 +646,14 @@
         # so we just have to put it first
         default_filetype_name = filetypes[default_filetype]
         del filetypes[default_filetype]
-        
+
         sorted_filetypes = filetypes.items()
         sorted_filetypes.sort()
         sorted_filetypes.insert(0, (default_filetype, default_filetype_name))
-        
+
         tk_filetypes = [
             (name, '*.%s' % ext) for (ext, name) in sorted_filetypes]
-        
+
         fname = asksaveasfilename(
             master=self.window,
             title='Save the figure',

Modified: trunk/matplotlib/lib/matplotlib/ticker.py
===================================================================
--- trunk/matplotlib/lib/matplotlib/ticker.py   2008-06-05 13:45:27 UTC (rev 
5394)
+++ trunk/matplotlib/lib/matplotlib/ticker.py   2008-06-05 14:18:31 UTC (rev 
5395)
@@ -639,17 +639,17 @@
         ticks = self()
         numticks = len(ticks)
 
+        vmin, vmax = self.axis.get_view_interval()
+        vmin, vmax = mtransforms.nonsingular(vmin, vmax, expander = 0.05)
         if numticks>2:
             step = numsteps*abs(ticks[0]-ticks[1])
         else:
-            vmin, vmax = self.axis.get_view_interval()
-            vmin, vmax = mtransforms.nonsingular(vmin, vmax, expander = 0.05)
             d = abs(vmax-vmin)
             step = numsteps*d/6.
 
         vmin += step
         vmax += step
-        self.axis.set_view_interval(vmin, vmax)
+        self.axis.set_view_interval(vmin, vmax, ignore=True)
 
 
     def zoom(self, direction):
@@ -658,12 +658,9 @@
         vmin, vmax = self.axis.get_view_interval()
         vmin, vmax = mtransforms.nonsingular(vmin, vmax, expander = 0.05)
         interval = abs(vmax-vmin)
-        interval = self.viewInterval.span()
         step = 0.1*interval*direction
+        self.axis.set_view_interval(vmin + step, vmax - step, ignore=True)
 
-
-        self.axis.set_view_interval(vmin + step, vmax - step)
-
     def refresh(self):
         'refresh internal information based on current lim'
         pass


This was sent by the SourceForge.net collaborative development platform, the 
world's largest Open Source development site.

-------------------------------------------------------------------------
Check out the new SourceForge.net Marketplace.
It's the best place to buy or sell services for
just about anything Open Source.
http://sourceforge.net/services/buy/index.php
_______________________________________________
Matplotlib-checkins mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/matplotlib-checkins

Reply via email to