[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[gnue] r8567 - in trunk/gnue-forms/src: GFObjects input/displayHandlers
From: |
johannes |
Subject: |
[gnue] r8567 - in trunk/gnue-forms/src: GFObjects input/displayHandlers uidrivers/wx26/widgets |
Date: |
Thu, 17 Aug 2006 09:32:42 -0500 (CDT) |
Author: johannes
Date: 2006-08-17 09:32:41 -0500 (Thu, 17 Aug 2006)
New Revision: 8567
Modified:
trunk/gnue-forms/src/GFObjects/GFBlock.py
trunk/gnue-forms/src/GFObjects/GFField.py
trunk/gnue-forms/src/input/displayHandlers/Checkbox.py
trunk/gnue-forms/src/uidrivers/wx26/widgets/_base.py
trunk/gnue-forms/src/uidrivers/wx26/widgets/entry.py
Log:
Added a third state to the checkboxes while in query mode. This way we
can search for either state of a checkbox.
Modified: trunk/gnue-forms/src/GFObjects/GFBlock.py
===================================================================
--- trunk/gnue-forms/src/GFObjects/GFBlock.py 2006-08-17 14:32:11 UTC (rev
8566)
+++ trunk/gnue-forms/src/GFObjects/GFBlock.py 2006-08-17 14:32:41 UTC (rev
8567)
@@ -1180,7 +1180,8 @@
match = False
for comparison in baseComparisons.keys():
- if val[:2+len(comparison)].lower() == "%s%s%s" % \
+ if isinstance(val, basestring) and \
+ val[:2+len(comparison)].lower() == "%s%s%s" % \
(comparisonDelimeter, comparison, comparisonDelimeter):
value=val[2+len(comparison):]
@@ -1205,7 +1206,7 @@
val = ("%s" % val).replace ('*', '%')
except ValueError:
pass
-
+
if (val.find ('%') >= 0 or val.find ('_') >= 0):
condLike [entry.field] = val
else:
Modified: trunk/gnue-forms/src/GFObjects/GFField.py
===================================================================
--- trunk/gnue-forms/src/GFObjects/GFField.py 2006-08-17 14:32:11 UTC (rev
8566)
+++ trunk/gnue-forms/src/GFObjects/GFField.py 2006-08-17 14:32:41 UTC (rev
8567)
@@ -246,6 +246,8 @@
if mode == 'query':
self._block._queryValues[self] = value
+ if value is None:
+ del self._block._queryValues[self]
elif mode == 'init':
self._block._initializingRecord[self.field] = value
Modified: trunk/gnue-forms/src/input/displayHandlers/Checkbox.py
===================================================================
--- trunk/gnue-forms/src/input/displayHandlers/Checkbox.py 2006-08-17
14:32:11 UTC (rev 8566)
+++ trunk/gnue-forms/src/input/displayHandlers/Checkbox.py 2006-08-17
14:32:41 UTC (rev 8567)
@@ -60,6 +60,9 @@
def _sanitizeValue(self, value):
+ if self.field._block.mode == 'query' and (value in [None, '']):
+ return None
+
if ("%s" % value)[:1] in self.trueValues:
return True
elif ("%s" % value)[:1] in self.falseValues:
@@ -88,7 +91,14 @@
# Toggle value of checkbox
def __toggle (self):
- self.work = not self.work
+ allowed = [True, False]
+ if self.field._block.mode == 'query':
+ allowed.append(None)
+ next = allowed.index(self.work) + 1
+ if next == len(allowed):
+ next = 0
+
+ self.work = allowed[next]
self.modified = True
self._buildDisplay ()
Modified: trunk/gnue-forms/src/uidrivers/wx26/widgets/_base.py
===================================================================
--- trunk/gnue-forms/src/uidrivers/wx26/widgets/_base.py 2006-08-17
14:32:11 UTC (rev 8566)
+++ trunk/gnue-forms/src/uidrivers/wx26/widgets/_base.py 2006-08-17
14:32:41 UTC (rev 8567)
@@ -300,6 +300,14 @@
if value:
widget.SetStringSelection (value, True)
+ elif isinstance(widget, wx.CheckBox):
+ if value is None:
+ widget.Set3StateValue(wx.CHK_UNDETERMINED)
+ elif value:
+ widget.Set3StateValue(wx.CHK_CHECKED)
+ else:
+ widget.Set3StateValue(wx.CHK_UNCHECKED)
+
else:
if isinstance (widget, wx.ComboBox):
# We use SetStringSelection to keep the selected index in
Modified: trunk/gnue-forms/src/uidrivers/wx26/widgets/entry.py
===================================================================
--- trunk/gnue-forms/src/uidrivers/wx26/widgets/entry.py 2006-08-17
14:32:11 UTC (rev 8566)
+++ trunk/gnue-forms/src/uidrivers/wx26/widgets/entry.py 2006-08-17
14:32:41 UTC (rev 8567)
@@ -133,7 +133,8 @@
def __build_checkbox (self, parent):
- result = wx.CheckBox (parent, -1, self._gfObject.label)
+ result = wx.CheckBox (parent, -1, self._gfObject.label,
+ style=wx.CHK_3STATE)
result.Bind (wx.EVT_CHECKBOX, self.__on_toggle_checkbox)
result.Bind (wx.EVT_CHAR, self.__on_keypress)
result.Bind (wx.EVT_SET_FOCUS, self.__on_set_focus)
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [gnue] r8567 - in trunk/gnue-forms/src: GFObjects input/displayHandlers uidrivers/wx26/widgets,
johannes <=