[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[gnue] r9321 - in trunk/gnue-forms/src: input/displayHandlers uidrivers/
From: |
johannes |
Subject: |
[gnue] r9321 - in trunk/gnue-forms/src: input/displayHandlers uidrivers/wx26/widgets |
Date: |
Wed, 17 Jan 2007 07:57:55 -0600 (CST) |
Author: johannes
Date: 2007-01-17 07:57:54 -0600 (Wed, 17 Jan 2007)
New Revision: 9321
Modified:
trunk/gnue-forms/src/input/displayHandlers/Cursor.py
trunk/gnue-forms/src/uidrivers/wx26/widgets/entry.py
Log:
Prepared for autocompletion in displayHandler
Modified: trunk/gnue-forms/src/input/displayHandlers/Cursor.py
===================================================================
--- trunk/gnue-forms/src/input/displayHandlers/Cursor.py 2007-01-16
19:17:32 UTC (rev 9320)
+++ trunk/gnue-forms/src/input/displayHandlers/Cursor.py 2007-01-17
13:57:54 UTC (rev 9321)
@@ -308,10 +308,13 @@
ende = len(self.display)
if self._selection1 or self._selection2:
ende = min(self._selection1, self._selection2)
- if new_cursor == len(new_text) and len(new_text) > ende:
+
+ if new_text.startswith(self.display[:ende]) and len(new_text) > ende:
+ start_sel = len(new_text)
+ new_text = self._autocomplete_(new_text)
new_text = self.field.autocomplete(new_text)
- if len(new_text) > new_cursor:
- new_selection = (new_cursor, len(new_text))
+ if len(new_text) > start_sel:
+ new_selection = (start_sel, len(new_text))
else:
new_selection = (None, None)
else:
@@ -329,7 +332,20 @@
if hasattr(self.field, 'fk_source'):
self.updateFieldValue()
+ # -------------------------------------------------------------------------
+ # Do autocompletion
+ # -------------------------------------------------------------------------
+ def _autocomplete_(self, new_value):
+ """
+ Descandants can override this method to introduce autocompletion. This
+ method get's called from __change_text() if the current cursor is at
+ the end of the display-string
+
+ @returns: the new (autocompleted) value to use
+ """
+ return new_value
+
# =========================================================================
# Cursor movement functions
# =========================================================================
Modified: trunk/gnue-forms/src/uidrivers/wx26/widgets/entry.py
===================================================================
--- trunk/gnue-forms/src/uidrivers/wx26/widgets/entry.py 2007-01-16
19:17:32 UTC (rev 9320)
+++ trunk/gnue-forms/src/uidrivers/wx26/widgets/entry.py 2007-01-17
13:57:54 UTC (rev 9321)
@@ -105,6 +105,7 @@
ctrl = wx.TextCtrl(parent, -1, size=csize, style=xFlags)
ctrl.Bind(wx.EVT_CHAR, self.__on_keypress)
ctrl.Bind(wx.EVT_TEXT, self.__on_text_changed)
+
ctrl.Bind(wx.EVT_SET_FOCUS, self.__on_set_focus)
return [self.__add_entry_label(parent), ctrl]
@@ -499,7 +500,10 @@
widget.SetMark(selection1, selection2)
elif hasattr(widget, 'SetSelection'):
- widget.SetSelection(selection1, selection2)
+ if 'wxGTK' in wx.PlatformInfo:
+ wx.CallAfter(widget.SetSelection, selection1, selection2)
+ else:
+ widget.SetSelection(selection1, selection2)
# -------------------------------------------------------------------------
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [gnue] r9321 - in trunk/gnue-forms/src: input/displayHandlers uidrivers/wx26/widgets,
johannes <=