def __init__(self, rowStyles=None, containerIndex=1, **kwargs):

        if rowStyles is None:
            rowStyles = self.DEFAULT_ROW_STYLENAMES

        if kwargs.has_key('Element'):
            self.table = kwargs.pop('Element')
            fc = DOM.getFirstChild(self.table)
            if fc:
                self.tbody = fc
            else:
                self.tbody = DOM.createTBody()
                DOM.appendChild(self.table, self.tbody)
        else:
            # Add a tbody
            self.table = DOM.createTable()
            self.tbody = DOM.createTBody()
            DOM.appendChild(self.table, self.tbody)
            DOM.setAttribute(self.table, "cellSpacing", "0")
            DOM.setAttribute(self.table, "cellPadding", "0")

        if not kwargs.has_key('StyleName'): kwargs['StyleName']=self.DEFAULT_STYLENAME
        SimplePanel.__init__(self, self.table, **kwargs)

        # Add each row
        for i in range(len(rowStyles)):
            row = self.createTR(rowStyles[i])
            DOM.appendChild(self.tbody, row)
            if i == containerIndex:
                self.containerElem = DOM.getFirstChild(DOM.getChild(row, 1))
Creates a new panel using the specified style names to
dataset/ETHPy150Open pyjs/pyjs/pyjswidgets/pyjamas/ui/DecoratorPanel.py/DecoratorPanel.__init__