On Tue, May 26, 2009 6:50 am, Diez B. Roggisch wrote:
>
> On Tuesday 26 May 2009 03:28:14 Diego Woitasen wrote:
>> Hi,
>> I want to write a reusable form using TableForm as base class. I tried
>> with this:
>>
>> class RuleForm(TableForm):
>> def __init__(self, id=None, parent=None, children=[], host_filter=[],
>> **kw):
>> super(RuleForm, self).__init__(id,parent,children, **kw)
>> self.fields = [
>> TextField(id = 'description', label = 'Description'),
>> ]
>>
>> and this:
>>
>> class RuleForm(TableForm):
>> def __init__(self, id=None, parent=None, children=[], host_filter=[],
>> **kw):
>> children = [
>> TextField(id = 'description', label = 'Description'),
>> ]
>> super(RuleForm, self).__init__(id,parent,children, **kw)
>>
>> without sucess.
>
> What does "without success" mean? You are aware, that in the latter
> example
> you simply override whatever children are passed?
>
> Besides, the simple problem of yours seems to be solvable using
>
>
> common_widgets = [...] # list of widgets
>
> some_form = Form(children = common_widgets + some_other_widgets]
>
> Diez
>
> >
>
Means, it doesn't work. If I use fields outside the constructor works, for
example:
class RuleForm(TableForm):
fields = [
TextField(id = 'description', label = 'Description'),
]
def __init__(self, id=None, parent=None, children=[], host_filter=[],
**kw):
super(RuleForm, self).__init__(id,parent,children, **kw)
That works, but I need fields inside the constructor because I want to use
SelectionList or CheckboxList which contents could change in each use of
RuleForm (quering data from database).
I could use a function that returns the children field list and use them
like you said but I prefer to use classes or at least understand why my
approach doesn't work.
Regards,
Diego
--
Diego Woitasen
XTECH - Soluciones Linux para empresas
(54) 011 5219-0678
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups
"TurboGears" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/turbogears?hl=en
-~----------~----~----~----~------~----~------~--~---