def onModuleLoad(self):
        panel = DockPanel()
        RootPanel().add(panel)

        panel.setWidth("100%")
        panel.setHeight("100%")
        panel.setSpacing(5)

        title = HTML('<h1>Hello</h1>')
        description = HTML("""""")
        panel.add(title, DockPanel.NORTH)
        panel.add(description, DockPanel.SOUTH)

        links = VerticalPanel()
        links.setSpacing(8)

        panel.add(links, DockPanel.NORTH)

        head = HTML("""
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="heading">
<tr bgcolor="#7799ee">
<td valign=bottom>&nbsp;<br>
<font color="#ffffff" face="helvetica, arial">&nbsp;<br><big><big><strong>Hello</strong></big></big></font></td
><td align=right valign=bottom
><font color="#ffffff" face="helvetica, arial"><a href=".">index</a><br><a href="file:/home/lkcl/src/pyjamas-desktop/pyjamas-webkit/examples/helloworld/Hello.py">/home/lkcl/src/pyjamas-desktop/pyjamas-webkit/examples/helloworld/Hello.py</a></font></td></tr></table>
    """)
        panel.add(head, DockPanel.NORTH)

        docs = HTML("""<tt><a href="#Hello">Hello</a>&nbsp;World&nbsp;Example</tt>""")
        panel.add(docs, DockPanel.NORTH)


        modules = eval(r'''['<a href="pyjamas.DOM.html">pyjamas.DOM</a>', '<a href="pyjamas.Window.html">pyjamas.Window</a>']''')
        contents = self.multicolumn(modules)
        contents = self.bigsection('Modules', '#fffff', '#aa55cc', contents)

        panel.add(contents, DockPanel.NORTH)

        classes = eval(r'''['<dl>\n<dt><font face="helvetica, arial"><a href="Hello.html#Hello">Hello</a>\n</font></dt></dl>\n', '<p>\n<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">\n<tr bgcolor="#ffc8d8">\n<td colspan=3 valign=bottom>&nbsp;<br>\n<font color="#000000" face="helvetica, arial"><a name="Hello">class <strong>Hello</strong></a></font></td></tr>\n    \n<tr><td bgcolor="#ffc8d8"><tt>&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>\n<td width="100%">Methods defined here:<br>\n<dl><dt><a name="Hello-onBrowserEvent"><strong>onBrowserEvent</strong></a>(self, event)</dt></dl>\n\n<dl><dt><a name="Hello-onModuleLoad"><strong>onModuleLoad</strong></a>(self)</dt></dl>\n\n<dl><dt><a name="Hello-onTimer"><strong>onTimer</strong></a>(self)</dt></dl>\n\n<dl><dt><a name="Hello-onWindowResized"><strong>onWindowResized</strong></a>(self, width, height)</dt></dl>\n\n</td></tr></table>']''')
        contents = self.multicolumn(modules)
        contents = self.bigsection(
                'Classes', '#ffffff', '#ee77aa', HTML('\n'.join(classes)))

        panel.add(contents, DockPanel.NORTH)

        functions = eval(r'''['<dl><dt><a name="-greet"><strong>greet</strong></a>(sender, event)</dt></dl>\n']''')
        contents = self.multicolumn(modules)
        contents = self.bigsection(
                'Functions', '#ffffff', '#eeaa77', HTML('\n'.join(functions)))

        panel.add(contents, DockPanel.NORTH)

        data = eval(r'''["<strong>test</strong> = 'hello'"]''')
        contents = self.multicolumn(modules)
        contents = self.bigsection(
                'Data', '#ffffff', '#55aa55', HTML('\n'.join(data)))

        panel.add(contents, DockPanel.NORTH)
class DockPanelTest:

    def onModuleLoad(self):
        self.panel=DockPanel()
        
        east = Label("east")
        self.panel.add(east, DockPanel.EAST)
        self.panel.add(Label("west"), DockPanel.WEST)
        self.panel.add(Label("north"), DockPanel.NORTH)
        self.panel.add(Label("south"), DockPanel.SOUTH)
        self.south2 = Label("south2")
        self.panel.add(self.south2, DockPanel.SOUTH)
        self.center = Label("center")
        self.panel.add(self.center, DockPanel.CENTER)

        self.panel.setWidth("300px")
        self.panel.setHeight("300px")

        self.panel.setBorderWidth("1px")

        self.panel.setCellVerticalAlignment(east, HasAlignment.ALIGN_BOTTOM)
        self.panel.setCellHorizontalAlignment(east, HasAlignment.ALIGN_RIGHT)


        self.r = Button("remove", self)
        self.a = Button("add", self)

        RootPanel().add(self.panel)
        RootPanel().add(self.r)
        RootPanel().add(self.a)

    def onClick(self, sender):

        if sender == self.r:
            self.center.removeFromParent()
            self.south2.removeFromParent()
        if sender == self.a:
            self.panel.add(self.south2, DockPanel.SOUTH)
            self.panel.add(self.center, DockPanel.CENTER)