Hi,
I found a bug in XRCed 1.8-0
Class ParamIntList (file param.py, line 730 something)
doesn't have SetValue()
correctly overriden (for a list with items 1, 2, 3 SetValue
generates '1|2|3'
instead of '[1,2,3]'. This causes problems f.e. in
growablecols/rows in
flexgridsizers.
Easy solution is to add a method
def SetValue(self, value):
self.freeze = True
if not value: value = []
self.value = value
repr_ = '[%s]' % (','.join(str(v) for v in value))
self.text.SetValue(repr_) # update text ctrl
self.freeze = False
to class ParamIntList
Method OnButtonEdit of class ParamIntList should also have a
check for empty
input value just after the try: clause, like:
if not self.text.GetValue():
self.value = []
else:
self.value = eval(self.text.GetValue())
I'd also recommend to replace lines 642 to 645 (
if value:
repr_ = reduce(lambda a,b: '%s|%s' % (a,b),
value)
else:
repr_ = ''
)
with repr_ = '|'.join(str(v) for v in value)
which is easier to read, handles more cases correctly
(always outputs string
even with nonstr items in value) and IMO is faster.
Still, XRCed is the best GUI designer , thanks
for your effort.
regards..
Tomas Dvorak
------------------------------------------------------------
---------
To unsubscribe, e-mail: wxPython-dev-unsubscribe lists.wxwidgets.org
For additional commands, e-mail: wxPython-dev-help lists.wxwidgets.org
|