From 695412a701938507d6b8894e61f035ed5eb8c1a7 Mon Sep 17 00:00:00 2001 From: Robin Dunn Date: Wed, 15 Apr 2015 09:53:40 -0700 Subject: [PATCH] KeyEvent.GetUnicodeKey should return an integer, not a str/unicode object. --- demo/KeyEvents.py | 11 ++++------- etg/event.py | 1 + unittests/test_event.py | 5 +++++ 3 files changed, 10 insertions(+), 7 deletions(-) diff --git a/demo/KeyEvents.py b/demo/KeyEvents.py index f476ec33..1eff0457 100644 --- a/demo/KeyEvents.py +++ b/demo/KeyEvents.py @@ -2,6 +2,7 @@ import wx import wx.lib.mixins.listctrl as listmix +from wx.lib.six import unichr #---------------------------------------------------------------------- @@ -273,9 +274,8 @@ class KeyLog(wx.ListCtrl, listmix.ListCtrlAutoWidthMixin): UniChr = '' if "unicode" in wx.PlatformInfo: - # UniChr = "\"" + unichr(evt.GetUnicodeKey()) + "\"" - UniChr = "\"" + unichr(keycode) + "\"" - + UniChr = "\"" + unichr(evt.GetUnicodeKey()) + "\"" + modifiers = "" for mod, ch in [(evt.ControlDown(), 'C'), (evt.AltDown(), 'A'), @@ -291,14 +291,11 @@ class KeyLog(wx.ListCtrl, listmix.ListCtrlAutoWidthMixin): self.SetItem(id, 1, keyname) self.SetItem(id, 2, str(keycode)) self.SetItem(id, 3, modifiers) - # self.SetItem(id, 4, str(evt.GetUnicodeKey())) - self.SetItem(id, 4, unicode(unichr(keycode))) + self.SetItem(id, 4, str(evt.GetUnicodeKey())) self.SetItem(id, 5, UniChr) self.SetItem(id, 6, str(evt.GetRawKeyCode())) self.SetItem(id, 7, str(evt.GetRawKeyFlags())) - #print(id, evType, keyname, str(keycode), modifiers, str(evt.GetRawKeyCode()), str(evt.GetRawKeyFlags())) - self.EnsureVisible(id) diff --git a/etg/event.py b/etg/event.py index a1e00821..4c895c5e 100644 --- a/etg/event.py +++ b/etg/event.py @@ -377,6 +377,7 @@ def run(): c = module.find('wxKeyEvent') c.find('GetPosition').findOverload('wxCoord').ignore() + c.find('GetUnicodeKey').type = 'int' c.addProperty('X GetX') c.addProperty('Y GetY') diff --git a/unittests/test_event.py b/unittests/test_event.py index ae5671f5..21c66b14 100644 --- a/unittests/test_event.py +++ b/unittests/test_event.py @@ -62,6 +62,11 @@ class Events(unittest.TestCase): def test_KeyEvent_ctor(self): evt = wx.KeyEvent() + def test_KeyEvent_GetUnicodeKey(self): + evt = wx.KeyEvent() + unikey = evt.GetUnicodeKey() + self.assertTrue(isinstance(key, int)) + def test_MaximizeEvent_ctor(self): evt = wx.MaximizeEvent()