[POS-commit] r3279 - in kiwi/trunk: .
Ronaldo Maia
romaia at async.com.br
Tue Apr 11 16:11:25 BRT 2006
Author: romaia
Date: Tue Apr 11 16:11:24 2006
New Revision: 3279
Modified:
kiwi/trunk/ChangeLog
kiwi/trunk/kiwi/ui/objectlist.py
Log:
reviewed by: jdahlin
* kiwi/ui/objectlist.py: always use a converter to set the contents of a
column in a ObjectList. Fixes #2523
Modified: kiwi/trunk/ChangeLog
==============================================================================
--- kiwi/trunk/ChangeLog (original)
+++ kiwi/trunk/ChangeLog Tue Apr 11 16:11:24 2006
@@ -1,3 +1,10 @@
+006-04-11 Ronaldo Maia <romaia at async.com.br>
+
+ reviewed by: jdahlin
+
+ * kiwi/ui/objectlist.py: always use a converter to set the contents of a
+ column in a ObjectList. Fixes #2523
+
2006-04-10 Johan Dahlin <jdahlin at async.com.br>
* kiwi/ui/combomixin.py (ComboMixin.prefill)
Modified: kiwi/trunk/kiwi/ui/objectlist.py
==============================================================================
--- kiwi/trunk/kiwi/ui/objectlist.py (original)
+++ kiwi/trunk/kiwi/ui/objectlist.py Tue Apr 11 16:11:24 2006
@@ -158,7 +158,6 @@
self.attribute = attribute
self.compare = None
- self.as_string = None
self.from_string = None
kwargs['title'] = title or attribute.capitalize()
@@ -201,7 +200,6 @@
if data is not None:
conv = converter.get_converter(data)
self.compare = conv.get_compare_function()
- self.as_string = conv.as_string
self.from_string = conv.from_string
return data
@@ -223,6 +221,15 @@
self.justify, self.tooltip, self.format, self.width,
self.sorted, self.order)
+ def as_string(self, data):
+ if self.format_func:
+ text = self.format_func(data)
+ elif data is not None:
+ conv = converter.get_converter(self.data_type)
+ text = conv.as_string(data, format=self.format or None)
+
+ return text
+
def from_string(cls, data_string):
fields = data_string.split('|')
if len(fields) != 10:
@@ -269,7 +276,7 @@
title=title, justify=justify, data_type=int, **kwargs)
def cell_data_func(self, tree_column, renderer, model, treeiter,
- (column, renderer_prop, as_string)):
+ (column, renderer_prop)):
reversed = tree_column.get_sort_order() == gtk.SORT_DESCENDING
row = model[treeiter]
@@ -829,8 +836,7 @@
treeview_column.pack_start(renderer)
treeview_column.set_cell_data_func(renderer, cell_data_func,
- (column, renderer_prop,
- column.as_string))
+ (column, renderer_prop))
treeview_column.set_visible(column.visible)
treeview_column.connect("clicked", self._on_column__clicked, column)
@@ -927,9 +933,9 @@
self.emit('cell-edited', new, attr)
def _on_renderer_text__edited(self, renderer, path, text,
- model, attr, column, as_string):
+ model, attr, column, from_string):
obj = model[path][COL_MODEL]
- value = as_string(text)
+ value = from_string(text)
setattr(obj, attr, value)
self.emit('cell-edited', obj, attr)
@@ -984,7 +990,7 @@
return True
def _cell_data_text_func(self, tree_column, renderer, model, treeiter,
- (column, renderer_prop, as_string)):
+ (column, renderer_prop)):
row = model[treeiter]
if column.editable_attribute:
@@ -1011,17 +1017,7 @@
data = column.get_attribute(row[COL_MODEL],
column.attribute, None)
- if column.format:
- text = lformat(column.format, data)
- elif column.format_func:
- text = column.format_func(data)
- elif (column.data_type == datetime.date or
- column.data_type == datetime.datetime or
- column.data_type == datetime.time or
- column.data_type == currency):
- text = as_string(data)
- else:
- text = data
+ text = column.as_string(data)
renderer.set_property(renderer_prop, text)
@@ -1029,7 +1025,7 @@
column.renderer_func(renderer, data)
def _cell_data_pixbuf_func(self, tree_column, renderer, model, treeiter,
- (column, renderer_prop, as_string)):
+ (column, renderer_prop)):
row = model[treeiter]
data = column.get_attribute(row[COL_MODEL],
column.attribute, None)
@@ -1673,20 +1669,7 @@
value = sum([get_attribute(obj, attr) for obj in self._klist],
column.data_type('0'))
- # duplication of _cell_data_text_func
- if column.format:
- text = lformat(column.format, value)
- elif column.format_func:
- text = column.format_func(value)
- elif (column.data_type == datetime.date or
- column.data_type == datetime.datetime or
- column.data_type == datetime.time or
- column.data_type == currency):
- text = column.as_string(value)
- else:
- text = value
-
- self.set_value(text)
+ self.set_value(column.as_string(value))
# Callbacks
More information about the POS-commit
mailing list