1585 |
1585 |
setattr(klass, 'columns', columns)
|
1586 |
1586 |
return klass
|
1587 |
1587 |
|
|
1588 |
def add_element(self, value=None):
|
|
1589 |
name = "element%d" % len(self.element_names)
|
|
1590 |
self.add(self.table_row_class, name, value=value, **self.widget_kwargs)
|
|
1591 |
self.element_names.append(name)
|
|
1592 |
self.get_widget('added_elements').value = len(self.element_names)
|
|
1593 |
|
1588 |
1594 |
def __init__(self, name, value=None, columns=None, min_rows=5, **kwargs):
|
1589 |
|
table_row_class = self.create_row_class(columns)
|
1590 |
|
widget_kwargs = {}
|
|
1595 |
self.table_row_class = self.create_row_class(columns)
|
|
1596 |
self.widget_kwargs = {}
|
1591 |
1597 |
if kwargs.has_key('readonly'):
|
1592 |
1598 |
del kwargs['readonly']
|
1593 |
1599 |
self.readonly = True
|
1594 |
|
widget_kwargs['readonly'] = 'readonly'
|
1595 |
|
WidgetListAsTable.__init__(self, name, value, element_type=table_row_class,
|
1596 |
|
element_kwargs=widget_kwargs, **kwargs)
|
|
1600 |
self.widget_kwargs['readonly'] = 'readonly'
|
|
1601 |
WidgetListAsTable.__init__(self, name, value,
|
|
1602 |
element_type=self.table_row_class,
|
|
1603 |
element_kwargs=self.widget_kwargs, **kwargs)
|
1597 |
1604 |
self.columns = columns
|
1598 |
1605 |
|
1599 |
|
def add_element(value=None):
|
1600 |
|
name = "element%d" % len(self.element_names)
|
1601 |
|
self.add(table_row_class, name, value=value, **widget_kwargs)
|
1602 |
|
self.element_names.append(name)
|
1603 |
|
|
1604 |
1606 |
while len(self.element_names) < min_rows:
|
1605 |
|
add_element()
|
1606 |
|
self.get_widget('added_elements').value += 1
|
|
1607 |
self.add_element()
|
1607 |
1608 |
|
1608 |
1609 |
self.set_value(value)
|
1609 |
1610 |
|
... | ... | |
1648 |
1649 |
self.value = value
|
1649 |
1650 |
if not value:
|
1650 |
1651 |
return
|
|
1652 |
while len(self.element_names) < len(value):
|
|
1653 |
self.add_element()
|
1651 |
1654 |
for i, row_name in enumerate(self.element_names):
|
1652 |
1655 |
widget_row = self.get_widget(row_name)
|
1653 |
1656 |
for j, column in enumerate(self.columns):
|
1654 |
|
-
|