예제 #1
0
파일: website.py 프로젝트: minghuascode/pyj
    def onModuleLoad(self):

        dock = DockPanel(Width="100%")
        self.header = HTML(Width="100%", Height="220px")
        self.footer = HTML(Width="100%")
        self.sidebar = HTML(Width="200px", Height="100%", StyleName="sidebar")
        self.fTabs = DecoratedTabPanel(Size=("100%", "100%"), StyleName="tabs")

        #dp = DecoratorTitledPanel("Tabs", "bluetitle", "bluetitleicon",
        #              ["bluetop", "bluetop2", "bluemiddle", "bluebottom"])
        #dp.add(self.fTabs)

        dock.add(self.header, DockPanel.NORTH)
        dock.add(self.footer, DockPanel.SOUTH)
        dock.add(self.sidebar, DockPanel.EAST)
        dock.add(self.fTabs, DockPanel.CENTER)
        dock.setCellVerticalAlignment(self.fTabs, HasAlignment.ALIGN_TOP)
        #dock.setCellHorizontalAlignment(self.fTabs, HasAlignment.ALIGN_CENTER)
        dock.setCellWidth(self.header, "100%")
        dock.setCellHeight(self.header, "220px")
        dock.setCellWidth(self.footer, "100%")
        dock.setCellWidth(self.sidebar, "200px")

        RootPanel().add(dock)
        self.dock = dock

        self.loadPageList()

        Window.addWindowResizeListener(self)

        DeferredCommand.add(self)
예제 #2
0
    def createRightPanel(self):
        span = self.stabPanel = SimplePanel(Height="100%")
        
        tabs = self.tabPanel = TabPanel(Width="100%", Border=1,Height="100%")
        
        
        adgui = self.adinfoPanel = AdinfoIFACE(self)
        tabs.add(adgui.panel, "AstroData Viewer")
        
        calsgui = self.calsPanel = CalsIFACE(self)
        tabs.add(calsgui.panel, "Calibrations")
        
        
        rsgui = RecipeSystemIFACE.ReducePanelIFACE(self)
        tabs.add(rsgui.panel, "Execute Reduce")

        rogui = RecipeSystemIFACE.ReduceOutputIFACE(self)
        tabs.add(rogui.panel, "Reduce Output")
        Window.addWindowResizeListener(rogui)
        
        tifs = self.tabIFACEs = [adgui, calsgui, rsgui, rogui]
        self.tabIFACEdict = {"adgui": tifs.index(adgui),
                            "calsgui": tifs.index(calsgui),
                            "rsgui": tifs.index(rsgui),
                            "rogui": tifs.index(rogui)}
        self.curTabIFACE = tifs[0]
        tabs.selectTab(0)
        
        span.add(tabs)
        
        
        tabs.addTabListener(self, getattr(self, "onTabSelected"))
        
        return span
예제 #3
0
    def loadChapters(self):

        self.curInfo = ''
        self.curSink = None
        self.description = HTML()
        self.sink_list = SinkList()
        self.panel = DockPanel()

        self.loadSinks()
        self.sinkContainer = DockPanel()
        self.sinkContainer.setStyleName("ks-Sink")

        #self.nf = NamedFrame("section")
        #self.nf.setWidth("100%")
        #self.nf.setHeight("10000")

        self.sp = ScrollPanel(self.sinkContainer)
        #self.sp = VerticalSplitPanel()
        self.sp.setWidth("100%")
        self.sp.setHeight("100%")

        #self.sp.setTopWidget(self.sinkContainer)
        #self.sp.setBottomWidget(self.nf)
        #self.sp.setSplitPosition(10000) # deliberately high - max out.

        vp = VerticalPanel()
        vp.setWidth("99%")
        vp.setHeight("100%")
        vp.add(self.description)
        vp.add(self.sp)

        authors = [("2008, 2009", "Kenneth Casson Leighton", "*****@*****.**")]
        for years, name, email in authors:
            authors_html = \
            '&copy; %s <a href="mailto:%s">%s</a><br />' %\
            (years, email, name)
        authors_panel = HTML()
        authors_panel.setStyleName("ks-Authors")
        authors_panel.setHTML(authors_html[:-6])

        left_panel = DockPanel(Height="100%")
        left_panel.add(self.sink_list, DockPanel.NORTH)
        left_panel.add(authors_panel, DockPanel.SOUTH)

        self.description.setStyleName("ks-Intro")

        self.panel.add(left_panel, DockPanel.WEST)
        self.panel.add(vp, DockPanel.CENTER)

        self.panel.setCellVerticalAlignment(self.sink_list,
                                            HasAlignment.ALIGN_TOP)
        self.panel.setCellWidth(vp, "100%")
        self.panel.setCellHeight(vp, "100%")

        Window.addWindowResizeListener(self)

        History.addHistoryListener(self)
        RootPanel().add(self.panel)

        self.onWindowResized(Window.getClientWidth(), Window.getClientHeight())
예제 #4
0
    def __init__(self, parent=None):

        Sink.__init__(self, parent)

        self.frame = Frame("/summary", Size=("100%",rccutil.getHeight()))
        self.initWidget(self.frame)
        Window.addWindowResizeListener(self)
예제 #5
0
 def testResize(self):
     # TODO: window resizing does not work accuratly in browser
     # because getClientWidth etc does not really match GWT. We
     # need to copy the GWT implementation
     if IN_BROWSER:
         return
     self.resize_test = True
     Window.addWindowResizeListener(self)
     self.h = Window.getClientHeight()
     self.w = Window.getClientWidth()
     Window.resize(800, 600)
예제 #6
0
 def __init__(self, parent = None):
     PanelIFACE.__init__(self, parent)
     
     self.panel = ScrollPanel()
     adinfo = HTML("", Size=("100%", parent.getHeight()))
     self.panel.setSize("100%", parent.getHeight())
     
     self.panel.add(adinfo)
     self.adInfo = parent.adInfo = adinfo
     Window.addWindowResizeListener(self)
     return
예제 #7
0
 def testResize(self):
     # TODO: window resizing does not work accuratly in browser
     # because getClientWidth etc does not really match GWT. We
     # need to copy the GWT implementation
     if IN_BROWSER:
         return
     self.resize_test = True
     Window.addWindowResizeListener(self)
     self.h = Window.getClientHeight()
     self.w = Window.getClientWidth()
     Window.resize(800, 600)
예제 #8
0
파일: Mail.py 프로젝트: Afey/pyjs
    def onModuleLoad(self):
        self.singleton = self

        topPanel = TopPanel()
        rightPanel = VerticalPanel()
        self.mailDetail = MailDetail()
        self.shortcuts = Shortcuts()

        topPanel.setWidth("100%")

        # MailList uses Mail.get() in its constructor, so initialize it after
        # 'singleton'.
        mailList = MailList(self.singleton)
        mailList.setWidth("100%")

        # Create the right panel, containing the email list & details.
        rightPanel.add(mailList)
        rightPanel.add(self.mailDetail)
        mailList.setWidth("100%")
        self.mailDetail.setWidth("100%")

        # Create a dock panel that will contain the menu bar at the top,
        # the shortcuts to the left, and the mail list & details taking the rest.
        outer = DockPanel()
        outer.add(topPanel, DockPanel.NORTH)
        outer.add(self.shortcuts, DockPanel.WEST)
        outer.add(rightPanel, DockPanel.CENTER)
        outer.setWidth("100%")

        outer.setSpacing(4)
        outer.setCellWidth(rightPanel, "100%")

        # Hook the window resize event, so that we can adjust the UI.
        #FIXME need implementation # Window.addWindowResizeListener(this)
        Window.addWindowResizeListener(self)

        # Get rid of scrollbars, and clear out the window's built-in margin,
        # because we want to take advantage of the entire client area.
        Window.enableScrolling(False)
        Window.setMargin("0px")

        # Finally, add the outer panel to the RootPanel, so that it will be
        # displayed.
        #RootPanel.get().add(outer) # FIXME get#
        RootPanel().add(outer)
        RootPanel().add(Logger())

        # Call the window resized handler to get the initial sizes setup. Doing
        # this in a deferred command causes it to occur after all widgets' sizes
        # have been computed by the browser.

        DeferredCommand.add(self)
예제 #9
0
파일: Mail.py 프로젝트: wangxiaodong/pyjs
    def onModuleLoad(self):
        self.singleton = self

        topPanel = TopPanel()
        rightPanel = VerticalPanel()
        self.mailDetail = MailDetail()
        self.shortcuts = Shortcuts()

        topPanel.setWidth("100%")

        # MailList uses Mail.get() in its constructor, so initialize it after
        # 'singleton'.
        mailList = MailList(self.singleton)
        mailList.setWidth("100%")

        # Create the right panel, containing the email list & details.
        rightPanel.add(mailList)
        rightPanel.add(self.mailDetail)
        mailList.setWidth("100%")
        self.mailDetail.setWidth("100%")

        # Create a dock panel that will contain the menu bar at the top,
        # the shortcuts to the left, and the mail list & details taking the rest.
        outer = DockPanel()
        outer.add(topPanel, DockPanel.NORTH)
        outer.add(self.shortcuts, DockPanel.WEST)
        outer.add(rightPanel, DockPanel.CENTER)
        outer.setWidth("100%")

        outer.setSpacing(4)
        outer.setCellWidth(rightPanel, "100%")

        # Hook the window resize event, so that we can adjust the UI.
        #FIXME need implementation # Window.addWindowResizeListener(this)
        Window.addWindowResizeListener(self)

        # Get rid of scrollbars, and clear out the window's built-in margin,
        # because we want to take advantage of the entire client area.
        Window.enableScrolling(False)
        Window.setMargin("0px")

        # Finally, add the outer panel to the RootPanel, so that it will be
        # displayed.
        #RootPanel.get().add(outer) # FIXME get#
        RootPanel().add(outer)
        RootPanel().add(Logger())

        # Call the window resized handler to get the initial sizes setup. Doing
        # this in a deferred command causes it to occur after all widgets' sizes
        # have been computed by the browser.

        DeferredCommand.add(self)
예제 #10
0
파일: index.py 프로젝트: jdunck/Tickery
    def __init__(self):
        SimplePanel.__init__(self, StyleName='main-panel')
        self.setWidth('100%')
        self.tabs = tabs.Tabs()
        self.tabs.addTabListener(self)
        self.add(self.tabs)
        
        Window.addWindowResizeListener(self)
        DeferredCommand.add(self)

        args = Window.getLocation().getSearchDict()
        userlist.setSortKey(args.get('sort'))        
        userlist.setIconSize(args.get('icons'))        
예제 #11
0
    def onModuleLoad(self):

        self.remote = InfoServicePython()

        self.tree_width = 200

        self.tp = HorizontalPanel()
        self.tp.setWidth("%dpx" % (self.tree_width))
        self.treeview = Trees()
        self.treeview.fTree.addTreeListener(self)
        self.sp = ScrollPanel()
        self.tp.add(self.treeview)
        self.sp.add(self.tp)
        self.sp.setHeight("100%")

        self.horzpanel1 = HorizontalPanel()
        self.horzpanel1.setSize("100%", "100%")
        self.horzpanel1.setBorderWidth(1)
        self.horzpanel1.setSpacing("10px")

        self.rp = RightPanel()
        self.rps = ScrollPanel()
        self.rps.add(self.rp)
        self.rps.setWidth("100%")
        self.rp.setWidth("100%")

        self.cp1 = CollapserPanel(self)
        self.cp1.setWidget(self.sp)
        self.cp1.setHTML("&nbsp;")


        self.midpanel = MidPanel(self)
        self.cp2 = CollapserPanel(self)
        self.cp2.setWidget(self.midpanel)
        self.cp2.setHTML("&nbsp;")

        self.horzpanel1.add(self.cp1)
        self.horzpanel1.add(self.cp2)
        self.horzpanel1.add(self.rps)

        self.cp1.setInitialWidth("%dpx" % self.tree_width)
        self.cp2.setInitialWidth("200px")

        RootPanel().add(self.horzpanel1)

        width = Window.getClientWidth()
        height = Window.getClientHeight()

        self.onWindowResized(width, height)
        Window.addWindowResizeListener(self)
예제 #12
0
    def onModuleLoad(self):

        self.remote = InfoServicePython()

        self.tree_width = 200

        self.tp = HorizontalPanel()
        self.tp.setWidth("%dpx" % (self.tree_width))
        self.treeview = Trees()
        self.treeview.fTree.addTreeListener(self)
        self.sp = ScrollPanel()
        self.tp.add(self.treeview)
        self.sp.add(self.tp)
        self.sp.setHeight("100%")

        self.horzpanel1 = HorizontalPanel()
        self.horzpanel1.setSize("100%", "100%")
        self.horzpanel1.setBorderWidth(1)
        self.horzpanel1.setSpacing("10px")

        self.rp = RightPanel()
        self.rps = ScrollPanel()
        self.rps.add(self.rp)
        self.rps.setWidth("100%")
        self.rp.setWidth("100%")

        self.cp1 = CollapserPanel(self)
        self.cp1.setWidget(self.sp)
        self.cp1.setHTML("&nbsp;")


        self.midpanel = MidPanel(self)
        self.cp2 = CollapserPanel(self)
        self.cp2.setWidget(self.midpanel)
        self.cp2.setHTML("&nbsp;")

        self.horzpanel1.add(self.cp1)
        self.horzpanel1.add(self.cp2)
        self.horzpanel1.add(self.rps)

        self.cp1.setInitialWidth("%dpx" % self.tree_width)
        self.cp2.setInitialWidth("200px")

        RootPanel().add(self.horzpanel1)

        width = Window.getClientWidth()
        height = Window.getClientHeight()

        self.onWindowResized(width, height)
        Window.addWindowResizeListener(self)
예제 #13
0
    def loadChapters(self):

        self.curInfo = ''
        self.curSink = None
        self.description = HTML()
        self.sink_list = SinkList()
        self.panel = DockPanel()

        self.loadSinks()
        self.sinkContainer = DockPanel()
        self.sinkContainer.setStyleName("ks-Sink")

        #self.nf = NamedFrame("section")
        #self.nf.setWidth("100%")
        #self.nf.setHeight("10000")

        height = Window.getClientHeight()

        self.sp = ScrollPanel(self.sinkContainer)
        #self.sp = VerticalSplitPanel()
        self.sp.setWidth("98%")
        self.sp.setHeight("%dpx" % (height - 200))

        #self.sp.setTopWidget(self.sinkContainer)
        #self.sp.setBottomWidget(self.nf)
        #self.sp.setSplitPosition(10000) # deliberately high - max out.

        vp = VerticalPanel()
        vp.setWidth("100%")
        vp.setHeight("100%")
        vp.add(self.description)
        vp.add(self.sp)

        self.description.setStyleName("ks-Intro")

        self.panel.add(self.sink_list, DockPanel.WEST)
        self.panel.add(vp, DockPanel.CENTER)

        self.panel.setCellVerticalAlignment(self.sink_list,
                                            HasAlignment.ALIGN_TOP)
        self.panel.setCellWidth(vp, "100%")
        self.panel.setCellHeight(vp, "100%")

        Window.addWindowResizeListener(self)

        History.addHistoryListener(self)
        RootPanel().add(self.panel)

        self.onWindowResized(Window.getClientWidth(), Window.getClientHeight())
예제 #14
0
    def onModuleLoad(self):
        b = Button("Click me", greet)
        hp = HorizontalPanel()
        hp.setWidth("100%")
        hp.setHeight("100%")
        hp.setBorderWidth("1")
        l = Label("hello world")
        hp.add(l)
        RootPanel().add(b)
        RootPanel().add(hp)

        #DOM.setCapture(l)
        #DOM.setEventListener(l, self)

        Window.addWindowResizeListener(self)
        Timer(1000, self)
예제 #15
0
    def loadChapters(self):

        self.curInfo = ''
        self.curSink = None
        self.description = HTML()
        self.sink_list = SinkList()
        self.panel = DockPanel()
        
        self.loadSinks()
        self.sinkContainer = DockPanel()
        self.sinkContainer.setStyleName("ks-Sink")

        #self.nf = NamedFrame("section")
        #self.nf.setWidth("100%")
        #self.nf.setHeight("10000")

        height = Window.getClientHeight()

        self.sp = ScrollPanel(self.sinkContainer)
        #self.sp = VerticalSplitPanel()
        self.sp.setWidth("100%")
        self.sp.setHeight("%dpx" % (height-110))

        #self.sp.setTopWidget(self.sinkContainer)
        #self.sp.setBottomWidget(self.nf)
        #self.sp.setSplitPosition(10000) # deliberately high - max out.

        vp = VerticalPanel()
        vp.setWidth("100%")
        vp.setHeight("100%")
        vp.add(self.description)
        vp.add(self.sp)

        self.description.setStyleName("ks-Intro")

        self.panel.add(self.sink_list, DockPanel.WEST)
        self.panel.add(vp, DockPanel.CENTER)

        self.panel.setCellVerticalAlignment(self.sink_list,
                                            HasAlignment.ALIGN_TOP)
        self.panel.setCellWidth(vp, "100%")
        self.panel.setCellHeight(vp, "100%")

        Window.addWindowResizeListener(self)

        History.addHistoryListener(self)
        RootPanel().add(self.panel)
예제 #16
0
    def __init__(self, parent = None):
        Sink.__init__(self, parent)
        self.reduceFiles = []
        if True:
            HTTPRequest().asyncGet("datadir.xml", 
                                    DirDictLoader(self),
                                )
        dock = DockPanel(HorizontalAlignment=HasAlignment.ALIGN_LEFT, 
                            Spacing=10,
                             Size=("100%","100%"))
        self.dock = dock
        self.fProto = []

        self.fTree = Tree()
        self.treePanel = ScrollPanel()
        self.treePanel.setSize("100%", 
                                str(
                                 int(
                                  Window.getClientHeight()*.75
                                 )
                                )+"px")
        Window.addWindowResizeListener(self)
        
        self.treePanel.add(self.fTree)
        dock.add(self.treePanel, DockPanel.WEST)
        
        
        #self.treePanel.setBorderWidth(1)
        #self.treePanel.setWidth("100%")
        
        prPanel = self.createRightPanel()
        dock.add(prPanel,DockPanel.EAST)
        
        dock.setCellWidth(self.treePanel, "50%")
        dock.setCellWidth(prPanel, "50%")
        for i in range(len(self.fProto)):
            self.createItem(self.fProto[i])
            self.fTree.addItem(self.fProto[i].item)

        self.fTree.addTreeListener(self)
        self.initWidget(self.dock)
        
        if False: #self.parent.filexml != None:
            DirDictLoader(self).onCompletion(self.parent.filexml)
예제 #17
0
    def onModuleLoad(self):
        self.curInfo = ''
        self.curSink = None
        self.description = HTML()
        self.sink_list = SinkList()
        self.panel = DockPanel()
        self.b = Button("load", self)

        self.sinkContainer = DockPanel()
        self.sinkContainer.setStyleName("ks-Sink")

        height = Window.getClientHeight()

        self.sp = ScrollPanel(self.sinkContainer)
        self.sp.setWidth("100%")
        self.sp.setHeight("%dpx" % (height - 110))

        vp = VerticalPanel()
        vp.setWidth("100%")
        vp.setHeight("100%")
        vp.add(self.description)
        vp.add(self.sp)

        self.description.setStyleName("ks-Intro")

        self.panel.add(self.sink_list, DockPanel.WEST)
        self.panel.add(vp, DockPanel.CENTER)

        self.panel.setCellVerticalAlignment(self.sink_list,
                                            HasAlignment.ALIGN_TOP)
        self.panel.setCellWidth(vp, "100%")
        self.panel.setCellHeight(vp, "100%")

        Window.addWindowResizeListener(self)

        History.addHistoryListener(self)
        RootPanel().add(self.panel)
        RootPanel().add(self.b)

        self.loadSinks()
예제 #18
0
    def onModuleLoad(self):
        self.curInfo=''
        self.curSink=None
        self.description=HTML()
        self.sink_list=SinkList()
        self.panel=DockPanel()
        self.b=Button("load", self)
        
        self.sinkContainer = DockPanel()
        self.sinkContainer.setStyleName("ks-Sink")

        height = Window.getClientHeight()

        self.sp = ScrollPanel(self.sinkContainer)
        self.sp.setWidth("100%")
        self.sp.setHeight("%dpx" % (height-110))

        vp=VerticalPanel()
        vp.setWidth("100%")
        vp.setHeight("100%")
        vp.add(self.description)
        vp.add(self.sp)

        self.description.setStyleName("ks-Intro")

        self.panel.add(self.sink_list, DockPanel.WEST)
        self.panel.add(vp, DockPanel.CENTER)

        self.panel.setCellVerticalAlignment(self.sink_list, HasAlignment.ALIGN_TOP)
        self.panel.setCellWidth(vp, "100%")
        self.panel.setCellHeight(vp, "100%")

        Window.addWindowResizeListener(self)

        History.addHistoryListener(self)
        RootPanel().add(self.panel)
        #RootPanel().add(self.b)

        self.loadSinks()
예제 #19
0
    def onModuleLoad(self):

        Window.addWindowResizeListener(self)

        panel = DockPanel()
        RootPanel().add(panel)
        self.panel = panel

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

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

        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>Location</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/pyjamas/Location.py">/home/lkcl/src/pyjamas-desktop/pyjamas-webkit/pyjamas/Location.py</a></font></td></tr></table>
    """)
        panel.add(head, DockPanel.NORTH)

        docs = HTML("""""")
        panel.add(docs, DockPanel.NORTH)

        tp = TabPanel()
        tp.setWidth("100%")
        self.tp = tp
        panel.add(tp, DockPanel.SOUTH)
        #panel.setCellHeight(tp, "100%")


        modules = [r'''<a href="docpyjslib.html">pyjslib</a>''']
        contents = self.multicolumn(modules)
        title = bigtitle('Modules')
        contents = section(title, 'module', contents)
        tp.add(contents, 'Modules')


        classes = [
Proto('Location'),
]

        class_content = {
'Location': r'''<p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#ffc8d8">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#000000" face="helvetica, arial"><a name="Location">class <strong>Location</strong></a></font></td></tr>
    
<tr bgcolor="#ffc8d8"><td rowspan=2><tt>&nbsp;&nbsp;&nbsp;</tt></td>
<td colspan=2><tt>Retrieve&nbsp;this&nbsp;class&nbsp;by&nbsp;calling&nbsp;Window.getLocation().<br>
&nbsp;<br>
This&nbsp;provides&nbsp;a&nbsp;pyjs&nbsp;wrapper&nbsp;for&nbsp;the&nbsp;current&nbsp;location,<br>
with&nbsp;some&nbsp;utility&nbsp;methods&nbsp;for&nbsp;convenience.<br>&nbsp;</tt></td></tr>
<tr><td>&nbsp;</td>
<td width="100%">Methods defined here:<br>
<dl><dt><a name="Location-__init__"><strong>__init__</strong></a>(self, location)</dt></dl>

<dl><dt><a name="Location-getHash"><strong>getHash</strong></a>(self)</dt></dl>

<dl><dt><a name="Location-getHashDict"><strong>getHashDict</strong></a>(self)</dt></dl>

<dl><dt><a name="Location-getHost"><strong>getHost</strong></a>(self)</dt></dl>

<dl><dt><a name="Location-getHostname"><strong>getHostname</strong></a>(self)</dt></dl>

<dl><dt><a name="Location-getHref"><strong>getHref</strong></a>(self)</dt></dl>

<dl><dt><a name="Location-getPageHref"><strong>getPageHref</strong></a>(self)</dt><dd><tt>Return&nbsp;href&nbsp;with&nbsp;any&nbsp;search&nbsp;or&nbsp;hash&nbsp;stripped</tt></dd></dl>

<dl><dt><a name="Location-getPathname"><strong>getPathname</strong></a>(self)</dt></dl>

<dl><dt><a name="Location-getPort"><strong>getPort</strong></a>(self)</dt></dl>

<dl><dt><a name="Location-getProtocol"><strong>getProtocol</strong></a>(self)</dt></dl>

<dl><dt><a name="Location-getSearch"><strong>getSearch</strong></a>(self)</dt></dl>

<dl><dt><a name="Location-getSearchDict"><strong>getSearchDict</strong></a>(self)</dt></dl>

<dl><dt><a name="Location-getSearchVar"><strong>getSearchVar</strong></a>(self, key)</dt></dl>

<dl><dt><a name="Location-reload"><strong>reload</strong></a>(self)</dt></dl>

<dl><dt><a name="Location-setHash"><strong>setHash</strong></a>(self, hash)</dt></dl>

<dl><dt><a name="Location-setHashDict"><strong>setHashDict</strong></a>(self, hashDict)</dt></dl>

<dl><dt><a name="Location-setHref"><strong>setHref</strong></a>(self, href)</dt></dl>

<dl><dt><a name="Location-setSearch"><strong>setSearch</strong></a>(self, search)</dt></dl>

<dl><dt><a name="Location-setSearchDict"><strong>setSearchDict</strong></a>(self, searchDict)</dt></dl>

</td></tr></table>''',
}

        self.class_doc = ClassDoc(classes, class_content)
        tp.add(self.class_doc, 'Classes')


        functions = ['<dl><dt><a name="-makeUrlDict"><strong>makeUrlDict</strong></a>(s)</dt></dl>\n', '<dl><dt><a name="-makeUrlStringFromDict"><strong>makeUrlStringFromDict</strong></a>(d)</dt></dl>\n']
        title = bigtitle('Functions')
        contents = section(title, 'functions', HTML('\n'.join(functions)))
        tp.add(contents, 'Functions')



        tp.addTabListener(self)
        tp.selectTab(0)

        # Call the window resized handler to get the initial sizes setup. Doing
        # this in a deferred command causes it to occur after all widgets' sizes
        # have been computed by the browser.

        DeferredCommand().add(self)
예제 #20
0
    def onModuleLoad(self):

        Window.addWindowResizeListener(self)

        panel = DockPanel()
        RootPanel().add(panel)
        self.panel = panel

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

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

        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>History</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/pyjamas/History.py">/home/lkcl/src/pyjamas-desktop/pyjamas-webkit/pyjamas/History.py</a></font></td></tr></table>
    """)
        panel.add(head, DockPanel.NORTH)

        docs = HTML("""""")
        panel.add(docs, DockPanel.NORTH)

        tp = TabPanel()
        tp.setWidth("100%")
        self.tp = tp
        panel.add(tp, DockPanel.SOUTH)
        #panel.setCellHeight(tp, "100%")


        classes = [
Proto('History'),
]

        class_content = {
'History': r'''<p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#ffc8d8">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#000000" face="helvetica, arial"><a name="History">class <strong>History</strong></a></font></td></tr>
    
<tr bgcolor="#ffc8d8"><td rowspan=2><tt>&nbsp;&nbsp;&nbsp;</tt></td>
<td colspan=2><tt>Simple&nbsp;<a href="#History">History</a>&nbsp;management&nbsp;class&nbsp;for&nbsp;back/forward&nbsp;button&nbsp;support.<br>
&nbsp;<br>
This&nbsp;class&nbsp;allows&nbsp;your&nbsp;AJAX&nbsp;application&nbsp;to&nbsp;use&nbsp;a&nbsp;history.&nbsp;&nbsp;Each&nbsp;time&nbsp;you<br>
call&nbsp;<a href="#History-newItem">newItem</a>(),&nbsp;a&nbsp;new&nbsp;item&nbsp;is&nbsp;added&nbsp;to&nbsp;the&nbsp;history&nbsp;and&nbsp;the&nbsp;history<br>
listeners&nbsp;are&nbsp;notified.&nbsp;&nbsp;If&nbsp;the&nbsp;user&nbsp;clicks&nbsp;the&nbsp;browser's&nbsp;forward&nbsp;or&nbsp;back&nbsp;<br>
buttons,&nbsp;the&nbsp;appropriate&nbsp;item&nbsp;(a&nbsp;string&nbsp;passed&nbsp;to&nbsp;newItem)&nbsp;is&nbsp;fetched<br>
from&nbsp;the&nbsp;history&nbsp;and&nbsp;the&nbsp;history&nbsp;listeners&nbsp;are&nbsp;notified.<br>
&nbsp;<br>
The&nbsp;address&nbsp;bar&nbsp;of&nbsp;the&nbsp;browser&nbsp;contains&nbsp;the&nbsp;current&nbsp;token,&nbsp;using&nbsp;<br>
the&nbsp;"#"&nbsp;seperator&nbsp;(for&nbsp;implementation&nbsp;reasons,&nbsp;not&nbsp;because&nbsp;we&nbsp;love&nbsp;<br>
the&nbsp;#&nbsp;mark).<br>
&nbsp;<br>
You&nbsp;may&nbsp;want&nbsp;to&nbsp;check&nbsp;whether&nbsp;the&nbsp;hash&nbsp;already&nbsp;contains&nbsp;a&nbsp;history<br>
token&nbsp;when&nbsp;the&nbsp;page&nbsp;loads&nbsp;and&nbsp;use&nbsp;that&nbsp;to&nbsp;show&nbsp;appropriate&nbsp;content;<br>
this&nbsp;allows&nbsp;users&nbsp;of&nbsp;the&nbsp;site&nbsp;to&nbsp;store&nbsp;direct&nbsp;links&nbsp;in&nbsp;their<br>
bookmarks&nbsp;or&nbsp;send&nbsp;them&nbsp;in&nbsp;emails.<br>
&nbsp;<br>
To&nbsp;make&nbsp;this&nbsp;work&nbsp;properly&nbsp;in&nbsp;all&nbsp;browsers,&nbsp;you&nbsp;must&nbsp;add&nbsp;a&nbsp;specially<br>
named&nbsp;iframe&nbsp;to&nbsp;your&nbsp;html&nbsp;page,&nbsp;like&nbsp;this:<br>
&nbsp;<br>
&lt;iframe&nbsp;id='__pygwt_historyFrame'&nbsp;style='width:0;height:0;border:0'&gt;&lt;/iframe&gt;<br>&nbsp;</tt></td></tr>
<tr><td>&nbsp;</td>
<td width="100%">Methods defined here:<br>
<dl><dt><a name="History-addHistoryListener"><strong>addHistoryListener</strong></a>(self, listener)</dt></dl>

<dl><dt><a name="History-back"><strong>back</strong></a>(self)</dt></dl>

<dl><dt><a name="History-fireHistoryChangedAndCatch"><strong>fireHistoryChangedAndCatch</strong></a>(self)</dt><dd><tt>#&nbsp;TODO</tt></dd></dl>

<dl><dt><a name="History-fireHistoryChangedImpl"><strong>fireHistoryChangedImpl</strong></a>(self, historyToken)</dt></dl>

<dl><dt><a name="History-forward"><strong>forward</strong></a>(self)</dt></dl>

<dl><dt><a name="History-getToken"><strong>getToken</strong></a>(self)</dt></dl>

<dl><dt><a name="History-newItem"><strong>newItem</strong></a>(self, historyToken)</dt></dl>

<dl><dt><a name="History-onHistoryChanged"><strong>onHistoryChanged</strong></a>(self, historyToken)</dt><dd><tt>#&nbsp;TODO&nbsp;-&nbsp;fireHistoryChangedAndCatch&nbsp;not&nbsp;implemented</tt></dd></dl>

<dl><dt><a name="History-removeHistoryListener"><strong>removeHistoryListener</strong></a>(self, listener)</dt></dl>

</td></tr></table>''',
}

        self.class_doc = ClassDoc(classes, class_content)
        tp.add(self.class_doc, 'Classes')


        functions = ['<dl><dt><a name="-init"><strong>init</strong></a>()</dt></dl>\n']
        title = bigtitle('Functions')
        contents = section(title, 'functions', HTML('\n'.join(functions)))
        tp.add(contents, 'Functions')


        data = [r'''<strong>historyListeners</strong> = []''',r'''<strong>historyToken</strong> = ''''']
        title = bigtitle('Data')
        contents = section(title, 'data', HTML('\n'.join(data)))
        tp.add(contents, 'Data')



        tp.addTabListener(self)
        tp.selectTab(0)

        # Call the window resized handler to get the initial sizes setup. Doing
        # this in a deferred command causes it to occur after all widgets' sizes
        # have been computed by the browser.

        DeferredCommand().add(self)
 def showGlass(self):
     self.setGlassPosition()
     doc().body.appendChild(self.getElement())
     Window.addWindowResizeListener(self)
예제 #22
0
    def onModuleLoad(self):

        Window.addWindowResizeListener(self)

        panel = DockPanel()
        RootPanel().add(panel)
        self.panel = panel

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

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

        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>JSONParser</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/pyjamas/JSONParser.py">/home/lkcl/src/pyjamas-desktop/pyjamas-webkit/pyjamas/JSONParser.py</a></font></td></tr></table>
    """)
        panel.add(head, DockPanel.NORTH)

        docs = HTML("""<tt>This&nbsp;module&nbsp;contains&nbsp;a&nbsp;JSON&nbsp;Parser&nbsp;class<br>
&nbsp;<br>
JSONEncode:<br>
&nbsp;&nbsp;&nbsp;&nbsp;+---------------+-------------------+---------------+<br>
&nbsp;&nbsp;&nbsp;&nbsp;|&nbsp;PYGWT&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|&nbsp;Python&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|&nbsp;JSON&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|<br>
&nbsp;&nbsp;&nbsp;&nbsp;+===============+===================+===============+<br>
&nbsp;&nbsp;&nbsp;&nbsp;|&nbsp;pyjslib_Dict&nbsp;&nbsp;|&nbsp;dict&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|&nbsp;object&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|<br>
&nbsp;&nbsp;&nbsp;&nbsp;+---------------+-------------------+---------------+<br>
&nbsp;&nbsp;&nbsp;&nbsp;|&nbsp;pyjslib_List&nbsp;&nbsp;|&nbsp;list,&nbsp;tuple&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|&nbsp;array&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|<br>
&nbsp;&nbsp;&nbsp;&nbsp;+---------------+-------------------+---------------+<br>
&nbsp;&nbsp;&nbsp;&nbsp;|&nbsp;string&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|&nbsp;str,&nbsp;unicode&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|&nbsp;string&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|<br>
&nbsp;&nbsp;&nbsp;&nbsp;+---------------+-------------------+---------------+<br>
&nbsp;&nbsp;&nbsp;&nbsp;|&nbsp;number&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|&nbsp;int,&nbsp;long,&nbsp;float&nbsp;&nbsp;|&nbsp;number&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|<br>
&nbsp;&nbsp;&nbsp;&nbsp;+---------------+-------------------+---------------+<br>
&nbsp;&nbsp;&nbsp;&nbsp;|&nbsp;true&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|&nbsp;True&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|&nbsp;true&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|<br>
&nbsp;&nbsp;&nbsp;&nbsp;+---------------+-------------------+---------------+<br>
&nbsp;&nbsp;&nbsp;&nbsp;|&nbsp;false&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|&nbsp;False&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|&nbsp;false&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|<br>
&nbsp;&nbsp;&nbsp;&nbsp;+---------------+-------------------+---------------+<br>
&nbsp;&nbsp;&nbsp;&nbsp;|&nbsp;null&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|&nbsp;None&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|&nbsp;null&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|<br>
&nbsp;&nbsp;&nbsp;&nbsp;+---------------+-------------------+---------------+<br>
&nbsp;<br>
&nbsp;<br>
JSONDecode:<br>
&nbsp;&nbsp;&nbsp;&nbsp;+---------------+-------------------+--------------+<br>
&nbsp;&nbsp;&nbsp;&nbsp;|&nbsp;JSON&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|&nbsp;Python&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|&nbsp;PYGWT&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|<br>
&nbsp;&nbsp;&nbsp;&nbsp;+===============+===================+==============+<br>
&nbsp;&nbsp;&nbsp;&nbsp;|&nbsp;object&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|&nbsp;dict&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|&nbsp;pyjslib_Dict&nbsp;|<br>
&nbsp;&nbsp;&nbsp;&nbsp;+---------------+-------------------+--------------+<br>
&nbsp;&nbsp;&nbsp;&nbsp;|&nbsp;array&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|&nbsp;list&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|&nbsp;pyjslib_List&nbsp;|<br>
&nbsp;&nbsp;&nbsp;&nbsp;+---------------+-------------------+--------------+<br>
&nbsp;&nbsp;&nbsp;&nbsp;|&nbsp;string&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|&nbsp;unicode&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|&nbsp;string&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|<br>
&nbsp;&nbsp;&nbsp;&nbsp;+---------------+-------------------+--------------+<br>
&nbsp;&nbsp;&nbsp;&nbsp;|&nbsp;number&nbsp;(int)&nbsp;&nbsp;|&nbsp;int,&nbsp;long&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|&nbsp;number&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|<br>
&nbsp;&nbsp;&nbsp;&nbsp;+---------------+-------------------+--------------+<br>
&nbsp;&nbsp;&nbsp;&nbsp;|&nbsp;number&nbsp;(real)&nbsp;|&nbsp;float&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|&nbsp;number&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|<br>
&nbsp;&nbsp;&nbsp;&nbsp;+---------------+-------------------+--------------+<br>
&nbsp;&nbsp;&nbsp;&nbsp;|&nbsp;true&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|&nbsp;True&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|&nbsp;true&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|<br>
&nbsp;&nbsp;&nbsp;&nbsp;+---------------+-------------------+--------------+<br>
&nbsp;&nbsp;&nbsp;&nbsp;|&nbsp;false&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|&nbsp;False&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|&nbsp;false&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|<br>
&nbsp;&nbsp;&nbsp;&nbsp;+---------------+-------------------+--------------+<br>
&nbsp;&nbsp;&nbsp;&nbsp;|&nbsp;null&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|&nbsp;None&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|&nbsp;null&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|<br>
&nbsp;&nbsp;&nbsp;&nbsp;+---------------+-------------------+--------------+</tt>""")
        panel.add(docs, DockPanel.NORTH)

        tp = TabPanel()
        tp.setWidth("100%")
        self.tp = tp
        panel.add(tp, DockPanel.SOUTH)
        #panel.setCellHeight(tp, "100%")


        classes = [
Proto('JSONParser'),
]

        class_content = {
'JSONParser': r'''<p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#ffc8d8">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#000000" face="helvetica, arial"><a name="JSONParser">class <strong>JSONParser</strong></a></font></td></tr>
    
<tr><td bgcolor="#ffc8d8"><tt>&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>
<td width="100%">Methods defined here:<br>
<dl><dt><a name="JSONParser-decode"><strong>decode</strong></a>(self, str)</dt></dl>

<dl><dt><a name="JSONParser-decodeAsObject"><strong>decodeAsObject</strong></a>(self, str)</dt></dl>

<dl><dt><a name="JSONParser-encode"><strong>encode</strong></a>(self, obj)</dt></dl>

<dl><dt><a name="JSONParser-jsObjectToPy"><strong>jsObjectToPy</strong></a>(self, obj)</dt></dl>

<dl><dt><a name="JSONParser-jsObjectToPyObject"><strong>jsObjectToPyObject</strong></a>(self, obj)</dt><dd><tt>#&nbsp;TODO:&nbsp;__init__&nbsp;parameters</tt></dd></dl>

<dl><dt><a name="JSONParser-parseJSON"><strong>parseJSON</strong></a>(self, str)</dt></dl>

<dl><dt><a name="JSONParser-toJSONString"><strong>toJSONString</strong></a>(self, obj)</dt><dd><tt>#&nbsp;modified&nbsp;to&nbsp;detect&nbsp;__pyjslib_List&nbsp;&amp;&nbsp;__pyjslib_Dict</tt></dd></dl>

</td></tr></table>''',
}

        self.class_doc = ClassDoc(classes, class_content)
        tp.add(self.class_doc, 'Classes')



        tp.addTabListener(self)
        tp.selectTab(0)

        # Call the window resized handler to get the initial sizes setup. Doing
        # this in a deferred command causes it to occur after all widgets' sizes
        # have been computed by the browser.

        DeferredCommand().add(self)
예제 #23
0
파일: Bookreader.py 프로젝트: Afey/pyjs
    def loadChapters(self):

        self.curInfo = ''
        self.curSink = None
        self.description = HTML()
        self.sink_list = SinkList()
        self.panel = DockPanel()

        self.loadSinks()
        self.sinkContainer = DockPanel()
        self.sinkContainer.setStyleName("ks-Sink")

        #self.nf = NamedFrame("section")
        #self.nf.setWidth("100%")
        #self.nf.setHeight("10000")

        self.sp = ScrollPanel(self.sinkContainer)
        #self.sp = VerticalSplitPanel()
        self.sp.setWidth("100%")
        self.sp.setHeight("100%")

        #self.sp.setTopWidget(self.sinkContainer)
        #self.sp.setBottomWidget(self.nf)
        #self.sp.setSplitPosition(10000) # deliberately high - max out.

        vp = VerticalPanel()
        vp.setWidth("99%")
        vp.setHeight("100%")
        vp.add(self.description)
        vp.add(self.sp)

        authors = [
            ("2008, 2009", "Kenneth Casson Leighton", "*****@*****.**")
        ]
        for years, name, email in authors:
            authors_html = \
            '&copy; %s <a href="mailto:%s">%s</a><br />' %\
            (years, email, name)
        authors_panel = HTML()
        authors_panel.setStyleName("ks-Authors")
        authors_panel.setHTML(authors_html[:-6])

        left_panel = DockPanel(Height="100%")
        left_panel.add(self.sink_list, DockPanel.NORTH)
        left_panel.add(authors_panel, DockPanel.SOUTH)

        self.description.setStyleName("ks-Intro")

        self.panel.add(left_panel, DockPanel.WEST)
        self.panel.add(vp, DockPanel.CENTER)

        self.panel.setCellVerticalAlignment(self.sink_list,
                                            HasAlignment.ALIGN_TOP)
        self.panel.setCellWidth(vp, "100%")
        self.panel.setCellHeight(vp, "100%")

        Window.addWindowResizeListener(self)

        History.addHistoryListener(self)
        RootPanel().add(self.panel)

        self.onWindowResized(Window.getClientWidth(), Window.getClientHeight())
예제 #24
0
    def onModuleLoad(self):

        Window.addWindowResizeListener(self)

        panel = DockPanel()
        RootPanel().add(panel)
        self.panel = panel

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

        title = HTML("<h1>HTTPRequest</h1>")
        description = HTML("""""")
        # panel.add(title, DockPanel.NORTH)
        panel.add(description, DockPanel.NORTH)

        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>HTTPRequest</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/pyjamas/HTTPRequest.py">/home/lkcl/src/pyjamas-desktop/pyjamas-webkit/pyjamas/HTTPRequest.py</a></font></td></tr></table>
    """
        )
        panel.add(head, DockPanel.NORTH)

        docs = HTML("""""")
        panel.add(docs, DockPanel.NORTH)

        tp = TabPanel()
        tp.setWidth("100%")
        self.tp = tp
        panel.add(tp, DockPanel.SOUTH)
        # panel.setCellHeight(tp, "100%")

        modules = [r"""<a href="docpyjamas.Cookies.html">pyjamas.Cookies</a>""", r"""<a href="docsys.html">sys</a>"""]
        contents = self.multicolumn(modules)
        title = bigtitle("Modules")
        contents = section(title, "module", contents)
        tp.add(contents, "Modules")

        classes = [Proto("HTTPRequest")]

        class_content = {
            "HTTPRequest": r"""<p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#ffc8d8">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#000000" face="helvetica, arial"><a name="HTTPRequest">class <strong>HTTPRequest</strong></a></font></td></tr>
    
<tr><td bgcolor="#ffc8d8"><tt>&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>
<td width="100%">Methods defined here:<br>
<dl><dt><a name="HTTPRequest-asyncGet"><strong>asyncGet</strong></a>(self, user, pwd, url, handler)</dt><dd><tt>#&nbsp;also&nbsp;callable&nbsp;as:&nbsp;<a href="#HTTPRequest-asyncGet">asyncGet</a>(self,&nbsp;url,&nbsp;handler)</tt></dd></dl>

<dl><dt><a name="HTTPRequest-asyncGetImpl"><strong>asyncGetImpl</strong></a>(self, user, pwd, url, handler)</dt></dl>

<dl><dt><a name="HTTPRequest-asyncPost"><strong>asyncPost</strong></a>(self, user, pwd, url, postData<font color="#909090">=None</font>, handler<font color="#909090">=None</font>)</dt><dd><tt>#&nbsp;also&nbsp;callable&nbsp;as:&nbsp;<a href="#HTTPRequest-asyncPost">asyncPost</a>(self,&nbsp;url,&nbsp;postData,&nbsp;handler)</tt></dd></dl>

<dl><dt><a name="HTTPRequest-asyncPostImpl"><strong>asyncPostImpl</strong></a>(self, user, pwd, url, postData, handler)</dt></dl>

<dl><dt><a name="HTTPRequest-createXmlHTTPRequest"><strong>createXmlHTTPRequest</strong></a>(self)</dt></dl>

<dl><dt><a name="HTTPRequest-doCreateXmlHTTPRequest"><strong>doCreateXmlHTTPRequest</strong></a>(self)</dt></dl>

<dl><dt><a name="HTTPRequest-onReadyStateChange"><strong>onReadyStateChange</strong></a>(self, xmlHttp, event, ignorearg)</dt></dl>

</td></tr></table>"""
        }

        self.class_doc = ClassDoc(classes, class_content)
        tp.add(self.class_doc, "Classes")

        tp.addTabListener(self)
        tp.selectTab(0)

        # Call the window resized handler to get the initial sizes setup. Doing
        # this in a deferred command causes it to occur after all widgets' sizes
        # have been computed by the browser.

        DeferredCommand().add(self)
    def onModuleLoad(self):

        Window.addWindowResizeListener(self)

        panel = DockPanel()
        RootPanel().add(panel)
        self.panel = panel

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

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

        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>EventDelegate</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/pyjamas/EventDelegate.py">/home/lkcl/src/pyjamas-desktop/pyjamas-webkit/pyjamas/EventDelegate.py</a></font></td></tr></table>
    """)
        panel.add(head, DockPanel.NORTH)

        docs = HTML("""""")
        panel.add(docs, DockPanel.NORTH)

        tp = TabPanel()
        tp.setWidth("100%")
        self.tp = tp
        panel.add(tp, DockPanel.SOUTH)
        #panel.setCellHeight(tp, "100%")


        classes = [
Proto('EventDelegate'),
]

        class_content = {
'EventDelegate': r'''<p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#ffc8d8">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#000000" face="helvetica, arial"><a name="EventDelegate">class <strong>EventDelegate</strong></a></font></td></tr>
    
<tr bgcolor="#ffc8d8"><td rowspan=2><tt>&nbsp;&nbsp;&nbsp;</tt></td>
<td colspan=2><tt>Create&nbsp;the&nbsp;equivalent&nbsp;of&nbsp;a&nbsp;bound&nbsp;method.&nbsp;&nbsp;This&nbsp;also&nbsp;prepends&nbsp;extra&nbsp;<br>
args,&nbsp;if&nbsp;any,&nbsp;to&nbsp;the&nbsp;called&nbsp;method's&nbsp;argument&nbsp;list&nbsp;when&nbsp;it&nbsp;calls&nbsp;it.<br>
&nbsp;<br>
Pass&nbsp;the&nbsp;method&nbsp;name&nbsp;you&nbsp;want&nbsp;to&nbsp;implement&nbsp;(javascript&nbsp;doesn't<br>
support&nbsp;callables).<br>
&nbsp;<br>
@type&nbsp;args:&nbsp;list<br>
@param&nbsp;args:&nbsp;If&nbsp;given,&nbsp;the&nbsp;arguments&nbsp;will&nbsp;be&nbsp;prepended&nbsp;to&nbsp;the&nbsp;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;arguments&nbsp;passed&nbsp;to&nbsp;the&nbsp;event&nbsp;callback<br>&nbsp;</tt></td></tr>
<tr><td>&nbsp;</td>
<td width="100%">Methods defined here:<br>
<dl><dt><a name="EventDelegate-__init__"><strong>__init__</strong></a>(self, eventMethodName, obj, method, *args)</dt></dl>

<dl><dt><a name="EventDelegate-onEvent"><strong>onEvent</strong></a>(self, *args)</dt></dl>

</td></tr></table>''',
}

        self.class_doc = ClassDoc(classes, class_content)
        tp.add(self.class_doc, 'Classes')



        tp.addTabListener(self)
        tp.selectTab(0)

        # Call the window resized handler to get the initial sizes setup. Doing
        # this in a deferred command causes it to occur after all widgets' sizes
        # have been computed by the browser.

        DeferredCommand().add(self)
    def onModuleLoad(self):

        Window.addWindowResizeListener(self)

        panel = DockPanel()
        RootPanel().add(panel)
        self.panel = panel

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

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

        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>DeferredCommand</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/pyjamas/DeferredCommand.py">/home/lkcl/src/pyjamas-desktop/pyjamas-webkit/pyjamas/DeferredCommand.py</a></font></td></tr></table>
    """)
        panel.add(head, DockPanel.NORTH)

        docs = HTML("""""")
        panel.add(docs, DockPanel.NORTH)

        tp = TabPanel()
        tp.setWidth("100%")
        self.tp = tp
        panel.add(tp, DockPanel.SOUTH)
        #panel.setCellHeight(tp, "100%")


        classes = [
Proto('DeferredCommand'),
]

        class_content = {
'DeferredCommand': r'''<p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#ffc8d8">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#000000" face="helvetica, arial"><a name="DeferredCommand">class <strong>DeferredCommand</strong></a></font></td></tr>
    
<tr><td bgcolor="#ffc8d8"><tt>&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>
<td width="100%">Methods defined here:<br>
<dl><dt><a name="DeferredCommand-add"><strong>add</strong></a>(self, cmd)</dt></dl>

<dl><dt><a name="DeferredCommand-flushDeferredCommands"><strong>flushDeferredCommands</strong></a>(self)</dt></dl>

<dl><dt><a name="DeferredCommand-maybeSetDeferredCommandTimer"><strong>maybeSetDeferredCommandTimer</strong></a>(self)</dt></dl>

<dl><dt><a name="DeferredCommand-onTimer"><strong>onTimer</strong></a>(self, sender)</dt></dl>

</td></tr></table>''',
}

        self.class_doc = ClassDoc(classes, class_content)
        tp.add(self.class_doc, 'Classes')


        data = [r'''<strong>deferredCommands</strong> = []''',r'''<strong>timerIsActive</strong> = False''']
        title = bigtitle('Data')
        contents = section(title, 'data', HTML('\n'.join(data)))
        tp.add(contents, 'Data')



        tp.addTabListener(self)
        tp.selectTab(0)

        # Call the window resized handler to get the initial sizes setup. Doing
        # this in a deferred command causes it to occur after all widgets' sizes
        # have been computed by the browser.

        DeferredCommand().add(self)
예제 #27
0
파일: PopupPanel.py 프로젝트: Afey/pyjs
 def showGlass(self):
     Window.enableScrolling(False)
     self.setGlassPosition()
     doc().body.appendChild(self.glass)
     Window.addWindowResizeListener(self)
예제 #28
0
    def onModuleLoad(self):

        Window.addWindowResizeListener(self)

        panel = DockPanel()
        RootPanel().add(panel)
        self.panel = panel

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

        title = HTML("<h1>pyjslib</h1>")
        description = HTML("""""")
        # panel.add(title, DockPanel.NORTH)
        panel.add(description, DockPanel.NORTH)

        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>pyjslib</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/pyjamas/pyjslib.py">/home/lkcl/src/pyjamas-desktop/pyjamas-webkit/pyjamas/pyjslib.py</a></font></td></tr></table>
    """
        )
        panel.add(head, DockPanel.NORTH)

        docs = HTML(
            """<tt>#&nbsp;Copyright&nbsp;2006&nbsp;James&nbsp;Tauber&nbsp;and&nbsp;contributors<br>
#<br>
#&nbsp;Licensed&nbsp;under&nbsp;the&nbsp;Apache&nbsp;License,&nbsp;Version&nbsp;2.0&nbsp;(the&nbsp;"License");<br>
#&nbsp;you&nbsp;may&nbsp;not&nbsp;use&nbsp;this&nbsp;file&nbsp;except&nbsp;in&nbsp;compliance&nbsp;with&nbsp;the&nbsp;License.<br>
#&nbsp;You&nbsp;may&nbsp;obtain&nbsp;a&nbsp;copy&nbsp;of&nbsp;the&nbsp;License&nbsp;at<br>
#<br>
#&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="http://www.apache.org/licenses/LICENSE-2.0">http://www.apache.org/licenses/LICENSE-2.0</a><br>
#<br>
#&nbsp;Unless&nbsp;required&nbsp;by&nbsp;applicable&nbsp;law&nbsp;or&nbsp;agreed&nbsp;to&nbsp;in&nbsp;writing,&nbsp;software<br>
#&nbsp;distributed&nbsp;under&nbsp;the&nbsp;License&nbsp;is&nbsp;distributed&nbsp;on&nbsp;an&nbsp;"AS&nbsp;IS"&nbsp;BASIS,<br>
#&nbsp;WITHOUT&nbsp;WARRANTIES&nbsp;OR&nbsp;CONDITIONS&nbsp;OF&nbsp;ANY&nbsp;KIND,&nbsp;either&nbsp;express&nbsp;or&nbsp;implied.<br>
#&nbsp;See&nbsp;the&nbsp;License&nbsp;for&nbsp;the&nbsp;specific&nbsp;language&nbsp;governing&nbsp;permissions&nbsp;and<br>
#&nbsp;limitations&nbsp;under&nbsp;the&nbsp;License.</tt>"""
        )
        panel.add(docs, DockPanel.NORTH)

        tp = TabPanel()
        tp.setWidth("100%")
        self.tp = tp
        panel.add(tp, DockPanel.SOUTH)
        # panel.setCellHeight(tp, "100%")

        classes = [Proto("Class"), Proto("Dict"), Proto("List", [Proto("Tuple"), Proto("Tuple")]), Proto("Object")]

        class_content = {
            "Tuple": r"""<p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#ffc8d8">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#000000" face="helvetica, arial"><a name="Tuple">class <strong>Tuple</strong></a>(<a href="docpyjslib.html#List">List</a>)</font></td></tr>
    
<tr><td bgcolor="#ffc8d8"><tt>&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>
<td width="100%">Methods defined here:<br>
<dl><dt><a name="Tuple-__init__"><strong>__init__</strong></a>(self, data)</dt></dl>

<hr>
Methods inherited from <a href="docpyjslib.html#List">List</a>:<br>
<dl><dt><a name="Tuple-__contains__"><strong>__contains__</strong></a>(self, value)</dt></dl>

<dl><dt><a name="Tuple-__delitem__"><strong>__delitem__</strong></a>(self, index)</dt></dl>

<dl><dt><a name="Tuple-__getitem__"><strong>__getitem__</strong></a>(self, index)</dt></dl>

<dl><dt><a name="Tuple-__iter__"><strong>__iter__</strong></a>(self)</dt></dl>

<dl><dt><a name="Tuple-__len__"><strong>__len__</strong></a>(self)</dt></dl>

<dl><dt><a name="Tuple-__setitem__"><strong>__setitem__</strong></a>(self, index, value)</dt></dl>

<dl><dt><a name="Tuple-append"><strong>append</strong></a>(self, item)</dt></dl>

<dl><dt><a name="Tuple-getArray"><strong>getArray</strong></a>(self)</dt><dd><tt>Access&nbsp;the&nbsp;javascript&nbsp;Array&nbsp;that&nbsp;is&nbsp;used&nbsp;internally&nbsp;by&nbsp;this&nbsp;<a href="#list">list</a></tt></dd></dl>

<dl><dt><a name="Tuple-index"><strong>index</strong></a>(self, value, start<font color="#909090">=0</font>)</dt></dl>

<dl><dt><a name="Tuple-insert"><strong>insert</strong></a>(self, index, value)</dt></dl>

<dl><dt><a name="Tuple-pop"><strong>pop</strong></a>(self, index<font color="#909090">=-1</font>)</dt></dl>

<dl><dt><a name="Tuple-remove"><strong>remove</strong></a>(self, value)</dt></dl>

<dl><dt><a name="Tuple-slice"><strong>slice</strong></a>(self, lower, upper)</dt></dl>

<dl><dt><a name="Tuple-sort"><strong>sort</strong></a>(self, compareFunc<font color="#909090">=None</font>, keyFunc<font color="#909090">=None</font>, reverse<font color="#909090">=False</font>)</dt></dl>

</td></tr></table>""",
            "list": r"""<p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#ffc8d8">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#000000" face="helvetica, arial"><strong>list</strong> = <a name="list">class List</a></font></td></tr>
    
<tr><td bgcolor="#ffc8d8"><tt>&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>
<td width="100%">Methods defined here:<br>
<dl><dt><a name="List-__contains__"><strong>__contains__</strong></a>(self, value)</dt></dl>

<dl><dt><a name="List-__delitem__"><strong>__delitem__</strong></a>(self, index)</dt></dl>

<dl><dt><a name="List-__getitem__"><strong>__getitem__</strong></a>(self, index)</dt></dl>

<dl><dt><a name="List-__init__"><strong>__init__</strong></a>(self, data<font color="#909090">=None</font>)</dt></dl>

<dl><dt><a name="List-__iter__"><strong>__iter__</strong></a>(self)</dt></dl>

<dl><dt><a name="List-__len__"><strong>__len__</strong></a>(self)</dt></dl>

<dl><dt><a name="List-__setitem__"><strong>__setitem__</strong></a>(self, index, value)</dt></dl>

<dl><dt><a name="List-append"><strong>append</strong></a>(self, item)</dt></dl>

<dl><dt><a name="List-getArray"><strong>getArray</strong></a>(self)</dt><dd><tt>Access&nbsp;the&nbsp;javascript&nbsp;Array&nbsp;that&nbsp;is&nbsp;used&nbsp;internally&nbsp;by&nbsp;this&nbsp;<a href="#list">list</a></tt></dd></dl>

<dl><dt><a name="List-index"><strong>index</strong></a>(self, value, start<font color="#909090">=0</font>)</dt></dl>

<dl><dt><a name="List-insert"><strong>insert</strong></a>(self, index, value)</dt></dl>

<dl><dt><a name="List-pop"><strong>pop</strong></a>(self, index<font color="#909090">=-1</font>)</dt></dl>

<dl><dt><a name="List-remove"><strong>remove</strong></a>(self, value)</dt></dl>

<dl><dt><a name="List-slice"><strong>slice</strong></a>(self, lower, upper)</dt></dl>

<dl><dt><a name="List-sort"><strong>sort</strong></a>(self, compareFunc<font color="#909090">=None</font>, keyFunc<font color="#909090">=None</font>, reverse<font color="#909090">=False</font>)</dt></dl>

</td></tr></table>""",
            "Object": r"""<p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#ffc8d8">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#000000" face="helvetica, arial"><a name="Object">class <strong>Object</strong></a></font></td></tr>
    
<tr><td bgcolor="#ffc8d8"><tt>&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>
<td width="100%"></td></tr></table>""",
            "List": r"""<p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#ffc8d8">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#000000" face="helvetica, arial"><a name="List">class <strong>List</strong></a></font></td></tr>
    
<tr><td bgcolor="#ffc8d8"><tt>&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>
<td width="100%">Methods defined here:<br>
<dl><dt><a name="List-__contains__"><strong>__contains__</strong></a>(self, value)</dt></dl>

<dl><dt><a name="List-__delitem__"><strong>__delitem__</strong></a>(self, index)</dt></dl>

<dl><dt><a name="List-__getitem__"><strong>__getitem__</strong></a>(self, index)</dt></dl>

<dl><dt><a name="List-__init__"><strong>__init__</strong></a>(self, data<font color="#909090">=None</font>)</dt></dl>

<dl><dt><a name="List-__iter__"><strong>__iter__</strong></a>(self)</dt></dl>

<dl><dt><a name="List-__len__"><strong>__len__</strong></a>(self)</dt></dl>

<dl><dt><a name="List-__setitem__"><strong>__setitem__</strong></a>(self, index, value)</dt></dl>

<dl><dt><a name="List-append"><strong>append</strong></a>(self, item)</dt></dl>

<dl><dt><a name="List-getArray"><strong>getArray</strong></a>(self)</dt><dd><tt>Access&nbsp;the&nbsp;javascript&nbsp;Array&nbsp;that&nbsp;is&nbsp;used&nbsp;internally&nbsp;by&nbsp;this&nbsp;<a href="#list">list</a></tt></dd></dl>

<dl><dt><a name="List-index"><strong>index</strong></a>(self, value, start<font color="#909090">=0</font>)</dt></dl>

<dl><dt><a name="List-insert"><strong>insert</strong></a>(self, index, value)</dt></dl>

<dl><dt><a name="List-pop"><strong>pop</strong></a>(self, index<font color="#909090">=-1</font>)</dt></dl>

<dl><dt><a name="List-remove"><strong>remove</strong></a>(self, value)</dt></dl>

<dl><dt><a name="List-slice"><strong>slice</strong></a>(self, lower, upper)</dt></dl>

<dl><dt><a name="List-sort"><strong>sort</strong></a>(self, compareFunc<font color="#909090">=None</font>, keyFunc<font color="#909090">=None</font>, reverse<font color="#909090">=False</font>)</dt></dl>

</td></tr></table>""",
            "tuple": r"""<p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#ffc8d8">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#000000" face="helvetica, arial"><strong>tuple</strong> = <a name="tuple">class Tuple</a>(<a href="docpyjslib.html#List">List</a>)</font></td></tr>
    
<tr><td bgcolor="#ffc8d8"><tt>&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>
<td width="100%">Methods defined here:<br>
<dl><dt><a name="Tuple-__init__"><strong>__init__</strong></a>(self, data)</dt></dl>

<hr>
Methods inherited from <a href="docpyjslib.html#List">List</a>:<br>
<dl><dt><a name="Tuple-__contains__"><strong>__contains__</strong></a>(self, value)</dt></dl>

<dl><dt><a name="Tuple-__delitem__"><strong>__delitem__</strong></a>(self, index)</dt></dl>

<dl><dt><a name="Tuple-__getitem__"><strong>__getitem__</strong></a>(self, index)</dt></dl>

<dl><dt><a name="Tuple-__iter__"><strong>__iter__</strong></a>(self)</dt></dl>

<dl><dt><a name="Tuple-__len__"><strong>__len__</strong></a>(self)</dt></dl>

<dl><dt><a name="Tuple-__setitem__"><strong>__setitem__</strong></a>(self, index, value)</dt></dl>

<dl><dt><a name="Tuple-append"><strong>append</strong></a>(self, item)</dt></dl>

<dl><dt><a name="Tuple-getArray"><strong>getArray</strong></a>(self)</dt><dd><tt>Access&nbsp;the&nbsp;javascript&nbsp;Array&nbsp;that&nbsp;is&nbsp;used&nbsp;internally&nbsp;by&nbsp;this&nbsp;<a href="#list">list</a></tt></dd></dl>

<dl><dt><a name="Tuple-index"><strong>index</strong></a>(self, value, start<font color="#909090">=0</font>)</dt></dl>

<dl><dt><a name="Tuple-insert"><strong>insert</strong></a>(self, index, value)</dt></dl>

<dl><dt><a name="Tuple-pop"><strong>pop</strong></a>(self, index<font color="#909090">=-1</font>)</dt></dl>

<dl><dt><a name="Tuple-remove"><strong>remove</strong></a>(self, value)</dt></dl>

<dl><dt><a name="Tuple-slice"><strong>slice</strong></a>(self, lower, upper)</dt></dl>

<dl><dt><a name="Tuple-sort"><strong>sort</strong></a>(self, compareFunc<font color="#909090">=None</font>, keyFunc<font color="#909090">=None</font>, reverse<font color="#909090">=False</font>)</dt></dl>

</td></tr></table>""",
            "dict": r"""<p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#ffc8d8">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#000000" face="helvetica, arial"><strong>dict</strong> = <a name="dict">class Dict</a></font></td></tr>
    
<tr><td bgcolor="#ffc8d8"><tt>&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>
<td width="100%">Methods defined here:<br>
<dl><dt><a name="Dict-__contains__"><strong>__contains__</strong></a>(self, key)</dt></dl>

<dl><dt><a name="Dict-__delitem__"><strong>__delitem__</strong></a>(self, key)</dt></dl>

<dl><dt><a name="Dict-__getitem__"><strong>__getitem__</strong></a>(self, key)</dt></dl>

<dl><dt><a name="Dict-__init__"><strong>__init__</strong></a>(self, data<font color="#909090">=None</font>)</dt></dl>

<dl><dt><a name="Dict-__iter__"><strong>__iter__</strong></a>(self)</dt></dl>

<dl><dt><a name="Dict-__len__"><strong>__len__</strong></a>(self)</dt></dl>

<dl><dt><a name="Dict-__setitem__"><strong>__setitem__</strong></a>(self, key, value)</dt></dl>

<dl><dt><a name="Dict-get"><strong>get</strong></a>(self, key, default_value<font color="#909090">=None</font>)</dt></dl>

<dl><dt><a name="Dict-getObject"><strong>getObject</strong></a>(self)</dt><dd><tt>Return&nbsp;the&nbsp;javascript&nbsp;<a href="#Object">Object</a>&nbsp;which&nbsp;this&nbsp;class&nbsp;uses&nbsp;to&nbsp;store&nbsp;dictionary&nbsp;keys&nbsp;and&nbsp;values</tt></dd></dl>

<dl><dt><a name="Dict-has_key"><strong>has_key</strong></a>(self, key)</dt></dl>

<dl><dt><a name="Dict-iteritems"><strong>iteritems</strong></a>(self)</dt></dl>

<dl><dt><a name="Dict-iterkeys"><strong>iterkeys</strong></a>(self)</dt></dl>

<dl><dt><a name="Dict-itervalues"><strong>itervalues</strong></a>(self)</dt></dl>

<dl><dt><a name="Dict-keys"><strong>keys</strong></a>(self)</dt></dl>

<dl><dt><a name="Dict-setdefault"><strong>setdefault</strong></a>(self, key, default_value)</dt></dl>

<dl><dt><a name="Dict-update"><strong>update</strong></a>(self, d)</dt></dl>

<dl><dt><a name="Dict-values"><strong>values</strong></a>(self)</dt></dl>

</td></tr></table>""",
            "Dict": r"""<p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#ffc8d8">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#000000" face="helvetica, arial"><a name="Dict">class <strong>Dict</strong></a></font></td></tr>
    
<tr><td bgcolor="#ffc8d8"><tt>&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>
<td width="100%">Methods defined here:<br>
<dl><dt><a name="Dict-__contains__"><strong>__contains__</strong></a>(self, key)</dt></dl>

<dl><dt><a name="Dict-__delitem__"><strong>__delitem__</strong></a>(self, key)</dt></dl>

<dl><dt><a name="Dict-__getitem__"><strong>__getitem__</strong></a>(self, key)</dt></dl>

<dl><dt><a name="Dict-__init__"><strong>__init__</strong></a>(self, data<font color="#909090">=None</font>)</dt></dl>

<dl><dt><a name="Dict-__iter__"><strong>__iter__</strong></a>(self)</dt></dl>

<dl><dt><a name="Dict-__len__"><strong>__len__</strong></a>(self)</dt></dl>

<dl><dt><a name="Dict-__setitem__"><strong>__setitem__</strong></a>(self, key, value)</dt></dl>

<dl><dt><a name="Dict-get"><strong>get</strong></a>(self, key, default_value<font color="#909090">=None</font>)</dt></dl>

<dl><dt><a name="Dict-getObject"><strong>getObject</strong></a>(self)</dt><dd><tt>Return&nbsp;the&nbsp;javascript&nbsp;<a href="#Object">Object</a>&nbsp;which&nbsp;this&nbsp;class&nbsp;uses&nbsp;to&nbsp;store&nbsp;dictionary&nbsp;keys&nbsp;and&nbsp;values</tt></dd></dl>

<dl><dt><a name="Dict-has_key"><strong>has_key</strong></a>(self, key)</dt></dl>

<dl><dt><a name="Dict-iteritems"><strong>iteritems</strong></a>(self)</dt></dl>

<dl><dt><a name="Dict-iterkeys"><strong>iterkeys</strong></a>(self)</dt></dl>

<dl><dt><a name="Dict-itervalues"><strong>itervalues</strong></a>(self)</dt></dl>

<dl><dt><a name="Dict-keys"><strong>keys</strong></a>(self)</dt></dl>

<dl><dt><a name="Dict-setdefault"><strong>setdefault</strong></a>(self, key, default_value)</dt></dl>

<dl><dt><a name="Dict-update"><strong>update</strong></a>(self, d)</dt></dl>

<dl><dt><a name="Dict-values"><strong>values</strong></a>(self)</dt></dl>

</td></tr></table>""",
            "Class": r"""<p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#ffc8d8">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#000000" face="helvetica, arial"><a name="Class">class <strong>Class</strong></a></font></td></tr>
    
<tr><td bgcolor="#ffc8d8"><tt>&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>
<td width="100%">Methods defined here:<br>
<dl><dt><a name="Class-__init__"><strong>__init__</strong></a>(self, name)</dt></dl>

<dl><dt><a name="Class-__str___"><strong>__str___</strong></a>(self)</dt></dl>

</td></tr></table>""",
        }

        self.class_doc = ClassDoc(classes, class_content)
        tp.add(self.class_doc, "Classes")

        functions = [
            '<dl><dt><a name="-cmp"><strong>cmp</strong></a>(a, b)</dt></dl>\n',
            '<dl><dt><a name="-dir"><strong>dir</strong></a>(obj)</dt></dl>\n',
            '<dl><dt><a name="-filter"><strong>filter</strong></a>(obj, method, sequence<font color="#909090">=None</font>)</dt></dl>\n',
            '<dl><dt><a name="-getattr"><strong>getattr</strong></a>(obj, method)</dt></dl>\n',
            '<dl><dt><a name="-hasattr"><strong>hasattr</strong></a>(obj, method)</dt></dl>\n',
            '<dl><dt><a name="-hash"><strong>hash</strong></a>(obj)</dt></dl>\n',
            '<dl><dt><a name="-isArray"><strong>isArray</strong></a>(a)</dt></dl>\n',
            '<dl><dt><a name="-isFunction"><strong>isFunction</strong></a>(a)</dt></dl>\n',
            '<dl><dt><a name="-isIteratable"><strong>isIteratable</strong></a>(a)</dt></dl>\n',
            '<dl><dt><a name="-isNull"><strong>isNull</strong></a>(a)</dt></dl>\n',
            '<dl><dt><a name="-isNumber"><strong>isNumber</strong></a>(a)</dt></dl>\n',
            '<dl><dt><a name="-isObject"><strong>isObject</strong></a>(a)</dt><dd><tt>#&nbsp;type&nbsp;functions&nbsp;from&nbsp;Douglas&nbsp;Crockford\'s&nbsp;Remedial&nbsp;Javascript:&nbsp;<a href="http://www.crockford.com/javascript/remedial.html">http://www.crockford.com/javascript/remedial.html</a></tt></dd></dl>\n',
            '<dl><dt><a name="-isString"><strong>isString</strong></a>(a)</dt></dl>\n',
            '<dl><dt><a name="-isUndefined"><strong>isUndefined</strong></a>(a)</dt></dl>\n',
            '<dl><dt><a name="-len"><strong>len</strong></a>(object)</dt></dl>\n',
            '<dl><dt><a name="-map"><strong>map</strong></a>(obj, method, sequence<font color="#909090">=None</font>)</dt></dl>\n',
            '<dl><dt><a name="-printFunc"><strong>printFunc</strong></a>(objs)</dt></dl>\n',
            '<dl><dt><a name="-range"><strong>range</strong></a>()</dt><dd><tt>#&nbsp;taken&nbsp;from&nbsp;mochikit:&nbsp;<a href="#-range">range</a>(&nbsp;[start,]&nbsp;stop[,&nbsp;step]&nbsp;)</tt></dd></dl>\n',
            '<dl><dt><a name="-slice"><strong>slice</strong></a>(object, lower, upper)</dt></dl>\n',
            '<dl><dt><a name="-toJSObjects"><strong>toJSObjects</strong></a>(x)</dt><dd><tt>Convert&nbsp;the&nbsp;pyjs&nbsp;pythonic&nbsp;<a href="#List">List</a>&nbsp;and&nbsp;<a href="#Dict">Dict</a>&nbsp;objects&nbsp;into&nbsp;javascript&nbsp;<a href="#Object">Object</a>&nbsp;and&nbsp;Array<br>\nobjects,&nbsp;recursively.</tt></dd></dl>\n',
        ]
        title = bigtitle("Functions")
        contents = section(title, "functions", HTML("\n".join(functions)))
        tp.add(contents, "Functions")

        data = [r"""<strong>next_hash_id</strong> = 0"""]
        title = bigtitle("Data")
        contents = section(title, "data", HTML("\n".join(data)))
        tp.add(contents, "Data")

        tp.addTabListener(self)
        tp.selectTab(0)

        # Call the window resized handler to get the initial sizes setup. Doing
        # this in a deferred command causes it to occur after all widgets' sizes
        # have been computed by the browser.

        DeferredCommand().add(self)
예제 #29
0
    def onModuleLoad(self):

        Window.addWindowResizeListener(self)

        panel = DockPanel()
        RootPanel().add(panel)
        self.panel = panel

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

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

        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>Timer</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/pyjamas/Timer.py">/home/lkcl/src/pyjamas-desktop/pyjamas-webkit/pyjamas/Timer.py</a></font></td></tr></table>
    """)
        panel.add(head, DockPanel.NORTH)

        docs = HTML("""""")
        panel.add(docs, DockPanel.NORTH)

        tp = TabPanel()
        tp.setWidth("100%")
        self.tp = tp
        panel.add(tp, DockPanel.SOUTH)
        #panel.setCellHeight(tp, "100%")


        classes = [
Proto('Timer'),
]

        class_content = {
'Timer': r'''<p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#ffc8d8">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#000000" face="helvetica, arial"><a name="Timer">class <strong>Timer</strong></a></font></td></tr>
    
<tr><td bgcolor="#ffc8d8"><tt>&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>
<td width="100%">Methods defined here:<br>
<dl><dt><a name="Timer-__init__"><strong>__init__</strong></a>(self, time, notify)</dt></dl>

<dl><dt><a name="Timer-cancel"><strong>cancel</strong></a>(self)</dt></dl>

<dl><dt><a name="Timer-getID"><strong>getID</strong></a>(self)</dt></dl>

<dl><dt><a name="Timer-notify"><strong>notify</strong></a>(self, *args)</dt></dl>

</td></tr></table>''',
}

        self.class_doc = ClassDoc(classes, class_content)
        tp.add(self.class_doc, 'Classes')


        functions = ['<dl><dt><a name="-timeout_add"><strong>timeout_add</strong></a>(...)</dt></dl>\n']
        title = bigtitle('Functions')
        contents = section(title, 'functions', HTML('\n'.join(functions)))
        tp.add(contents, 'Functions')



        tp.addTabListener(self)
        tp.selectTab(0)

        # Call the window resized handler to get the initial sizes setup. Doing
        # this in a deferred command causes it to occur after all widgets' sizes
        # have been computed by the browser.

        DeferredCommand().add(self)
 def showGlass(self):
     Window.enableScrolling(False)
     self.setGlassPosition()
     doc().body.appendChild(self.glass)
     Window.addWindowResizeListener(self)