Author: btami Date: 2005-09-13 05:52:30 -0500 (Tue, 13 Sep 2005) New Revision: 7899
Modified: trunk/gnue-forms/src/uidrivers/win32/widgets/_base.py Log: fixed some cursor positioning issues Modified: trunk/gnue-forms/src/uidrivers/win32/widgets/_base.py =================================================================== --- trunk/gnue-forms/src/uidrivers/win32/widgets/_base.py 2005-09-12 14:31:40 UTC (rev 7898) +++ trunk/gnue-forms/src/uidrivers/win32/widgets/_base.py 2005-09-13 10:52:30 UTC (rev 7899) @@ -105,15 +105,9 @@ uiObject = self._uiDriver._IdToUIObj[self._id] if gfObject._type == 'GFEntry' and gfObject.style == 'default': - selection1, selection2 = self.getSelectedArea () - value = self.GetValue () - - left = selection1 - value [:selection1].count ('\r') - right = selection2 - value [:selection2].count ('\r') - + left, right = self.getSelectedArea () if left == right: uiObject._request ('CURSORMOVE', position = left) - else: uiObject._request ('SELECTWITHMOUSE', position1 = left, position2 = right) @@ -222,16 +216,17 @@ uiObject._eventHandler(action) if gfObject._type == 'GFEntry': - if gfObject.style == 'dropdown' or gfObject.style == 'listbox': + if gfObject.style == 'dropdown' or gfObject.style == 'listbox' or \ + command == 'NEWLINE': return win32gui.CallWindowProc(self._oldWndProc, hwnd, msg, wParam, lParam) elif msg == win32con.WM_COMMAND: - if win32api.HIWORD(wParam) == win32con.CBN_SELCHANGE: + if win32api.HIWORD(wParam) == win32con.CBN_SELCHANGE: gfObject = self._uiDriver._IdToGFObj[self._id] uiObject = self._uiDriver._IdToUIObj[self._id] if gfObject.style == 'dropdown': - selection = self.GetValue() - string = gfObject._field.allowedValues()[1][selection] + selection = self.GetValue() + string = gfObject._field.allowedValues()[1][selection] uiObject._eventHandler('requestREPLACEVALUE',object=gfObject, index=selection, text=string, _form=gfObject._form) @@ -404,16 +399,12 @@ value = gfObject.getValue () if isinstance (value, basestring): part = value [:position] - position = position + part.count ('\n') win32gui.SendMessage(self._hwnd, win32con.EM_SETSEL, position, position) def setSelectedArea(self, selection1, selection2): gfObject = self._uiDriver._IdToGFObj[self._id] if gfObject._type == 'GFEntry' and gfObject.style == 'default': value = gfObject.getValue () - if isinstance (value, basestring): - selection1 = selection1 + value [:selection1].count ('\n') - selection2 = selection2 + value [:selection2].count ('\n') win32gui.SendMessage(self._hwnd, win32con.EM_SETSEL, selection1, selection2) _______________________________________________ Commit-gnue mailing list Commit-gnue@gnu.org http://lists.gnu.org/mailman/listinfo/commit-gnue