SourceForge logo
SourceForge logo
Menu

matplotlib-checkins

Revision: 3534
 http://matplotlib.svn.sourceforge.net/matplotlib/?rev=3534&view=rev
Author: pkienzle
Date: 2007年07月15日 19:16:22 -0700 (2007年7月15日)
Log Message:
-----------
Don't release mouse unless it is captured
Modified Paths:
--------------
 trunk/matplotlib/lib/matplotlib/backends/backend_wx.py
Modified: trunk/matplotlib/lib/matplotlib/backends/backend_wx.py
===================================================================
--- trunk/matplotlib/lib/matplotlib/backends/backend_wx.py	2007年07月16日 00:40:38 UTC (rev 3533)
+++ trunk/matplotlib/lib/matplotlib/backends/backend_wx.py	2007年07月16日 02:16:22 UTC (rev 3534)
@@ -1177,7 +1177,7 @@
 x = evt.GetX()
 y = self.figure.bbox.height() - evt.GetY()
 evt.Skip()
- self.ReleaseMouse()
+ if self.HasCapture(): self.ReleaseMouse()
 FigureCanvasBase.button_release_event(self, x, y, 3, guiEvent=evt)
 
 def _onLeftButtonDown(self, evt):
@@ -1194,7 +1194,7 @@
 y = self.figure.bbox.height() - evt.GetY()
 #print 'release button', 1
 evt.Skip()
- self.ReleaseMouse()
+ if self.HasCapture(): self.ReleaseMouse()
 FigureCanvasBase.button_release_event(self, x, y, 1, guiEvent=evt)
 
 def _onMouseWheel(self, evt):
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
Revision: 4287
 http://matplotlib.svn.sourceforge.net/matplotlib/?rev=4287&view=rev
Author: mdboom
Date: 2007年11月14日 11:06:52 -0800 (2007年11月14日)
Log Message:
-----------
Fix placement of rotated text in Wx backend (thanks Michael Day).
Modified Paths:
--------------
 trunk/matplotlib/lib/matplotlib/backends/backend_wx.py
Modified: trunk/matplotlib/lib/matplotlib/backends/backend_wx.py
===================================================================
--- trunk/matplotlib/lib/matplotlib/backends/backend_wx.py	2007年11月14日 18:44:39 UTC (rev 4286)
+++ trunk/matplotlib/lib/matplotlib/backends/backend_wx.py	2007年11月14日 19:06:52 UTC (rev 4287)
@@ -381,7 +381,12 @@
 y = int(y-h)
 
 if angle!=0:
- try: gc.DrawRotatedText(s, x, y, angle)
+ # Correct for the fact that text if rotated around the upper-left corner,
+ # rather than the lower-left corner as we expect.
+ rads = angle / 180.0 * math.pi
+ xo = h * math.sin(rads)
+ yo = h * math.cos(rads)
+ try: gc.DrawRotatedText(s, x - xo, y - yo, angle)
 except:
 verbose.print_error(exception_to_str('WX rotated text failed'))
 else:
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
Revision: 4943
 http://matplotlib.svn.sourceforge.net/matplotlib/?rev=4943&view=rev
Author: pkienzle
Date: 2008年02月05日 15:17:34 -0800 (2008年2月05日)
Log Message:
-----------
Move flush_events to canvas as in other backends; remove Yield loop on gui_repaint; fix showfig callback in FigureManager
Modified Paths:
--------------
 trunk/matplotlib/lib/matplotlib/backends/backend_wx.py
Modified: trunk/matplotlib/lib/matplotlib/backends/backend_wx.py
===================================================================
--- trunk/matplotlib/lib/matplotlib/backends/backend_wx.py	2008年02月05日 21:52:04 UTC (rev 4942)
+++ trunk/matplotlib/lib/matplotlib/backends/backend_wx.py	2008年02月05日 23:17:34 UTC (rev 4943)
@@ -889,6 +889,9 @@
 if repaint:
 self.gui_repaint()
 
+ def flush_events(self):
+ wx.Yield()
+ 
 def _get_imagesave_wildcards(self):
 'return the wildcard string for the filesave dialog'
 default_filetype = self.get_default_filetype()
@@ -921,7 +924,7 @@
 drawDC.BeginDrawing()
 drawDC.DrawBitmap(self.bitmap, 0, 0)
 drawDC.EndDrawing()
- wx.GetApp().Yield()
+ #wx.GetApp().Yield()
 
 filetypes = FigureCanvasBase.filetypes.copy()
 filetypes['bmp'] = 'Windows bitmap'
@@ -1301,9 +1304,6 @@
 wxapp.Yield()
 return True
 
- def flush_events(self):
- wx.Yield()
-
 class FigureManagerWx(FigureManagerBase):
 """
 This class contains the FigureCanvas and GUI frame
@@ -1332,9 +1332,9 @@
 self.canvas.figure.add_axobserver(notify_axes_change)
 
 def showfig(*args):
- figwin.frame.Show()
- figwin.canvas.realize()
- figwin.canvas.draw()
+ frame.Show()
+ canvas.realize()
+ canvas.draw()
 
 # attach a show method to the figure
 self.canvas.figure.show = showfig
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
Revision: 5067
 http://matplotlib.svn.sourceforge.net/matplotlib/?rev=5067&view=rev
Author: mdboom
Date: 2008年04月24日 05:20:23 -0700 (2008年4月24日)
Log Message:
-----------
Fix clipping bug in Wx backend.
Modified Paths:
--------------
 trunk/matplotlib/lib/matplotlib/backends/backend_wx.py
Modified: trunk/matplotlib/lib/matplotlib/backends/backend_wx.py
===================================================================
--- trunk/matplotlib/lib/matplotlib/backends/backend_wx.py	2008年04月23日 17:44:15 UTC (rev 5066)
+++ trunk/matplotlib/lib/matplotlib/backends/backend_wx.py	2008年04月24日 12:20:23 UTC (rev 5067)
@@ -283,13 +283,14 @@
 if new_bounds is not None:
 new_bounds = new_bounds.bounds
 gfx_ctx = gc.gfx_ctx
- if gfx_ctx._lastcliprect != new_bounds:
+ if True or gfx_ctx._lastcliprect != new_bounds:
 gfx_ctx._lastcliprect = new_bounds
 if new_bounds is None:
 gfx_ctx.ResetClip()
 else:
- gfx_ctx.Clip(*new_bounds)
- 
+ gfx_ctx.Clip(new_bounds[0], self.height - new_bounds[1] - new_bounds[3],
+ new_bounds[1], new_bounds[3])
+
 #@staticmethod
 def convert_path(gfx_ctx, tpath):
 wxpath = gfx_ctx.CreatePath()
@@ -306,7 +307,7 @@
 wxpath.CloseSubpath()
 return wxpath
 convert_path = staticmethod(convert_path)
- 
+
 def draw_path(self, gc, path, transform, rgbFace=None):
 gc.select()
 self.handle_clip_rectangle(gc)
@@ -331,7 +332,7 @@
 gc.select()
 self.handle_clip_rectangle(gc)
 gfx_ctx = gc.gfx_ctx
- 
+
 font = self.get_wx_font(s, prop)
 color = gc.get_wxcolour(gc.get_rgb())
 gfx_ctx.SetFont(font, color)
@@ -347,7 +348,7 @@
 xo = h * math.sin(rads)
 yo = h * math.cos(rads)
 gfx_ctx.DrawRotatedText(s, x - xo, y - yo, rads)
- 
+
 gc.unselect()
 
 def new_gc(self):
@@ -423,7 +424,7 @@
 wxGraphicsContext that draws to it. Creating a wxGraphicsContext
 seems to be fairly heavy, so these objects are cached based on the
 bitmap object that is passed in.
- 
+
 The base GraphicsContext stores colors as a RGB tuple on the unit
 interval, eg, (0.5, 0.0, 1.0). wxPython uses an int interval, but
 since wxPython colour management is rather simple, I have not chosen
@@ -442,7 +443,7 @@
 'dashdot': wx.DOT_DASH,
 'dotted': wx.DOT }
 _cache = weakref.WeakKeyDictionary()
- 
+
 def __init__(self, bitmap, renderer):
 GraphicsContextBase.__init__(self)
 #assert self.Ok(), "wxMemoryDC not OK to use"
@@ -455,7 +456,7 @@
 gfx_ctx = wx.GraphicsContext.Create(dc)
 gfx_ctx._lastcliprect = None
 self._cache[bitmap] = dc, gfx_ctx
- 
+
 self.bitmap = bitmap
 self.dc = dc
 self.gfx_ctx = gfx_ctx
@@ -463,7 +464,7 @@
 gfx_ctx.SetPen(self._pen)
 self._style = wx.SOLID
 self.renderer = renderer
- 
+
 def select(self):
 """
 Select the current bitmap into this wxDC instance
@@ -720,7 +721,7 @@
 self.macros = {} # dict from wx id to seq of macros
 
 self.Printer_Init()
- 
+
 def Destroy(self, *args, **kwargs):
 wx.Panel.Destroy(self, *args, **kwargs)
 
@@ -877,7 +878,7 @@
 
 def draw_idle(self, *args, **kwargs):
 pass
- 
+
 def draw(self, repaint=True):
 """
 Render the figure using RendererWx instance renderer, or using a
@@ -891,7 +892,7 @@
 
 def flush_events(self):
 wx.Yield()
- 
+
 def _get_imagesave_wildcards(self):
 'return the wildcard string for the filesave dialog'
 default_filetype = self.get_default_filetype()
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
Revision: 5256
 http://matplotlib.svn.sourceforge.net/matplotlib/?rev=5256&view=rev
Author: jdh2358
Date: 2008年05月24日 18:30:32 -0700 (2008年5月24日)
Log Message:
-----------
added tonys wx loan icon patch
Modified Paths:
--------------
 trunk/matplotlib/lib/matplotlib/backends/backend_wx.py
Modified: trunk/matplotlib/lib/matplotlib/backends/backend_wx.py
===================================================================
--- trunk/matplotlib/lib/matplotlib/backends/backend_wx.py	2008年05月24日 21:05:14 UTC (rev 5255)
+++ trunk/matplotlib/lib/matplotlib/backends/backend_wx.py	2008年05月25日 01:30:32 UTC (rev 5256)
@@ -1383,9 +1383,6 @@
 matplotlib library is installed. The filename parameter should not
 contain any path information as this is determined automatically.
 
- Bitmaps should be in XPM format, and of size 16x16 (unless you change
- the code!). I have converted the stock GTK2 16x16 icons to XPM format.
-
 Returns a wx.Bitmap object
 """
 
@@ -1395,27 +1392,9 @@
 if not os.path.exists(bmpFilename):
 raise IOError('Could not find bitmap file "%s"; dying'%bmpFilename)
 
- bmp =wx.Bitmap(bmpFilename, wx.BITMAP_TYPE_XPM)
+ bmp = wx.Bitmap(bmpFilename)
 return bmp
 
-def _load_pngicon(filename):
- """
- Load a png icon file from the backends/images subdirectory in which the
- matplotlib library is installed. The filename parameter should not
- contain any path information as this is determined automatically.
-
- Returns a wx.Bitmap object
- """
-
- basedir = os.path.join(rcParams['datapath'],'images')
-
- pngFilename = os.path.normpath(os.path.join(basedir, filename))
- if not os.path.exists(pngFilename):
- raise IOError('Could not find bitmap file "%s"; dying'%pngFilename)
-
- png =wx.Bitmap(pngFilename, wx.BITMAP_TYPE_PNG)
- return png
-
 class MenuButtonWx(wx.Button):
 """
 wxPython does not permit a menu to be incorporated directly into a toolbar.
@@ -1576,24 +1555,24 @@
 
 self.SetToolBitmapSize(wx.Size(24,24))
 
- self.AddSimpleTool(_NTB2_HOME, _load_pngicon('home.png'),
+ self.AddSimpleTool(_NTB2_HOME, _load_bitmap('home.png'),
 'Home', 'Reset original view')
- self.AddSimpleTool(self._NTB2_BACK, _load_pngicon('back.png'),
+ self.AddSimpleTool(self._NTB2_BACK, _load_bitmap('back.png'),
 'Back', 'Back navigation view')
- self.AddSimpleTool(self._NTB2_FORWARD, _load_pngicon('forward.png'),
+ self.AddSimpleTool(self._NTB2_FORWARD, _load_bitmap('forward.png'),
 'Forward', 'Forward navigation view')
 # todo: get new bitmap
- self.AddCheckTool(self._NTB2_PAN, _load_pngicon('move.png'),
+ self.AddCheckTool(self._NTB2_PAN, _load_bitmap('move.png'),
 shortHelp='Pan',
 longHelp='Pan with left, zoom with right')
- self.AddCheckTool(self._NTB2_ZOOM, _load_pngicon('zoom_to_rect.png'),
+ self.AddCheckTool(self._NTB2_ZOOM, _load_bitmap('zoom_to_rect.png'),
 shortHelp='Zoom', longHelp='Zoom to rectangle')
 
 self.AddSeparator()
- self.AddSimpleTool(_NTB2_SUBPLOT, _load_pngicon('subplots.png'),
+ self.AddSimpleTool(_NTB2_SUBPLOT, _load_bitmap('subplots.png'),
 'Configure subplots', 'Configure subplot parameters')
 
- self.AddSimpleTool(_NTB2_SAVE, _load_pngicon('filesave.png'),
+ self.AddSimpleTool(_NTB2_SAVE, _load_bitmap('filesave.png'),
 'Save', 'Save plot contents to file')
 
 if wx.VERSION_STRING >= '2.5':
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
Revision: 5459
 http://matplotlib.svn.sourceforge.net/matplotlib/?rev=5459&view=rev
Author: jdh2358
Date: 2008年06月10日 07:29:43 -0700 (2008年6月10日)
Log Message:
-----------
implemented a warning for the wx sizer func if we cant find a match
Modified Paths:
--------------
 trunk/matplotlib/lib/matplotlib/backends/backend_wx.py
Modified: trunk/matplotlib/lib/matplotlib/backends/backend_wx.py
===================================================================
--- trunk/matplotlib/lib/matplotlib/backends/backend_wx.py	2008年06月10日 14:25:49 UTC (rev 5458)
+++ trunk/matplotlib/lib/matplotlib/backends/backend_wx.py	2008年06月10日 14:29:43 UTC (rev 5459)
@@ -94,7 +94,7 @@
 
 cvs_id = '$Id$'
 
-import sys, os, os.path, math, StringIO, weakref
+import sys, os, os.path, math, StringIO, weakref, warnings
 
 # Debugging settings here...
 # Debug level set here. If the debug level is less than 5, information
@@ -1235,7 +1235,9 @@
 self.SetStatusBar(statbar)
 self.canvas = self.get_canvas(fig)
 
- def do_nothing(*args, **kwargs): pass
+ def do_nothing(*args, **kwargs):
+ warnings.warn('could not find a SetSizeFunc for backend_wx; please report your wxpython version=%s to the matplotlib developers list'%backend_version)
+ pass
 
 # try to find the set size func across wx versions
 self.SetSizeFunc = getattr(self.canvas, 'SetInitialSize',
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
Revision: 5494
 http://matplotlib.svn.sourceforge.net/matplotlib/?rev=5494&view=rev
Author: jdh2358
Date: 2008年06月12日 12:48:23 -0700 (2008年6月12日)
Log Message:
-----------
applied stand setinitialsize fix
Modified Paths:
--------------
 trunk/matplotlib/lib/matplotlib/backends/backend_wx.py
Modified: trunk/matplotlib/lib/matplotlib/backends/backend_wx.py
===================================================================
--- trunk/matplotlib/lib/matplotlib/backends/backend_wx.py	2008年06月12日 19:35:41 UTC (rev 5493)
+++ trunk/matplotlib/lib/matplotlib/backends/backend_wx.py	2008年06月12日 19:48:23 UTC (rev 5494)
@@ -678,6 +678,17 @@
 h = int(math.ceil(h))
 
 wx.Panel.__init__(self, parent, id, size=wx.Size(w, h))
+
+ def do_nothing(*args, **kwargs):
+ warnings.warn('could not find a setinitialsize function for backend_wx; please report your wxpython version=%s to the matplotlib developers list'%backend_version)
+ pass
+
+ # try to find the set size func across wx versions
+ try:
+ getattr(self, 'SetInitialSize')
+ except AttributeError:
+ self.SetInitialSize = getattr(self, 'SetBestFittingSize', do_nothing)
+
 # Create the drawing bitmap
 self.bitmap =wx.EmptyBitmap(w, h)
 DEBUG_MSG("__init__() - bitmap w:%d h:%d" % (w,h), 2, self)
@@ -1234,15 +1245,7 @@
 statbar = StatusBarWx(self)
 self.SetStatusBar(statbar)
 self.canvas = self.get_canvas(fig)
-
- def do_nothing(*args, **kwargs):
- warnings.warn('could not find a SetSizeFunc for backend_wx; please report your wxpython version=%s to the matplotlib developers list'%backend_version)
- pass
-
- # try to find the set size func across wx versions
- self.SetSizeFunc = getattr(self.canvas, 'SetInitialSize',
- getattr(self.canvas, 'SetBestFittingSize', do_nothing))
- self.SetSizeFunc(wx.Size(fig.bbox.width, fig.bbox.height))
+ self.canvas.SetInitialSize(wx.Size(fig.bbox.width, fig.bbox.height))
 self.sizer =wx.BoxSizer(wx.VERTICAL)
 self.sizer.Add(self.canvas, 1, wx.TOP | wx.LEFT | wx.EXPAND)
 # By adding toolbar in sizer, we are able to put it at the bottom
@@ -1363,7 +1366,7 @@
 
 def resize(self, width, height):
 'Set the canvas size in pixels'
- self.canvas.SetSizeFunc(wx.Size(width, height))
+ self.canvas.SetInitialSize(wx.Size(width, height))
 self.window.GetSizer().Fit(self.window)
 
 # Identifiers for toolbar controls - images_wx contains bitmaps for the images
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
Revision: 5587
 http://matplotlib.svn.sourceforge.net/matplotlib/?rev=5587&view=rev
Author: mdboom
Date: 2008年06月18日 10:20:40 -0700 (2008年6月18日)
Log Message:
-----------
Fix wx backend clipping bug.
Modified Paths:
--------------
 trunk/matplotlib/lib/matplotlib/backends/backend_wx.py
Modified: trunk/matplotlib/lib/matplotlib/backends/backend_wx.py
===================================================================
--- trunk/matplotlib/lib/matplotlib/backends/backend_wx.py	2008年06月17日 21:01:29 UTC (rev 5586)
+++ trunk/matplotlib/lib/matplotlib/backends/backend_wx.py	2008年06月18日 17:20:40 UTC (rev 5587)
@@ -283,13 +283,13 @@
 if new_bounds is not None:
 new_bounds = new_bounds.bounds
 gfx_ctx = gc.gfx_ctx
- if True or gfx_ctx._lastcliprect != new_bounds:
+ if gfx_ctx._lastcliprect != new_bounds:
 gfx_ctx._lastcliprect = new_bounds
 if new_bounds is None:
 gfx_ctx.ResetClip()
 else:
 gfx_ctx.Clip(new_bounds[0], self.height - new_bounds[1] - new_bounds[3],
- new_bounds[1], new_bounds[3])
+ new_bounds[2], new_bounds[3])
 
 #@staticmethod
 def convert_path(gfx_ctx, tpath):
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
Want the latest updates on software, tech news, and AI?
Get latest updates about software, tech news, and AI from SourceForge directly in your inbox once a month.
Thanks for helping keep SourceForge clean.
X





Briefly describe the problem (required):
Upload screenshot of ad (required):
Select a file, or drag & drop file here.
Screenshot instructions:

Click URL instructions:
Right-click on the ad, choose "Copy Link", then paste here →
(This may not be possible with some types of ads)

More information about our ad policies

Ad destination/click URL:

AltStyle によって変換されたページ (->オリジナル) /