[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[gnue] r8075 - trunk/gnue-forms/src/uidrivers/win32/widgets
From: |
btami |
Subject: |
[gnue] r8075 - trunk/gnue-forms/src/uidrivers/win32/widgets |
Date: |
Fri, 21 Oct 2005 16:07:59 -0500 (CDT) |
Author: btami
Date: 2005-10-21 16:07:59 -0500 (Fri, 21 Oct 2005)
New Revision: 8075
Modified:
trunk/gnue-forms/src/uidrivers/win32/widgets/_base.py
Log:
implemented up/down key handling in multiline edit
Modified: trunk/gnue-forms/src/uidrivers/win32/widgets/_base.py
===================================================================
--- trunk/gnue-forms/src/uidrivers/win32/widgets/_base.py 2005-10-20
13:16:03 UTC (rev 8074)
+++ trunk/gnue-forms/src/uidrivers/win32/widgets/_base.py 2005-10-21
21:07:59 UTC (rev 8075)
@@ -199,14 +199,32 @@
ControlDown,
AltDown)
- if command:
- action = events.Event('request%s' % command)
+ if command:
+ uiObject = self._uiDriver._IdToUIObj[self._id]
+ # handle up and down arrows in multiline edit
+ if gfObject._type == 'GFEntry' and \
+ hasattr(gfObject,'Char__height') and gfObject.Char__height > 1
and \
+ keycode in (win32con.VK_UP, win32con.VK_DOWN):
+
+ lines = win32gui.SendMessage(hwnd, win32con.EM_GETLINECOUNT, 0,
0)
+ line = win32gui.SendMessage(hwnd, win32con.EM_LINEFROMCHAR, -1,
0)
+
+ if line == 0 and keycode == win32con.VK_UP:
+ uiObject._request ('PREVENTRY')
+ elif line == lines-1 and keycode == win32con.VK_DOWN:
+ uiObject._request ('NEXTENTRY')
+ else:
+ win32gui.CallWindowProc(self._oldWndProc, hwnd, msg, wParam,
lParam)
+ pos = self.getSelectedArea ()[0]
+ uiObject._request ('CURSORMOVE', position = pos)
- # Add the object's _form to the outgoing event
- # rather than every event in the function
- action.__dict__.update({'_form':gfObject._form})
- uiObject = self._uiDriver._IdToUIObj[self._id]
- uiObject._eventHandler(action)
+ else:
+ action = events.Event('request%s' % command)
+
+ # Add the object's _form to the outgoing event
+ # rather than every event in the function
+ action.__dict__.update({'_form':gfObject._form})
+ uiObject._eventHandler(action)
win32gui.SendMessage(hwnd, win32con.EM_SCROLLCARET, 0, 0)
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [gnue] r8075 - trunk/gnue-forms/src/uidrivers/win32/widgets,
btami <=