commit-gnue
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[gnue] r8003 - trunk/gnue-forms/src/uidrivers/win32/widgets


From: btami
Subject: [gnue] r8003 - trunk/gnue-forms/src/uidrivers/win32/widgets
Date: Wed, 28 Sep 2005 12:35:48 -0500 (CDT)

Author: btami
Date: 2005-09-27 03:51:53 -0500 (Tue, 27 Sep 2005)
New Revision: 8003

Modified:
   trunk/gnue-forms/src/uidrivers/win32/widgets/_base.py
Log:
let function keys work when focus is on dropdown

Modified: trunk/gnue-forms/src/uidrivers/win32/widgets/_base.py
===================================================================
--- trunk/gnue-forms/src/uidrivers/win32/widgets/_base.py       2005-09-27 
05:44:08 UTC (rev 8002)
+++ trunk/gnue-forms/src/uidrivers/win32/widgets/_base.py       2005-09-27 
08:51:53 UTC (rev 8003)
@@ -127,6 +127,10 @@
         win32gui.SendMessage(self._hwnd, WM_RETURN, 0, 0)
         return 0
         
+      elif keycode in F_KEYS:
+        win32gui.SendMessage(self._hwnd, msg, wParam, lParam)
+        return 0
+
     elif msg == win32con.WM_CHAR:
       keycode = wParam
       if keycode in (win32con.VK_TAB, win32con.VK_RETURN):
@@ -177,8 +181,12 @@
       gfObject = self._uiDriver._IdToGFObj[self._id]
       if (keycode in NOT_WM_CHAR_KEYS):
 
-        if gfObject._type == 'GFButton' or \
-          (gfObject._type == 'GFEntry' and gfObject.style != 'dropdown' and 
gfObject.style != 'listbox'):
+        if gfObject._type == 'GFEntry' and \
+           gfObject.style in ('dropdown', 'listbox') and \
+           keycode not in F_KEYS:
+          return win32gui.CallWindowProc(self._oldWndProc, hwnd, msg, wParam, 
lParam)
+
+        else:
           action = None
 
           ShiftDown = (win32api.GetKeyState(win32con.VK_SHIFT) & 0x8000) and 1 
or 0
@@ -202,8 +210,6 @@
 
           win32gui.SendMessage(hwnd, win32con.EM_SCROLLCARET, 0, 0)
 
-        else:
-          return win32gui.CallWindowProc(self._oldWndProc, hwnd, msg, wParam, 
lParam)
 
     elif msg == win32con.WM_CHAR:
       # The TranslateMessage function generates a WM_CHAR message 
@@ -757,18 +763,8 @@
     vk.ENTER  : win32con.VK_RETURN,    vk.BACKSPACE : win32con.VK_BACK }
 
 GFKeyMapper.KeyMapper.setUIKeyMap(win32KeyTranslations)
-
-NOT_WM_CHAR_KEYS =[
-  win32con.VK_HOME,
-  win32con.VK_END,
-  win32con.VK_UP,
-  win32con.VK_DOWN,
-  win32con.VK_RIGHT,
-  win32con.VK_LEFT,
-  win32con.VK_INSERT,
-  win32con.VK_DELETE,
-  win32con.VK_PRIOR,
-  win32con.VK_NEXT,
+
+F_KEYS = [
   win32con.VK_F1,
   win32con.VK_F2,
   win32con.VK_F3,
@@ -781,3 +777,15 @@
   win32con.VK_F10,
   win32con.VK_F11,
   win32con.VK_F12]
+
+NOT_WM_CHAR_KEYS =[
+  win32con.VK_HOME,
+  win32con.VK_END,
+  win32con.VK_UP,
+  win32con.VK_DOWN,
+  win32con.VK_RIGHT,
+  win32con.VK_LEFT,
+  win32con.VK_INSERT,
+  win32con.VK_DELETE,
+  win32con.VK_PRIOR,
+  win32con.VK_NEXT] + F_KEYS





reply via email to

[Prev in Thread] Current Thread [Next in Thread]