[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
r5225 - in trunk/gnue-forms/src: . uidrivers/wx/widgets
From: |
btami |
Subject: |
r5225 - in trunk/gnue-forms/src: . uidrivers/wx/widgets |
Date: |
Fri, 5 Mar 2004 05:45:04 -0600 (CST) |
Author: btami
Date: 2004-03-05 05:45:03 -0600 (Fri, 05 Mar 2004)
New Revision: 5225
Modified:
trunk/gnue-forms/src/GFDisplayHandler.py
trunk/gnue-forms/src/GFForm.py
trunk/gnue-forms/src/uidrivers/wx/widgets/entry.py
Log:
more dropdown magic
Modified: trunk/gnue-forms/src/GFDisplayHandler.py
===================================================================
--- trunk/gnue-forms/src/GFDisplayHandler.py 2004-03-05 10:42:58 UTC (rev
5224)
+++ trunk/gnue-forms/src/GFDisplayHandler.py 2004-03-05 11:45:03 UTC (rev
5225)
@@ -243,7 +243,7 @@
+ value \
+ self.work[self.cursor:]
- self.cursor += len(event.text)
+ self.cursor += len(value)
event.__dropped__ = True
@@ -719,7 +719,9 @@
def beginEdit(self, event):
-
+ if self.editing == True and self.modified == False:
+ return
+
if not self._loadedAllowedValues and not
hasattr(self.field,'_allowedValues'):
self.field.allowedValues()
self._loadedAllowedValues = True
Modified: trunk/gnue-forms/src/GFForm.py
===================================================================
--- trunk/gnue-forms/src/GFForm.py 2004-03-05 10:42:58 UTC (rev 5224)
+++ trunk/gnue-forms/src/GFForm.py 2004-03-05 11:45:03 UTC (rev 5225)
@@ -292,6 +292,10 @@
message = None
+ # cannot change focus to same entry
+ if widget == self._currentEntry:
+ return
+
try:
if self._currentEntry:
Modified: trunk/gnue-forms/src/uidrivers/wx/widgets/entry.py
===================================================================
--- trunk/gnue-forms/src/uidrivers/wx/widgets/entry.py 2004-03-05 10:42:58 UTC
(rev 5224)
+++ trunk/gnue-forms/src/uidrivers/wx/widgets/entry.py 2004-03-05 11:45:03 UTC
(rev 5225)
@@ -40,7 +40,13 @@
# Widget set specific function that creates a single instance of a data entry
widget
#
class UIEntry(UIHelper):
+ """
+ A wxPython-based UI driver for GNUe Forms
+ """
def _createWidget(self, event, spacer):
+ """
+ Creates a single instance of a data entry widget
+ """
object = event.object
style = object.style
@@ -56,19 +62,25 @@
choices.append(val.encode(gConfig('textEncoding'),'replace'))
else:
choices.append(val)
-
+
else:
choices = [""]
+ choices.sort()
+
newWidget = wxComboBox(event.container, -1, "",defaultPoint,
wxSize(self.itemWidth,self.itemHeight),
choices, wxCB_DROPDOWN,) #|wxWANTS_CHARS,)
if event.initialize:
newWidget._origAllowedValues = object._field._allowedValues
newWidget.SetValue("")
- EVT_COMBOBOX(newWidget, newWidget.GetId(), self.comboHandler)
- EVT_TEXT(newWidget, newWidget.GetId(), self.comboHandler)
- self.comboDropped = False # True if the combobox is dropped and the
list is visible
+ newWidget_Id = newWidget.GetId()
+ EVT_COMBOBOX(newWidget, newWidget_Id, self.comboHandler)
+ EVT_TEXT(event.container, newWidget_Id, self.comboHandler)
+ EVT_TEXT_ENTER(event.container, newWidget_Id, self.comboHandler)
+ self.comboDropped = True # True if the combobox is dropped and the
list is visible.
+ # For some strange reason it is best to initialize it True as if
+ # the list would be dropped down at startup, though it is not...
elif style == 'label':
@@ -111,28 +123,29 @@
action = None
eventType = event.GetEventType()
- if eventType == wxEVT_COMMAND_COMBOBOX_SELECTED: #combobox dropped
- if self.comboDropped == False:
+ if self.comboDropped == True:
+ if eventType in [wxEVT_COMMAND_COMBOBOX_SELECTED,
wxEVT_COMMAND_TEXT_UPDATED, wxEVT_COMMAND_TEXT_ENTER]:
+ self.comboDropped = False
+
+ object = _eventObjTowxWindow(event)
+ gfObject = self._uiDriver._IdToGFObj[object.GetId()]
+ selection = event.GetSelection()
+
+ action = events.Event('requestREPLACEVALUE',object=gfObject,
+ index=selection, text=event.GetString(),
+ _form=gfObject._form)
+ else:
+ if eventType in
[wxEVT_COMMAND_COMBOBOX_SELECTED,wxEVT_COMMAND_TEXT_ENTER]:
self.comboDropped = True
object = _eventObjTowxWindow(event)
gfObject = self._uiDriver._IdToGFObj[object.GetId()]
uiObject = self._uiDriver._IdToUIObj[object.GetId()]
uiObject._eventHandler('requestFOCUS',gfObject,_form=gfObject._form)
- #action = events.Event('requestCOMBODROPPED', _form=gfObject._form)
+ action = events.Event('requestCOMBODROPPED', _form=gfObject._form)
- elif eventType == wxEVT_COMMAND_TEXT_UPDATED or eventType ==
wxEVT_COMMAND_TEXT_ENTER: #value selected from list
- self.comboDropped = False
-
- object = _eventObjTowxWindow(event)
- gfObject = self._uiDriver._IdToGFObj[object.GetId()]
- selection = event.GetSelection()
-
- action = events.Event('requestREPLACEVALUE',object=gfObject,
- index=selection, text=event.GetString(),
- _form=gfObject._form)
self._eventHandler(action)
- event.Skip()
+ #event.Skip() #Is it needed here?
def checkboxHandler(self,event):
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- r5225 - in trunk/gnue-forms/src: . uidrivers/wx/widgets,
btami <=