@@ -692,9 +692,7 @@ def __init__(self, parent, id, figure):
692692 w = int (math .ceil (w ))
693693 h = int (math .ceil (h ))
694694
695- self ._key = None
696- self ._button = None
697- self ._lastx , self ._lasty = None , None
695+ self ._lastkey = None
698696
699697 wxPanel .__init__ (self , parent , id , size = wxSize (w , h ))
700698 # Create the drawing bitmap
@@ -1039,9 +1037,7 @@ def _onSize(self, evt):
10391037 self .draw ()
10401038 evt .Skip ()
10411039
1042-
1043- def _onKeyDown (self , evt ):
1044- """Capture key press."""
1040+ def _get_key (self , evt ):
10451041
10461042 keyval = evt .m_keyCode
10471043 if self .keyvald .has_key (keyval ):
@@ -1050,49 +1046,62 @@ def _onKeyDown(self, evt):
10501046 key = chr (keyval )
10511047 else :
10521048 key = None
1049+
1050+ # why is wx upcasing this?
1051+ if key is not None : key = key .lower ()
10531052
1054- if key : self ._key = key .lower ()
1055- else : self ._key = key
1056- FigureCanvasBase .key_press_event (self , self ._key , self ._lastx , self ._lasty )
1053+ return key
1054+
1055+ def _onKeyDown (self , evt ):
1056+ """Capture key press."""
1057+ key = self ._get_key (evt )
1058+ self ._lastkey = key
10571059 evt .Skip ()
1060+ FigureCanvasBase .key_press_event (self , key )
1061+
10581062
10591063 def _onKeyUp (self , evt ):
10601064 """Release key."""
1061- FigureCanvasBase .key_release_event (self , self ._key , self ._lastx , self ._lasty )
1062- self ._key = None
1065+ print 'release key' , self ._lastkey
10631066 evt .Skip ()
1067+ FigureCanvasBase .key_release_event (self , self ._lastkey )
10641068
1069+
10651070 def _onRightButtonDown (self , evt ):
10661071 """Start measuring on an axis."""
10671072 x = evt .GetX ()
10681073 y = self .figure .bbox .height () - evt .GetY ()
1069- FigureCanvasBase .button_press_event (self , x , y , 3 , self ._key )
10701074 evt .Skip ()
1071- self ._button = 3
1075+ FigureCanvasBase .button_press_event (self , x , y , 3 )
1076+
1077+
10721078 def _onRightButtonUp (self , evt ):
10731079 """End measuring on an axis."""
10741080 x = evt .GetX ()
10751081 y = self .figure .bbox .height () - evt .GetY ()
1076- FigureCanvasBase .button_release_event (self , x , y , 3 , self ._key )
10771082 evt .Skip ()
1078- self ._button = None
1083+ FigureCanvasBase .button_release_event (self , x , y , 3 )
1084+
1085+
10791086
10801087
10811088 def _onLeftButtonDown (self , evt ):
10821089 """Start measuring on an axis."""
10831090 x = evt .GetX ()
10841091 y = self .figure .bbox .height () - evt .GetY ()
1085- FigureCanvasBase .button_press_event (self , x , y , 1 , self ._key )
10861092 evt .Skip ()
1087- self ._button = 1
1093+ FigureCanvasBase .button_press_event (self , x , y , 1 )
1094+
10881095
10891096 def _onLeftButtonUp (self , evt ):
10901097 """End measuring on an axis."""
10911098 x = evt .GetX ()
10921099 y = self .figure .bbox .height () - evt .GetY ()
1093- FigureCanvasBase . button_release_event ( self , x , y , 1 , self . _key )
1100+ print 'release button' , 1
10941101 evt .Skip ()
1095- self ._button = None
1102+ FigureCanvasBase .button_release_event (self , x , y , 1 )
1103+
1104+
10961105
10971106 def _onMouseWheel (self , evt ):
10981107 # TODO: implement mouse wheel handler
@@ -1103,11 +1112,9 @@ def _onMotion(self, evt):
11031112
11041113 x = evt .GetX ()
11051114 y = self .figure .bbox .height () - evt .GetY ()
1106- #print 'motion', x, y
11071115 evt .Skip ()
1108- FigureCanvasBase .motion_notify_event (self , x , y , self ._button , self ._key )
1109- self ._lastx , self ._lasty = x , y
1110-
1116+ FigureCanvasBase .motion_notify_event (self , x , y )
1117+
11111118
11121119########################################################################
11131120#
0 commit comments