本文整理汇总了Python中pyjamas.ui.DockPanel.DockPanel.remove方法的典型用法代码示例。如果您正苦于以下问题:Python DockPanel.remove方法的具体用法?Python DockPanel.remove怎么用?Python DockPanel.remove使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类pyjamas.ui.DockPanel.DockPanel
的用法示例。
在下文中一共展示了DockPanel.remove方法的11个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: DockPanelTest
# 需要导入模块: from pyjamas.ui.DockPanel import DockPanel [as 别名]
# 或者: from pyjamas.ui.DockPanel.DockPanel import remove [as 别名]
class DockPanelTest(UnitTest1):
def testDockAdd(self):
self.d = DockPanel()
RootPanel('tests').add(self.d)
self.write_test_output('adddockpanel')
if not RootPanel('tests').remove(self.d):
self.fail("DockPanel added but apparently not owned by RootPanel()")
self.write_test_output('removedockpanel')
def testDockAddCentre(self):
self.d = DockPanel()
RootPanel('tests').add(self.d)
l = Label("Hello World (label)", StyleName='teststyle')
self.d.add(l, DockPanel.CENTER)
self.write_test_output('addcentrelabel')
self.d.remove(l)
self.write_test_output('removecentrelabel')
l2 = Label("Hello World 2 (label)", StyleName='teststyle')
self.d.add(l2, DockPanel.CENTER)
self.write_test_output('addcentrelabel2')
if not RootPanel('tests').remove(self.d):
self.fail("DockPanel added but apparently not owned by RootPanel()")
self.write_test_output('removedock')
示例2: onModuleLoad
# 需要导入模块: from pyjamas.ui.DockPanel import DockPanel [as 别名]
# 或者: from pyjamas.ui.DockPanel.DockPanel import remove [as 别名]
class WebApp:
def onModuleLoad(self):
self.remote = DataService()
#Show the initial screen.
initToken = History.getToken()
if initToken and len(initToken):
if initToken == 'admin':
RootPanel().add(WebPageEdit(self))
return
else:
initToken = 'index'
self.dock = DockPanel()
self.dock.setWidth("100%")
self.pages = {}
self.current_page = None
RootPanel().add(self.dock)
History.addHistoryListener(self)
self.onHistoryChanged(initToken)
def createPage(self, ref, html, title):
htp = HTMLLinkPanel(html)
htp.replaceLinks()
htp.setWidth("100%")
self.pages[ref] = htp
def onHistoryChanged(self, token):
#log.debug("onHistoryChanged %s" % token)
if self.pages.has_key(token):
self.setPage(token)
return
self.remote.getPageByName(token, self)
def setPage(self, ref):
htp = self.pages[ref]
if htp == self.current_page:
return
Window.setTitle(htp.title)
if self.current_page:
self.dock.remove(self.current_page)
self.dock.add(htp, DockPanel.CENTER)
self.current_page = htp
def onRemoteResponse(self, response, request_info):
if (request_info.method == 'getPageByName' or
request_info.method == 'getPage'):
item = response[0]
html = item['fields']['text']
token = item['fields']['name']
self.createPage(token, html, token)
self.setPage(token)
def onRemoteError(self, code, message, request_info):
RootPanel().add(HTML("Server Error or Invalid Response: ERROR " + str(code) + " - " + str(message)))
示例3: onModuleLoad
# 需要导入模块: from pyjamas.ui.DockPanel import DockPanel [as 别名]
# 或者: from pyjamas.ui.DockPanel.DockPanel import remove [as 别名]
class gmTopLevelLayer:
def onModuleLoad(self):
GMWevents.init_events()
GMWevents.events.addLoginListener(self) # want to receive onLogin
self.TEXT_ERROR = "Server Error"
self.loginpanel = cLoginPanel() # fires logged out on UI load
self.afterloginpanel = cMainPanel()
self.maindisplay = DockPanel(
HorizontalAlignment=HasAlignment.ALIGN_CENTER,
VerticalAlignment=HasAlignment.ALIGN_MIDDLE,
BorderWidth=1,
Padding=8,
Width="100%")
RootPanel().add(self.maindisplay)
def onLogin(self, sender, username, logged_in):
if logged_in:
self.logged_in(username)
else:
self.logged_out()
def logged_out(self):
self.login_username = None
self.loginpanel.setStatus("") # reset status display
if self.maindisplay.center is not None:
self.maindisplay.remove(self.afterloginpanel.getPanel())
self.maindisplay.add(self.loginpanel.getPanel(), DockPanel.CENTER)
def logged_in(self, username):
self.login_username = username
if self.maindisplay.center is not None:
self.maindisplay.remove(self.loginpanel.getPanel())
self.maindisplay.add(self.afterloginpanel.getPanel(), DockPanel.CENTER)
示例4: onHistoryChanged
# 需要导入模块: from pyjamas.ui.DockPanel import DockPanel [as 别名]
# 或者: from pyjamas.ui.DockPanel.DockPanel import remove [as 别名]
class Bookreader:
def onHistoryChanged(self, token):
info = self.sink_list.find(token)
if info:
self.show(info, False)
else:
self.showInfo()
def onModuleLoad(self):
section = Window.getLocation().getSearchVar("section")
if not section:
self.loadChapters()
else:
loadSection(section)
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", "[email protected]")
]
for years, name, email in authors:
authors_html = \
'© %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())
def onWindowResized(self, width, height):
self.panel.setWidth(width-20)
self.sink_list.resize(width-20, height-130)
self.sp.setHeight("%dpx" % (height-130))
def show(self, info, affectHistory):
if info == self.curInfo:
return
self.curInfo = info
#Logger.write("showing " + info.getName())
if self.curSink is not None:
self.curSink.onHide()
#Logger.write("removing " + self.curSink)
self.sinkContainer.remove(self.curSink)
self.curSink = info.getInstance()
self.sink_list.setSinkSelection(info.getName())
self.sink_list.sp.setScrollPosition(0)
self.sink_list.sp.setHorizontalScrollPosition(0)
self.description.setHTML(info.getDescription())
#.........这里部分代码省略.........
示例5: onFormLoad
# 需要导入模块: from pyjamas.ui.DockPanel import DockPanel [as 别名]
# 或者: from pyjamas.ui.DockPanel.DockPanel import remove [as 别名]
class WebApp:
def onFormLoad(self):
self.fetch = Button("Retrieve", self)
self.search = TextBox()
self.submit = Button("Submit", self)
self.formsvc = FormService()
self.wanted = WantedService()
d = {'price': 20, 'name': 'a good car'}
self.form = Form(getattr(self.formsvc, "itemform"), data=d,
listener=self)
#self.describe(['name', 'description'])
RootPanel().add(self.form)
RootPanel().add(self.search)
RootPanel().add(self.fetch)
def onRetrieveDone(self, form):
log.debug("onRetrieveDone: %s" % repr(form))
def onDescribeDone(self, form):
form.add_widget("Submit", self.submit)
def onClick(self, sender):
if sender == self.fetch:
key = self.search.getText()
if not key:
log.debug("Please enter id")
return
key = int(key)
log.debug("id %d" % key)
#self.wanted.getItem(key, self)
self.form.get(id=key)
if sender == self.submit:
v = self.form.getValue()
log.debug("onClick %s" % repr(v))
if v.get('id', None):
self.form.update(v)
else:
self.form.save(v)
def onErrors(self, form, response):
log.debug("onErrors %s" % repr(response))
def onSaveDone(self, form, response):
log.debug("onSave %s" % repr(response))
def onModuleLoad(self):
self.pages = DataService()
#Show the initial screen.
initToken = History().getToken()
if initToken and len(initToken):
if initToken == 'admin':
RootPanel().add(WebPageEdit(self))
return
else:
initToken = 'index'
self.dock = DockPanel()
self.dock.setWidth("100%")
self.pages = {}
self.current_page = None
RootPanel().add(self.dock)
History.addHistoryListener(self)
self.onHistoryChanged(initToken)
def createPage(self, ref, html, title):
htp = HTMLLinkPanel(self, html, title)
htp.replaceLinks()
htp.setWidth("100%")
self.pages[ref] = htp
def onHistoryChanged(self, token):
#log.debug("onHistoryChanged %s" % token)
if self.pages.has_key(token):
self.setPage(token)
return
self.pages.getPageByName(token, self)
def setPage(self, ref):
htp = self.pages[ref]
if htp == self.current_page:
return
Window.setTitle(htp.title)
if self.current_page:
self.dock.remove(self.current_page)
self.dock.add(htp, DockPanel.CENTER)
self.current_page = htp
def onRemoteResponse(self, response, request_info):
#if (request_info.method == 'getItem'):
# data = {'id': response['pk']}
# log.debug(repr(response))
# self.form.update_values(response)
if (request_info.method == 'getPageByName' or
request_info.method == 'getPage'):
#.........这里部分代码省略.........
示例6: onHistoryChanged
# 需要导入模块: from pyjamas.ui.DockPanel import DockPanel [as 别名]
# 或者: from pyjamas.ui.DockPanel.DockPanel import remove [as 别名]
class KitchenSink:
filexml = None
def onHistoryChanged(self, token):
log.writebr("onHistoryChanged: %s" % token)
info = self.sink_list.find(token)
if info:
self.show(info, False)
else:
self.showInfo()
def onModuleLoad(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")
vp=VerticalPanel()
vp.setWidth("100%")
vp.add(self.description)
vp.add(self.sinkContainer)
self.description.setStyleName("ks-Info")
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%")
History.addHistoryListener(self)
RootPanel().add(self.panel)
RootPanel().add(Logger())
#Show the initial screen.
initToken = History.getToken()
if len(initToken):
self.onHistoryChanged(initToken)
else:
self.showInfo()
def getHeight(self):
return rccutil.getHeight()
def show(self, info, affectHistory):
if info == self.curInfo: return
self.curInfo = info
#Logger.write("showing " + info.getName())
if self.curSink <> None:
self.curSink.onHide()
#Logger.write("removing " + self.curSink)
self.sinkContainer.remove(self.curSink)
self.curSink = info.getInstance()
self.sink_list.setSinkSelection(info.getName())
self.description.setHTML(info.getDescription())
if (affectHistory):
History.newItem(info.getName())
self.sinkContainer.add(self.curSink, DockPanel.CENTER)
self.sinkContainer.setCellWidth(self.curSink, "100%")
self.sinkContainer.setCellHeight(self.curSink, "100%")
self.sinkContainer.setCellVerticalAlignment(self.curSink, HasAlignment.ALIGN_TOP)
self.curSink.onShow()
def loadSinks(self):
#self.sink_list.addSink(DataTree.init())
#self.sink_list.addSink(RecipeSystemIFACE.init())
self.sink_list.addSink(ADViewerIFACE.init())
self.sink_list.addSink(RecipeViewer.init())
self.sink_list.addSink(FITSStoreFACE.init())
self.sink_list.addSink(DisplayIFACE.init())
self.sink_list.addSink(Info.init())
if False:
self.sink_list.addSink(Buttons.init())
self.sink_list.addSink(Menus.init())
self.sink_list.addSink(Images.init())
self.sink_list.addSink(Layouts.init())
self.sink_list.addSink(Lists.init())
self.sink_list.addSink(Popups.init())
self.sink_list.addSink(Tables.init())
self.sink_list.addSink(Text.init())
if False: #preserving originaly order
self.sink_list.addSink(Frames.init())
self.sink_list.addSink(Tabs.init())
def showInfo(self):
self.show(self.sink_list.find("AstroData Viewer"), False)
示例7: onHistoryChanged
# 需要导入模块: from pyjamas.ui.DockPanel import DockPanel [as 别名]
# 或者: from pyjamas.ui.DockPanel.DockPanel import remove [as 别名]
class KitchenSink:
def onHistoryChanged(self, token):
log.debug("onHistoryChanged: %s", token)
info = self.sink_list.find(token)
if info is not None:
self.show(info, False)
else:
self.showInfo()
def onModuleLoad(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")
vp=VerticalPanel()
vp.setWidth("100%")
vp.add(self.description)
vp.add(self.sinkContainer)
self.description.setStyleName("ks-Info")
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%")
History.addHistoryListener(self)
RootPanel().add(self.panel)
RootPanel().add(Logger())
#Show the initial screen.
initToken = History.getToken()
if len(initToken):
self.onHistoryChanged(initToken)
else:
self.showInfo()
def show(self, info, affectHistory):
if info == self.curInfo: return
self.curInfo = info
#log.debug("showing " + info.getName())
if self.curSink is not None:
#log.debug("removing " + str(self.curSink))
self.curSink.onHide()
self.sinkContainer.remove(self.curSink)
self.curSink = info.getInstance()
self.sink_list.setSinkSelection(info.getName())
self.description.setHTML(info.getDescription())
if (affectHistory):
History.newItem(info.getName())
self.sinkContainer.add(self.curSink, DockPanel.CENTER)
self.sinkContainer.setCellWidth(self.curSink, "100%")
self.sinkContainer.setCellHeight(self.curSink, "100%")
self.sinkContainer.setCellVerticalAlignment(self.curSink, HasAlignment.ALIGN_TOP)
self.curSink.onShow()
def loadSinks(self):
self.sink_list.add(Info.init())
self.sink_list.add(Buttons.init())
self.sink_list.add(Menus.init())
self.sink_list.add(Images.init())
self.sink_list.add(Layouts.init())
self.sink_list.add(Lists.init())
self.sink_list.add(Popups.init())
self.sink_list.add(Tables.init())
self.sink_list.add(Text.init())
self.sink_list.add(Trees.init())
self.sink_list.add(Frames.init())
self.sink_list.add(Tabs.init())
def showInfo(self):
self.show(self.sink_list.find("Info"), False)
示例8: onModuleLoad
# 需要导入模块: from pyjamas.ui.DockPanel import DockPanel [as 别名]
# 或者: from pyjamas.ui.DockPanel.DockPanel import remove [as 别名]
#.........这里部分代码省略.........
titleBar.setWidth("100%")
self.mainPanel.add(titleBar, DockPanel.NORTH)
selectionPanel = VerticalPanel()
# Register to get updates about the status of data taking, so that
# I can update the information in the title bar
self.dataRunManager = DataRunManager.instance()
self.dataRunManager.registerEventHandler(self)
self.activePanelButton = None
self.activePanel = None
self.registersButton = Label("I2C Registers", StyleName="areaStyle")
self.occupanciesButton = Label("Test Occupancies", StyleName="areaStyle")
self.scurveButton = Label("S-Curve Run", StyleName="areaStyle")
self.calibrateTrimsButton = Label("Calibrate Trims", StyleName="areaStyle")
self.registersButton.addClickListener(self)
self.occupanciesButton.addClickListener(self)
self.scurveButton.addClickListener(self)
self.calibrateTrimsButton.addClickListener(self)
selectionPanel.add(self.registersButton)
selectionPanel.add(self.occupanciesButton)
selectionPanel.add(self.scurveButton)
selectionPanel.add(self.calibrateTrimsButton)
self.mainPanel.add(selectionPanel, DockPanel.WEST)
self.mainPanel.add(self.status, DockPanel.SOUTH)
RootPanel().add(self.mainPanel)
self.setNewMainPanel(self.registersButton)
def onDataTakingEvent(self, eventCode, details):
"""
Method that receives updates from DataRunManager
"""
if eventCode == DataRunManager.DataTakingStartedEvent:
self.stopTakingDataButton.setEnabled(True)
self.dataTakingPercentage.setText("0%")
self.dataTakingStatus.setText("Starting run...")
elif eventCode == DataRunManager.DataTakingFinishedEvent:
self.stopTakingDataButton.setEnabled(False)
self.dataTakingPercentage.setText("")
self.dataTakingStatus.setText("Not taking data")
elif eventCode == DataRunManager.DataTakingStatusEvent:
self.stopTakingDataButton.setEnabled(True)
self.dataTakingPercentage.setText("%3d%%" % int(details["fractionComplete"] * 100 + 0.5))
self.dataTakingStatus.setText(details["statusString"])
def onClick(self, sender):
# (data, response_class): if the latter is 'self', then
# the response is handled by the self.onRemoteResponse() method
try:
if sender == self.stopTakingDataButton:
self.dataRunManager.stopTakingData()
else:
# I don't have any other buttons so it must be a panel change
self.setNewMainPanel(sender)
except Exception as error:
self.status.setText("Client exception was thrown: '" + str(error.__class__) + "'='" + str(error) + "'")
def setNewMainPanel(self, panelButton):
if panelButton == self.activePanelButton:
return # already the active panel so no need to do anything
# Remove the "selected" style from the current button
if self.activePanelButton != None:
self.activePanelButton.setStyleName("areaStyle")
# Set the "selected" style on the new one
self.activePanelButton = panelButton
self.activePanelButton.setStyleName("selectedAreaStyle")
# Clear the main panel
if self.activePanel != None:
self.mainPanel.remove(self.activePanel.getPanel())
# Figure out what the new main panel should be
if panelButton == self.registersButton:
self.activePanel = self.I2CPanel
elif panelButton == self.scurveButton:
self.activePanel = self.SCurveRunPanel
elif panelButton == self.occupanciesButton:
self.activePanel = self.OccupancyCheckPanel
elif panelButton == self.calibrateTrimsButton:
self.activePanel = self.CalibrateChannelTrimsPanel
# Set the new main panel
self.activePanel.getPanel().setStyleName("selectedAreaStyle")
self.activePanel.getPanel().setWidth("100%")
self.mainPanel.add(self.activePanel.getPanel(), DockPanel.CENTER)
def onRemoteResponse(self, response, request_info):
self.status.setText(response)
def onRemoteError(self, code, message, request_info):
ErrorMessage("Unable to contact server")
示例9: onHistoryChanged
# 需要导入模块: from pyjamas.ui.DockPanel import DockPanel [as 别名]
# 或者: from pyjamas.ui.DockPanel.DockPanel import remove [as 别名]
class Bookreader:
def onHistoryChanged(self, token):
info = self.sink_list.find(token)
if info:
self.show(info, False)
else:
self.showInfo()
def onModuleLoad(self):
section = Window.getLocation().getSearchVar("section")
if not section:
self.loadChapters()
else:
loadSection(section)
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)
def onWindowResized(self, width, height):
self.sink_list.resize(width, height)
self.sp.setHeight("%dpx" % (height-110))
def show(self, info, affectHistory):
if info == self.curInfo:
return
self.curInfo = info
#Logger.write("showing " + info.getName())
if self.curSink is not None:
self.curSink.onHide()
#Logger.write("removing " + self.curSink)
self.sinkContainer.remove(self.curSink)
self.curSink = info.getInstance()
self.sink_list.setSinkSelection(info.getName())
self.description.setHTML(info.getDescription())
if (affectHistory):
History().newItem(info.getName())
self.sinkContainer.add(self.curSink, DockPanel.CENTER)
self.sinkContainer.setCellWidth(self.curSink, "100%")
self.sinkContainer.setCellHeight(self.curSink, "100%")
self.sinkContainer.setCellVerticalAlignment(self.curSink,
HasAlignment.ALIGN_TOP)
self.curSink.onShow()
def loadSinks(self):
HTTPRequest().asyncGet("contents.txt", ChapterListLoader(self))
def setChapters(self, chapters):
for l in chapters:
name = l[0]
#.........这里部分代码省略.........
示例10: onHistoryChanged
# 需要导入模块: from pyjamas.ui.DockPanel import DockPanel [as 别名]
# 或者: from pyjamas.ui.DockPanel.DockPanel import remove [as 别名]
class AddonsGallery:
def onHistoryChanged(self, token):
info = self.sink_list.find(token)
if info:
self.show(info, False)
else:
self.showIntro()
def onModuleLoad(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")
vp=VerticalPanel()
vp.setWidth("100%")
vp.add(self.description)
vp.add(self.sinkContainer)
self.description.setStyleName("ks-Info")
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%")
History.addHistoryListener(self)
RootPanel().add(self.panel)
initToken = History.getToken()
if len(initToken):
self.onHistoryChanged(initToken)
else:
self.showIntro()
def show(self, info, affectHistory=None):
if info == self.curInfo: return
self.curInfo = info
if self.curSink <> None:
self.curSink.onHide()
self.sinkContainer.remove(self.curSink)
self.curSink = info.getInstance()
self.sink_list.setSinkSelection(info.getName())
self.description.setHTML(info.getDescription())
if (affectHistory):
History.newItem(info.getName())
self.sinkContainer.add(self.curSink, DockPanel.CENTER)
self.sinkContainer.setCellWidth(self.curSink, "100%")
self.sinkContainer.setCellHeight(self.curSink, "100%")
self.sinkContainer.setCellVerticalAlignment(self.curSink, HasAlignment.ALIGN_TOP)
self.curSink.onShow()
def loadSinks(self):
self.sink_list.add(IntroTab.init())
self.sink_list.add(TooltipTab.init())
self.sink_list.add(AutoCompleteTab.init())
self.sink_list.add(Canvas2DTab.init())
self.sink_list.add(CanvasTab.init())
def showIntro(self):
self.show(self.sink_list.find("Intro"))
示例11: onHistoryChanged
# 需要导入模块: from pyjamas.ui.DockPanel import DockPanel [as 别名]
# 或者: from pyjamas.ui.DockPanel.DockPanel import remove [as 别名]
class MLAlgorithms:
def onHistoryChanged(self, token):
log.writebr("onHistoryChanged: %s" % token)
info = self.Algorithm_list.find(token)
if info is not None:
self.show(info, False)
else:
self.showInfo()
def onModuleLoad(self):
self.curInfo=''
self.curAlgorithm=None
self.description=HTML()
self.Algorithm_list=AlgorithmList()
self.panel=DockPanel()
self.loadAlgorithms()
self.AlgorithmContainer = DockPanel()
self.AlgorithmContainer.setStyleName("ks-Algorithm")
vp=VerticalPanel()
vp.setWidth("100%")
vp.add(self.description)
vp.add(self.AlgorithmContainer)
self.description.setStyleName("ks-Info")
self.panel.add(self.Algorithm_list, DockPanel.WEST)
self.panel.add(vp, DockPanel.CENTER)
self.panel.setCellVerticalAlignment(self.Algorithm_list, HasAlignment.ALIGN_TOP)
self.panel.setCellWidth(vp, "100%")
History.addHistoryListener(self)
RootPanel().add(self.panel)
RootPanel().add(Logger())
#Show the initial screen.
initToken = History.getToken()
if len(initToken):
self.onHistoryChanged(initToken)
else:
self.showInfo()
def show(self, info, affectHistory):
if info == self.curInfo: return
self.curInfo = info
log.writebr("showing " + info.getName())
if self.curAlgorithm is not None:
log.writebr("removing " + str(self.curAlgorithm))
self.curAlgorithm.onHide()
self.AlgorithmContainer.remove(self.curAlgorithm)
self.curAlgorithm = info.getInstance()
self.Algorithm_list.setAlgorithmSelection(info.getName())
self.description.setHTML(info.getDescription())
if (affectHistory):
History.newItem(info.getName())
self.AlgorithmContainer.add(self.curAlgorithm, DockPanel.CENTER)
self.AlgorithmContainer.setCellWidth(self.curAlgorithm, "100%")
self.AlgorithmContainer.setCellHeight(self.curAlgorithm, "100%")
self.AlgorithmContainer.setCellVerticalAlignment(self.curAlgorithm, HasAlignment.ALIGN_TOP)
self.curAlgorithm.onShow()
def loadAlgorithms(self):
self.Algorithm_list.addAlgorithm(Info.init())
self.Algorithm_list.addAlgorithm(kMeans.init())
def showInfo(self):
self.show(self.Algorithm_list.find("Info"), False)