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)
def onModuleLoad(self): #red = PrettyTab("1638", "images/user_red.png") #red.setStyleName('gwt-TabBarItem') #green = PrettyTab("1640", "images/user_green.png") #red.setStyleName('gwt-TabBarItem') red = "1638" green = "1640" self.fTabs = DecoratedTabPanel(Size=("600px", "100%")) self.fTabs.add(self.createImage("rembrandt/JohannesElison.jpg"), red, True, name="johannes") self.fTabs.add(self.createImage("rembrandt/SelfPortrait1640.jpg"), green, True, name="self") self.fTabs.add(self.createImage("rembrandt/LaMarcheNocturne.jpg"), "1642", name="lamarche") self.fTabs.add(self.createImage( "rembrandt/TheReturnOfTheProdigalSon.jpg"),"1662", "prodigal") self.fTabs.add(HTML("shouldn't be here!"), None) # None means separator self.fTabs.add(HTML("This is a Test.<br />Tab should be on right"), "Test", "test") self.fTabs.selectTab(0) dp = DecoratorTitledPanel("Tabs", "bluetitle", "bluetitleicon", ["bluetop", "bluetop2", "bluemiddle", "bluebottom"]) dp.add(self.fTabs) RootPanel().add(dp) self.fTabs.addTabListener(self)
def onModuleLoad(self): #red = PrettyTab("1638", "images/user_red.png") #red.setStyleName('gwt-TabBarItem') #green = PrettyTab("1640", "images/user_green.png") #red.setStyleName('gwt-TabBarItem') red = "1638" green = "1640" self.fTabs = DecoratedTabPanel(Size=("600px", "100%")) self.fTabs.add(self.createImage("rembrandt/JohannesElison.jpg"), red, True, name="johannes") self.fTabs.add(self.createImage("rembrandt/SelfPortrait1640.jpg"), green, True, name="self") self.fTabs.add(self.createImage("rembrandt/LaMarcheNocturne.jpg"), "1642", name="lamarche") self.fTabs.add( self.createImage("rembrandt/TheReturnOfTheProdigalSon.jpg"), "1662", "prodigal") self.fTabs.add(HTML("shouldn't be here!"), None) # None means separator self.fTabs.add(HTML("This is a Test.<br />Tab should be on right"), "Test", "test") self.fTabs.selectTab(0) dp = DecoratorTitledPanel( "Tabs", "bluetitle", "bluetitleicon", ["bluetop", "bluetop2", "bluemiddle", "bluebottom"]) dp.add(self.fTabs) RootPanel().add(dp) self.fTabs.addTabListener(self)
class Tabs: def onModuleLoad(self): dock = DockPanel() self.header = HTML(Width="100%", Height="270px") 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, "270px") dock.setCellWidth(self.footer, "100%") dock.setCellWidth(self.sidebar, "200px") History.addHistoryListener(self) initToken = History.getToken() #print "initial token", initToken RootPanel().add(dock) self.dock = dock self.loadPageList() Window.addWindowResizeListener(self) DeferredCommand.add(self) def execute(self): self.onWindowResized(Window.getClientWidth(), Window.getClientHeight()) def onWindowResized(self, width, height): tabwidth = "%dpx" % (width - 350) #width = "%dpx" % (width-20) #self.header.setWidth(width) #self.dock.setCellWidth(self.header, width) #self.footer.setWidth(width) #self.dock.setCellWidth(self.footer, width) self.fTabs.setWidth(tabwidth) self.dock.setCellWidth(self.fTabs, tabwidth) def createPage(self, title, purpose, text): if purpose == 'faq': self.faq_pages[title] = text if len(self.faq_pages) != len(self.faq_list): return faq = self.page_widgets['FAQ'] for l in self.faq_list: question = l[0] answer = self.faq_pages[question] html = faq.getHTML() html += "<h3>%s</h3>\n" % question html += "\n%s\n\n" % answer faq.setHTML(html) html = "<div class='faq'>\n%s</div>\n" % html faq.setHTML(html) faq.replaceLinks(use_page_href=False) return if title == 'header': self.header.setHTML(text) return elif title == 'footer': self.footer.setHTML(text) return elif title == 'sidebar': self.sidebar.setHTML(text) return self.pages[title] = text if len(self.pages) != len(self.page_list): return self.page_widgets = {} self.tab_index = {} for (idx, l) in enumerate(self.page_list): title = l[0] text = self.pages[title] self.tab_index[title] = idx widget = HTMLLinkPanel(text) self.fTabs.add(widget, title, True) self.page_widgets[title] = widget if title == 'FAQ': HTTPRequest().asyncGet("faq/questions.txt", PageListLoader(self, "faq")) else: widget.replaceLinks(use_page_href=False) self.fTabs.selectTab(0) def onHistoryChanged(self, token): if self.pages.has_key(token): idx = self.tab_index[token] self.fTabs.selectTab(idx) def onError(self, text, code): print "LOAD ERROR(",code,"):",text def loadPageList(self): HTTPRequest().asyncGet("sidebar.html", PageLoader(self, "sidebar", "contents")) HTTPRequest().asyncGet("header.html", PageLoader(self, "header", "contents")) HTTPRequest().asyncGet("footer.html", PageLoader(self, "footer", "contents")) HTTPRequest().asyncGet("contents.txt", PageListLoader(self, "contents")) def loadPages(self, pages, purpose): if purpose == 'contents': self.pages = {} self.page_list = pages elif purpose == 'faq': self.faq_pages = {} self.faq_list = pages for l in pages: title = l[0] desc = l[1] HTTPRequest().asyncGet(desc, PageLoader(self, title, purpose))
class Tabs: 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) def execute(self): self.onWindowResized(Window.getClientWidth(), Window.getClientHeight()) def onWindowResized(self, width, height): tabwidth = "%dpx" % (width - 350) log.info('New tab control width = %s <a href="foo.bar">foo.bar</a>', tabwidth) #width = "%dpx" % (width-20) #self.header.setWidth(width) #self.dock.setCellWidth(self.header, width) #self.footer.setWidth(width) #self.dock.setCellWidth(self.footer, width) self.fTabs.setWidth(tabwidth) self.dock.setCellWidth(self.fTabs, tabwidth) def createPage(self, title, purpose, text): #log.debug("create page %s %s %s", title, purpose, text) if purpose == 'faq': self.faq_pages[title] = text log.debug("%d %d", len(self.faq_pages), len(self.faq_list)) #log.debug(self.faq_pages.keys()) #log.debug(self.faq_list) if len(self.faq_pages) != len(self.faq_list): return faq = self.page_widgets['FAQ'] for l in self.faq_list: question = l[0] answer = self.faq_pages[question] html = faq.getHTML() html += "<h3>%s</h3>\n" % question html += "\n%s\n\n" % answer faq.setHTML(html) html = "<div class='faq'>\n%s</div>\n" % html faq.setHTML(html) faq.replaceLinks(use_page_href=False) return if title == 'header': self.header.setHTML(text) return elif title == 'footer': self.footer.setHTML(text) return elif title == 'sidebar': self.sidebar.setHTML(text) return # Main content case - tabs etc. self.pages[title] = text if len(self.pages) != len(self.page_list): return self.page_widgets = {} self.tab_index = {} for (idx, l) in enumerate(self.page_list): title = l[0] text = self.pages[title] self.tab_index[title] = idx widget = HTMLLinkPanel(text) self.fTabs.add(widget, title, True) self.page_widgets[title] = widget if title == 'FAQ': HTTPRequest().asyncGet("faq/questions.txt", PageListLoader(self, "faq")) else: widget.replaceLinks(use_page_href=False) self.fTabs.selectTab(0) History.addHistoryListener(self) initToken = History.getToken() log.debug("initial token: '%s'", initToken) self.onHistoryChanged(initToken) self.fTabs.addTabListener(self) def onBeforeTabSelected(self, sender, tabIndex): return True def onTabSelected(self, sender, tabIndex): current_token = History.getToken() new_token = self.page_list[tabIndex][0] if current_token != new_token: History.newItem(new_token) def onHistoryChanged(self, token): if self.pages.has_key(token): idx = self.tab_index[token] self.fTabs.selectTab(idx) def onError(self, text, code): log.error("LOAD ERROR(%s): %s", str(code), text) pass def loadPageList(self): HTTPRequest().asyncGet("sidebar.html", PageLoader(self, "sidebar", "contents")) HTTPRequest().asyncGet("header.html", PageLoader(self, "header", "contents")) HTTPRequest().asyncGet("footer.html", PageLoader(self, "footer", "contents")) HTTPRequest().asyncGet("contents.txt", PageListLoader(self, "contents")) def loadPages(self, pages, purpose): if purpose == 'contents': self.pages = {} self.page_list = pages elif purpose == 'faq': self.faq_pages = {} self.faq_list = pages for l in pages: title = l[0] desc = l[1] HTTPRequest().asyncGet(desc, PageLoader(self, title, purpose))
class Tabs: def onModuleLoad(self): #red = PrettyTab("1638", "images/user_red.png") #red.setStyleName('gwt-TabBarItem') #green = PrettyTab("1640", "images/user_green.png") #red.setStyleName('gwt-TabBarItem') red = "1638" green = "1640" self.fTabs = DecoratedTabPanel(Size=("600px", "100%")) self.fTabs.add(self.createImage("rembrandt/JohannesElison.jpg"), red, True, name="johannes") self.fTabs.add(self.createImage("rembrandt/SelfPortrait1640.jpg"), green, True, name="self") self.fTabs.add(self.createImage("rembrandt/LaMarcheNocturne.jpg"), "1642", name="lamarche") self.fTabs.add(self.createImage( "rembrandt/TheReturnOfTheProdigalSon.jpg"),"1662", "prodigal") self.fTabs.add(HTML("shouldn't be here!"), None) # None means separator self.fTabs.add(HTML("This is a Test.<br />Tab should be on right"), "Test", "test") self.fTabs.selectTab(0) dp = DecoratorTitledPanel("Tabs", "bluetitle", "bluetitleicon", ["bluetop", "bluetop2", "bluemiddle", "bluebottom"]) dp.add(self.fTabs) RootPanel().add(dp) self.fTabs.addTabListener(self) def createImage(self, imageUrl): image = Image(imageUrl) image.setStyleName("ks-images-Image") p = VerticalPanel() p.setHorizontalAlignment(HasAlignment.ALIGN_CENTER) p.setVerticalAlignment(HasAlignment.ALIGN_MIDDLE) p.add(image) return p def onTabSelected(self, sender, tabIndex): pass def onBeforeTabSelected(self, sender, tabIndex): # 6 because one of them is the separator. if self.fTabs.getWidgetCount() == 6: self.fTabs.add(HTML("2nd Test.<br />Tab should be on right"), "2nd Test", name="test2") return True self.fTabs.remove("test2") return tabIndex != 6 # don't allow change to tab 6 - we're removing it!
class Tabs: def onModuleLoad(self): #red = PrettyTab("1638", "images/user_red.png") #red.setStyleName('gwt-TabBarItem') #green = PrettyTab("1640", "images/user_green.png") #red.setStyleName('gwt-TabBarItem') red = "1638" green = "1640" self.fTabs = DecoratedTabPanel(Size=("600px", "100%")) self.fTabs.add(self.createImage("rembrandt/JohannesElison.jpg"), red, True, name="johannes") self.fTabs.add(self.createImage("rembrandt/SelfPortrait1640.jpg"), green, True, name="self") self.fTabs.add(self.createImage("rembrandt/LaMarcheNocturne.jpg"), "1642", name="lamarche") self.fTabs.add( self.createImage("rembrandt/TheReturnOfTheProdigalSon.jpg"), "1662", "prodigal") self.fTabs.add(HTML("shouldn't be here!"), None) # None means separator self.fTabs.add(HTML("This is a Test.<br />Tab should be on right"), "Test", "test") self.fTabs.selectTab(0) dp = DecoratorTitledPanel( "Tabs", "bluetitle", "bluetitleicon", ["bluetop", "bluetop2", "bluemiddle", "bluebottom"]) dp.add(self.fTabs) RootPanel().add(dp) self.fTabs.addTabListener(self) def createImage(self, imageUrl): image = Image(imageUrl) image.setStyleName("ks-images-Image") p = VerticalPanel() p.setHorizontalAlignment(HasAlignment.ALIGN_CENTER) p.setVerticalAlignment(HasAlignment.ALIGN_MIDDLE) p.add(image) return p def onTabSelected(self, sender, tabIndex): pass def onBeforeTabSelected(self, sender, tabIndex): # 6 because one of them is the separator. if self.fTabs.getWidgetCount() == 6: self.fTabs.add(HTML("2nd Test.<br />Tab should be on right"), "2nd Test", name="test2") return True self.fTabs.remove("test2") return tabIndex != 6 # don't allow change to tab 6 - we're removing it!