KeyEvent.GetUnicodeKey should return an integer, not a str/unicode object.

This commit is contained in:
Robin Dunn
2015-04-15 09:53:40 -07:00
parent ee5547adc4
commit 695412a701
3 changed files with 10 additions and 7 deletions

View File

@@ -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)

View File

@@ -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')

View File

@@ -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()