[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
r6070 - in trunk/gnue-forms/src/uidrivers/gtk2: . widgets
From: |
johannes |
Subject: |
r6070 - in trunk/gnue-forms/src/uidrivers/gtk2: . widgets |
Date: |
Sat, 24 Jul 2004 10:52:36 -0500 (CDT) |
Author: johannes
Date: 2004-07-24 10:52:36 -0500 (Sat, 24 Jul 2004)
New Revision: 6070
Modified:
trunk/gnue-forms/src/uidrivers/gtk2/common.py
trunk/gnue-forms/src/uidrivers/gtk2/widgets/_base.py
trunk/gnue-forms/src/uidrivers/gtk2/widgets/entry.py
Log:
Fixed some selection-issues and cursor-movement of combo's
Modified: trunk/gnue-forms/src/uidrivers/gtk2/common.py
===================================================================
--- trunk/gnue-forms/src/uidrivers/gtk2/common.py 2004-07-24 14:40:00 UTC
(rev 6069)
+++ trunk/gnue-forms/src/uidrivers/gtk2/common.py 2004-07-24 15:52:36 UTC
(rev 6070)
@@ -90,6 +90,7 @@
+
#####################################################################
##
## Keymapper Support
Modified: trunk/gnue-forms/src/uidrivers/gtk2/widgets/_base.py
===================================================================
--- trunk/gnue-forms/src/uidrivers/gtk2/widgets/_base.py 2004-07-24
14:40:00 UTC (rev 6069)
+++ trunk/gnue-forms/src/uidrivers/gtk2/widgets/_base.py 2004-07-24
15:52:36 UTC (rev 6070)
@@ -195,6 +195,12 @@
GDebug.printMesg (3, "Grab focus to %s for %s" % (item, widget))
item.grab_focus ()
+ # To avoid the automatic select-all in a combo box, we explicitly set the
+ # selection to the current position only
+ if isinstance (widget, gtk.Combo):
+ pos = item.get_position ()
+ item.select_region (pos, pos)
+
self._blockHandler (item, '_focusHandler', True)
Modified: trunk/gnue-forms/src/uidrivers/gtk2/widgets/entry.py
===================================================================
--- trunk/gnue-forms/src/uidrivers/gtk2/widgets/entry.py 2004-07-24
14:40:00 UTC (rev 6069)
+++ trunk/gnue-forms/src/uidrivers/gtk2/widgets/entry.py 2004-07-24
15:52:36 UTC (rev 6070)
@@ -25,7 +25,6 @@
from gnue.common import events
from gnue.forms.uidrivers.gtk2.widgets._base import UIHelper
-from gnue.common.apps import GDebug
# =============================================================================
@@ -54,7 +53,7 @@
else:
newWidget = self.__createEntry (object, event)
- event.container.show_all()
+ event.container.show_all ()
return newWidget
@@ -76,11 +75,8 @@
newWidget.show ()
if event.initialize:
- newWidget._origAllowedValues = gfObject._field._allowedValues
self._addDefaultEventHandler (newWidget)
self._addFocusHandler (newWidget.entry, newWidget)
- newWidget.list._selectHandler = newWidget.list.connect ('select-child',
- self.comboHandler, newWidget)
self._addDefaultEventHandler (newWidget.entry, newWidget)
entry = newWidget.entry
@@ -92,6 +88,10 @@
self.deleteTextHandler,
gfObject)
+ newWidget.list._selectHandler = newWidget.list.connect ('select-child',
+ self.comboHandler,
+ newWidget)
+
return newWidget
@@ -204,22 +204,19 @@
def setCursorPosition (self, position, index = 0):
widget = self.widgets [index]
- GDebug.printMesg (1, "setCursorPosition to %s in %s [%s]" % \
- (position, widget, index))
+ entry = isinstance (widget, gtk.Combo) and widget.entry or widget
- if isinstance (widget, gtk.Entry):
- if len (widget.get_text ()):
- widget.set_position (position)
+ gDebug (1, "setCursorPosition to %s in %s [%s] (%s)" % \
+ (position, entry, index, widget))
- elif isinstance (widget, gtk.Combo):
- if len (widget.entry.get_text ()):
- widget.entry.set_position (position)
+ if isinstance (entry, gtk.Entry):
+ entry.set_position (position)
- elif isinstance (widget, gtk.TextView):
+ elif isinstance (entry, gtk.TextView):
tBuffer = widget.get_buffer ()
tBuffer.place_cursor (tBuffer.get_iter_at_offset (position))
- widget.set_cursor_visible (True)
- widget.scroll_mark_onscreen (tBuffer.get_insert ())
+ entry.set_cursor_visible (True)
+ entry.scroll_mark_onscreen (tBuffer.get_insert ())
# ---------------------------------------------------------------------------
@@ -227,7 +224,7 @@
# ---------------------------------------------------------------------------
def setSelectedArea (self, selection1, selection2, index = 0):
- GDebug.printMesg (1, "Set Selected Area %s/%s in %s [%s]" % \
+ gDebug (1, "Set Selected Area %s/%s in %s [%s]" % \
(selection1, selection2, self, index))
widget = self.widgets [index]
@@ -245,23 +242,26 @@
tBuffer.move_mark (insert, tBuffer.get_iter_at_offset (left))
tBuffer.move_mark (selbound, tBuffer.get_iter_at_offset (right))
+ elif isinstance (widget, gtk.Combo):
+ widget.entry.select_region (selection1, selection2)
+
# ---------------------------------------------------------------------------
# insert text into gtk.Entry widgets
# ---------------------------------------------------------------------------
def insertTextHandler (self, widget, newtext, length, pos, gfObject):
- GDebug.printMesg (1, "insert gtk.Entry () '%s' at %d (%s) into %s" % \
+ gDebug (1, "insert gtk.Entry () '%s' at %d (%s) into %s" % \
(newtext, widget.get_position (), pos, widget))
text = unicode (newtext, 'utf-8')
- action = events.Event ('requestINSERTAT', text, text = text,
- position = widget.get_position (),
+ action = events.Event ('requestKEYPRESS', text = text,
_form = gfObject._form)
widget.stop_emission ('insert-text')
gtk.idle_add (self._eventHandler, action)
+ # self._eventHandler (action)
# ---------------------------------------------------------------------------
@@ -269,7 +269,7 @@
# ---------------------------------------------------------------------------
def deleteTextHandler (self, widget, start_pos, end_pos, gfObject):
- GDebug.printMesg (1, "Delete %s to %s in %s" % (start_pos, end_pos,
widget))
+ gDebug (1, "Delete %s to %s in %s" % (start_pos, end_pos, widget))
action = events.Event ('requestDELETERANGE',
start_pos = start_pos,
@@ -287,7 +287,7 @@
def insertBufferHandler (self, tBuffer, iterator, newtext, length, widget):
- GDebug.printMesg (1, "gtk.TextBuffer insert '%s' at %s" % \
+ gDebug (1, "gtk.TextBuffer insert '%s' at %s" % \
(newtext, iterator.get_offset ()))
gfObject = self._uiDriver._WidgetToGFObj [widget]
@@ -307,7 +307,7 @@
# ---------------------------------------------------------------------------
def deleteBufferHandler (self, tBuffer, start, end, widget):
- GDebug.printMesg (1, "gtk.TextBuffer delete %s to %s in %s" \
+ gDebug (1, "gtk.TextBuffer delete %s to %s in %s" \
% (start.get_offset (), end.get_offset (), widget))
gfObject = self._uiDriver._WidgetToGFObj [widget]
@@ -372,19 +372,18 @@
newly selected item differs from the corresponding GFObject's value a
'requestREPLACEVALUE' will be fired.
"""
- GDebug.printMesg (2, "Selected %s in %s" % (listChild, combo))
-
gfObject = self._uiDriver._WidgetToGFObj [combo]
selection = comboList.child_position (listChild)
compare = self.reverse.get (gfObject.getValue (), None)
selected_text = self.choices [selection]
- GDebug.printMesg (1, "Selection is %s in %s" % (selected_text, gfObject))
- GDebug.printMesg (1, "Old %s vs %s" % (repr(compare), repr(selected_text)))
+ gDebug (1, "Old %s vs %s" % (repr(compare), repr(selected_text)))
comboList.stop_emission ('select-child')
- if compare is None or compare != selected_text:
+ # if compare != selected_text:
+ if gfObject._displayHandler.display != selected_text:
+ gDebug (1, "Replacing value %s %s" % (repr(compare),
repr(selected_text)))
action = events.Event ('requestREPLACEVALUE', object = gfObject,
index = selection, text = selected_text,
_form = gfObject._form)
@@ -422,7 +421,7 @@
def _updateChoices (self, combo, gfObject):
if not isinstance (combo, gtk.Combo):
- GDebug.printMesg (1, "Called 'updateChoices' on non-Combo-widget!")
+ gDebug (1, "Called 'updateChoices' on non-Combo-widget!")
return
if combo._origAllowedValues != gfObject._field._allowedValues:
@@ -435,7 +434,6 @@
self._blockHandler (combo.list, '_selectHandler', True)
-
# -----------------------------------------------------------------------------
# Base configuration data
# -----------------------------------------------------------------------------
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- r6070 - in trunk/gnue-forms/src/uidrivers/gtk2: . widgets,
johannes <=