bug with wx toolbar

Hello,

I just upgraded to the most recent version of matplotlib. I’m using wxagg backend for a wxapp. after upgrading my toolbar didn’t work anymore and I was getting an error in the method ‘zoomx’ in class NavigationToolbarWx in backend_wx.py. I noticed that zoomx, zoomy, panx, and pany all had the same error. the error is that the axes have no attribute zoomx, zoomy, panx, pany. some quick digging around fixed the problem. it appears this should be as shown below. this seems to work well now. please let me know if this is incorrect.Thanks!

def panx(self, direction):

DEBUG_MSG(“panx()”, 1, self)
for a in self._active:
a.xaxis.pan(direction)

self.canvas.draw()
self.canvas.Refresh(eraseBackground=False)

def pany(self, direction):
DEBUG_MSG(“pany()”, 1, self)
for a in self._active:
a.yaxis.pan(direction)
self.canvas.draw()
self.canvas.Refresh(eraseBackground=False)

def zoomx(self, in_out):
DEBUG_MSG(“zoomx()”, 1, self)
for a in self._active:
a.xaxis.zoom(in_out)
self.canvas.draw()

self.canvas.Refresh(eraseBackground=False)

def zoomy(self, in_out):
DEBUG_MSG(“zoomy()”, 1, self)
for a in self._active:
a.yaxis.zoom(in_out)
self.canvas.draw()
self.canvas.Refresh(eraseBackground=False)

Jeff

···

Be a better friend, newshound, and know-it-all with Yahoo! Mobile. Try it now.

Seems like a reasonable fix to me. I don't think the "classic" toolbars get as much testing as the new ones, which is probably how this fell through the cracks.

I have committed this in SVN r4991.

Cheers,
Mike

Jeff Peery wrote:

···

Hello,
I just upgraded to the most recent version of matplotlib. I'm using wxagg backend for a wxapp. after upgrading my toolbar didn't work anymore and I was getting an error in the method 'zoomx' in class NavigationToolbarWx in backend_wx.py. I noticed that zoomx, zoomy, panx, and pany all had the same error. the error is that the axes have no attribute zoomx, zoomy, panx, pany. some quick digging around fixed the problem. it appears this should be as shown below. this seems to work well now. please let me know if this is incorrect.Thanks!
     def panx(self, direction):
        DEBUG_MSG("panx()", 1, self)
        for a in self._active:
            a.xaxis.pan(direction)
        self.canvas.draw()
        self.canvas.Refresh(eraseBackground=False)
    def pany(self, direction):
        DEBUG_MSG("pany()", 1, self)
        for a in self._active:
            a.yaxis.pan(direction)
        self.canvas.draw()
        self.canvas.Refresh(eraseBackground=False)
    def zoomx(self, in_out):
        DEBUG_MSG("zoomx()", 1, self)
        for a in self._active:
            a.xaxis.zoom(in_out)
        self.canvas.draw()
        self.canvas.Refresh(eraseBackground=False)
    def zoomy(self, in_out):
        DEBUG_MSG("zoomy()", 1, self)
        for a in self._active:
            a.yaxis.zoom(in_out)
        self.canvas.draw()
        self.canvas.Refresh(eraseBackground=False)
Jeff

------------------------------------------------------------------------
Be a better friend, newshound, and know-it-all with Yahoo! Mobile. Try it now. <http://us.rd.yahoo.com/evt=51733/*http://mobile.yahoo.com/;_ylt=Ahu06i62sR8HDtDypao8Wcj9tAcJ >

------------------------------------------------------------------------

-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2008.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/

------------------------------------------------------------------------

_______________________________________________
Matplotlib-users mailing list
Matplotlib-users@lists.sourceforge.net
matplotlib-users List Signup and Options

--
Michael Droettboom
Science Software Branch
Operations and Engineering Division
Space Telescope Science Institute
Operated by AURA for NASA