From 745c0db530a209f289ce8d6173b914cc98b66c4a Mon Sep 17 00:00:00 2001 From: Sasha Date: Thu, 21 Nov 2019 18:10:56 -0800 Subject: [PATCH] Add keyboard shortcuts to character level editor --- gui/characterEditor.py | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/gui/characterEditor.py b/gui/characterEditor.py index 9af767acc..4e38cc5fa 100644 --- a/gui/characterEditor.py +++ b/gui/characterEditor.py @@ -428,6 +428,28 @@ class SkillTreeView(wx.Panel): # This cuases issues with GTK, see #1866 # self.Layout() + # For level keyboard shortcuts + self.ChangeLevelEvent, CHANGE_LEVEL_EVENT = wx.lib.newevent.NewEvent() + self.Bind(wx.EVT_CHAR_HOOK, self.kbEvent) + self.Bind(CHANGE_LEVEL_EVENT, self.changeLevel) + + def kbEvent(self, event): + selection = self.skillTreeListCtrl.GetSelection() + if not selection: + return + dataType, skillID = self.skillTreeListCtrl.GetItemData(selection) + if dataType != 'skill': + return + keyCode = event.GetKeyCode() + if 48 <= keyCode <= 53 or 324 <= keyCode <= 329: + if keyCode <= 53: + level = keyCode - 48 + else: + level = keyCode - 324 + event = self.ChangeLevelEvent() + event.SetId(self.idLevels[level]) + wx.PostEvent(self, event) + def importSkills(self, evt): with wx.MessageDialog(