Added key down, up event binding
This commit is contained in:
parent
d23e0af3ca
commit
a926640f1a
|
|
@ -139,7 +139,7 @@ class HotKeyPanel(ScrolledPanel):
|
|||
self.parent.parent.updateMenu()
|
||||
|
||||
def onEdit(self, evt, key):
|
||||
base.le.ui.wxApp.Unbind(wx.EVT_CHAR)
|
||||
base.le.ui.bindKeyEvents(False)
|
||||
editUI = EditHotKeyDialog(self, -1, 'Edit Hot Key', key)
|
||||
editUI.ShowModal()
|
||||
editUI.Destroy()
|
||||
|
|
@ -148,7 +148,7 @@ class HotKeyPanel(ScrolledPanel):
|
|||
if sizer is not None:
|
||||
sizer.DeleteWindows()
|
||||
self.SetSizer(None)
|
||||
base.le.ui.wxApp.Bind(wx.EVT_CHAR, base.le.ui.onKeyEvent)
|
||||
base.le.ui.bindKeyEvents(True)
|
||||
self.updateUI()
|
||||
|
||||
class HotKeyUI(wx.Dialog):
|
||||
|
|
|
|||
|
|
@ -130,9 +130,19 @@ class LevelEditorUIBase(WxAppShell):
|
|||
if not kw.get('size'):
|
||||
kw['size'] = wx.Size(self.frameWidth, self.frameHeight)
|
||||
WxAppShell.__init__(self, *args, **kw)
|
||||
self.wxApp.Bind(wx.EVT_CHAR, self.onKeyEvent)
|
||||
self.bindKeyEvents(True)
|
||||
self.initialize()
|
||||
|
||||
def bindKeyEvents(self, toBind=True):
|
||||
if toBind:
|
||||
self.wxApp.Bind(wx.EVT_CHAR, self.onKeyEvent)
|
||||
self.wxApp.Bind(wx.EVT_KEY_DOWN, self.onKeyDownEvent)
|
||||
self.wxApp.Bind(wx.EVT_KEY_UP, self.onKeyUpEvent)
|
||||
else:
|
||||
self.wxApp.Unbind(wx.EVT_CHAR)
|
||||
self.wxApp.Unbind(wx.EVT_KEY_DOWN)
|
||||
self.wxApp.Unbind(wx.EVT_KEY_UP)
|
||||
|
||||
def createMenu(self):
|
||||
menuItem = self.menuFile.Insert(0, ID_NEW, self.MENU_TEXTS[ID_NEW][0])
|
||||
self.Bind(wx.EVT_MENU, self.onNew, menuItem)
|
||||
|
|
@ -264,8 +274,29 @@ class LevelEditorUIBase(WxAppShell):
|
|||
self.layerEditorUI = LayerEditorUI(self.rightBarDownPane0, self.editor)
|
||||
|
||||
self.showGridMenuItem.Check(True)
|
||||
|
||||
def onKeyDownEvent(self, evt):
|
||||
if evt.GetKeyCode() == wx.WXK_ALT:
|
||||
base.direct.fAlt = 1
|
||||
elif evt.GetKeyCode() == wx.WXK_CONTROL:
|
||||
base.direct.fControl = 1
|
||||
elif evt.GetKeyCode() == wx.WXK_SHIFT:
|
||||
base.direct.fShift = 1
|
||||
else:
|
||||
evt.Skip()
|
||||
|
||||
def onKeyUpEvent(self, evt):
|
||||
if evt.GetKeyCode() == wx.WXK_ALT:
|
||||
base.direct.fAlt = 0
|
||||
elif evt.GetKeyCode() == wx.WXK_CONTROL:
|
||||
base.direct.fControl = 0
|
||||
elif evt.GetKeyCode() == wx.WXK_SHIFT:
|
||||
base.direct.fShift = 0
|
||||
else:
|
||||
evt.Skip()
|
||||
|
||||
def onKeyEvent(self, evt):
|
||||
input = ''
|
||||
if evt.GetKeyCode() in range(97, 123): # for keys from a to z
|
||||
if evt.GetModifiers() == 4: # when shift is pressed while caps lock is on
|
||||
input = 'shift-%s'%chr(evt.GetKeyCode())
|
||||
|
|
@ -287,7 +318,7 @@ class LevelEditorUIBase(WxAppShell):
|
|||
input = 'shift-%s'%chr(evt.GetKeyCode())
|
||||
elif evt.GetModifiers() == 2:
|
||||
input = 'control-%s'%chr(evt.GetKeyCode())
|
||||
else:
|
||||
elif evt.GetKeyCode() < 256:
|
||||
input = chr(evt.GetKeyCode())
|
||||
if input in base.direct.hotKeyMap.keys():
|
||||
keyDesc = base.direct.hotKeyMap[input]
|
||||
|
|
|
|||
|
|
@ -200,11 +200,11 @@ class ObjectMgr:
|
|||
|
||||
def onEnterObjectPropUI(self, event):
|
||||
taskMgr.remove('_le_updateObjectUITask')
|
||||
self.editor.ui.wxApp.Unbind(wx.EVT_CHAR)
|
||||
self.editor.ui.bindKeyEvents(False)
|
||||
|
||||
def onLeaveObjectPropUI(self, event):
|
||||
self.spawnUpdateObjectUITask()
|
||||
self.editor.ui.wxApp.Bind(wx.EVT_CHAR, self.editor.ui.onKeyEvent)
|
||||
self.editor.ui.bindKeyEvents(True)
|
||||
|
||||
def spawnUpdateObjectUITask(self):
|
||||
if self.currNodePath is None:
|
||||
|
|
|
|||
Loading…
Reference in New Issue