commit-gnue
[Top][All Lists]
Advanced

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

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


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

Author: btami
Date: 2005-09-27 00:44:08 -0500 (Tue, 27 Sep 2005)
New Revision: 8002

Modified:
   trunk/gnue-forms/src/uidrivers/win32/widgets/_base.py
Log:
dropdown fix

Modified: trunk/gnue-forms/src/uidrivers/win32/widgets/_base.py
===================================================================
--- trunk/gnue-forms/src/uidrivers/win32/widgets/_base.py       2005-09-27 
04:12:41 UTC (rev 8001)
+++ trunk/gnue-forms/src/uidrivers/win32/widgets/_base.py       2005-09-27 
05:44:08 UTC (rev 8002)
@@ -98,7 +98,15 @@
 
   # edit control part of the combo box eventhandler
   def _wndproc1(self, hwnd, msg, wParam, lParam):
-    if msg == win32con.WM_KEYDOWN:
+    if msg == win32con.WM_LBUTTONDOWN:
+      gfObject = self._uiDriver._IdToGFObj[self._id]
+      uiObject = self._uiDriver._IdToUIObj[self._id]
+
+      uiObject._eventHandler('requestFOCUS',gfObject,_form=gfObject._form)
+      count = uiObject.widgets.index(self)
+      uiObject._eventHandler('requestJUMPRECORD',count - 
gfObject._visibleIndex,_form=gfObject._form)
+
+    elif msg == win32con.WM_KEYDOWN:
       keycode = wParam
       self._AutoComplete = True
       
@@ -128,7 +136,7 @@
 
   # main eventhandler
   def _wndproc(self, hwnd, msg, wParam, lParam):
-    if msg == win32con.WM_LBUTTONDOWN:
+    if msg == win32con.WM_LBUTTONDOWN:
       gfObject = self._uiDriver._IdToGFObj[self._id]
       uiObject = self._uiDriver._IdToUIObj[self._id]
 
@@ -291,20 +299,24 @@
           
           if win32gui.SendMessage(hwnd, win32con.CB_SELECTSTRING, -1, text) == 
win32con.CB_ERR:
             win32gui.SetWindowText(self._editHwnd, text)
-  
+
+          selection = self.GetValue()
+          if selection >= 0:
+            string = gfObject._field.allowedValues()[1][selection]
+            uiObject._eventHandler('requestREPLACEVALUE',object=gfObject,
+                              index=selection, text=string,
+                            _form=gfObject._form)
+
           if end < length:
             win32gui.SendMessage(self._editHwnd, win32con.EM_SETSEL, start, 
end)
           else:
             win32gui.SendMessage(self._editHwnd, win32con.EM_SETSEL, length, 
-1)
 
-          selection = self.GetValue()
-          string = gfObject._field.allowedValues()[1][selection]
-        
         # selection from listbox part of dropdown with mouse or arrows
         elif win32api.HIWORD(wParam) == win32con.CBN_SELCHANGE:
           selection = self.GetValue()
-          string = gfObject._field.allowedValues()[1][selection]
           if selection >= 0:
+            string = gfObject._field.allowedValues()[1][selection]
             uiObject._eventHandler('requestREPLACEVALUE',object=gfObject,
                               index=selection, text=string,
                             _form=gfObject._form)





reply via email to

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