@@ -772,6 +772,11 @@ def do_nothing(*args, **kwargs):
772
772
bind (self , wx .EVT_LEAVE_WINDOW , self ._onLeave )
773
773
bind (self , wx .EVT_ENTER_WINDOW , self ._onEnter )
774
774
bind (self , wx .EVT_IDLE , self ._onIdle )
775
+ #Add middle button events
776
+ bind (self , wx .EVT_MIDDLE_DOWN , self ._onMiddleButtonDown )
777
+ bind (self , wx .EVT_MIDDLE_DCLICK , self ._onMiddleButtonDown )
778
+ bind (self , wx .EVT_MIDDLE_UP , self ._onMiddleButtonUp )
779
+
775
780
self .SetBackgroundStyle (wx .BG_STYLE_CUSTOM )
776
781
777
782
self .macros = {} # dict from wx id to seq of macros
@@ -1183,6 +1188,7 @@ def _onSize(self, evt):
1183
1188
# so no need to do anything here except to make sure
1184
1189
# the whole background is repainted.
1185
1190
self .Refresh (eraseBackground = False )
1191
+ FigureCanvasBase .resize_event (self )
1186
1192
1187
1193
def _get_key (self , evt ):
1188
1194
@@ -1251,6 +1257,24 @@ def _onLeftButtonUp(self, evt):
1251
1257
if self .HasCapture (): self .ReleaseMouse ()
1252
1258
FigureCanvasBase .button_release_event (self , x , y , 1 , guiEvent = evt )
1253
1259
1260
+ #Add middle button events
1261
+ def _onMiddleButtonDown (self , evt ):
1262
+ """Start measuring on an axis."""
1263
+ x = evt .GetX ()
1264
+ y = self .figure .bbox .height - evt .GetY ()
1265
+ evt .Skip ()
1266
+ self .CaptureMouse ()
1267
+ FigureCanvasBase .button_press_event (self , x , y , 2 , guiEvent = evt )
1268
+
1269
+ def _onMiddleButtonUp (self , evt ):
1270
+ """End measuring on an axis."""
1271
+ x = evt .GetX ()
1272
+ y = self .figure .bbox .height - evt .GetY ()
1273
+ #print 'release button', 1
1274
+ evt .Skip ()
1275
+ if self .HasCapture (): self .ReleaseMouse ()
1276
+ FigureCanvasBase .button_release_event (self , x , y , 2 , guiEvent = evt )
1277
+
1254
1278
def _onMouseWheel (self , evt ):
1255
1279
"""Translate mouse wheel events into matplotlib events"""
1256
1280
0 commit comments