Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit 4695b3c

Browse files
committed
refactored events, again
svn path=/trunk/matplotlib/; revision=842
1 parent 1370df7 commit 4695b3c

1 file changed

Lines changed: 30 additions & 23 deletions

File tree

lib/matplotlib/backends/backend_wx.py

Lines changed: 30 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)