class ListTabObjDesc(widgets.WidgetDescription):
    name = "Tabber List Object"
    full_class_name = "mywidgets.widgets.MyTabbers.ListTabObjDesc"
    for_widget = widgets.Tabber()
    template="mywidgets.templates.ListObjTab"
    params = ["tabbers"]
    tabbers = [TabObj(title='first tab',
                      body=['text of first tab']),
               TabObj(title='second tab',
                      body=['text of second tab',
                            widgets.forms.TableFormDesc()]),
               TabObj(title=unicode('третья вкладка', 'utf-8'),
                      body=[unicode('текст третьей вкладки','utf-8'),
                            widgets.links.TabberDesc()]),
               TabObj(title=unicode('четвёртая вкладка', 'utf-8'),
                      body=[unicode('текст четвёртой
вкладки','utf-8'),
                            MyTabberDesc()]),
               ]
    def __init__(self, *args, **kw):
        super(ListTabObjDesc, self).__init__(*args, **kw)
        self.javascript=self.retrieve_javascript()
        self.css=self.retrieve_css()

    def retrieve_css(self):
        list1 = self.for_widget.retrieve_css()
        list1.add_all(self.rec(self.tabbers, 'retrieve_css', 'css'))
        return list1
    def retrieve_javascript(self):
        list1 = self.for_widget.retrieve_javascript()
        list1.add_all(self.rec(self.tabbers, 'retrieve_javascript',
'javascript'))
        return list1
    def rec(self, list1, metod_name, attr_name):
        l1=setlike()
        for tab in list1:
            if getattr(tab, 'body', False):
                for b in tab.body:
                    metod = getattr(b, metod_name, False)
                    if metod:
                        l1.add_all(metod())
                    if getattr(b, attr_name, False):
                        l1.add_all(getattr(b, attr_name))
                    if getattr(b, 'tabbers', False):
                        l1.add_all(self.rec(b.tabbers, metod_name,
attr_name))
        return l1


--~--~---------~--~----~------------~-------~--~----~
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
-~----------~----~----~----~------~----~------~--~---

Reply via email to