PageRenderTime 26ms CodeModel.GetById 16ms RepoModel.GetById 0ms app.codeStats 0ms

/examples/kitchensink/SinkList.py

http://pyjamas.googlecode.com/
Python | 38 lines | 30 code | 8 blank | 0 comment | 5 complexity | e794a4e7979add3108d14ac29ea83da7 MD5 | raw file
Possible License(s): LGPL-2.1, Apache-2.0
  1. from ui import Composite, VerticalPanel, Hyperlink
  2. from Logger import Logger
  3. class SinkList(Composite):
  4. def __init__(self):
  5. self.vp_list=VerticalPanel()
  6. self.sinks=[]
  7. self.selectedSink=-1
  8. self.initWidget(self.vp_list)
  9. self.setStyleName("ks-List")
  10. def addSink(self, info):
  11. name = info.getName()
  12. link = Hyperlink(name, False, name)
  13. link.setStyleName("ks-SinkItem")
  14. self.vp_list.add(link)
  15. self.sinks.append(info)
  16. def find(self, sinkName):
  17. for info in self.sinks:
  18. if info.getName()==sinkName:
  19. return info
  20. return None
  21. def setSinkSelection(self, name):
  22. if self.selectedSink <> -1:
  23. self.vp_list.getWidget(self.selectedSink).removeStyleName("ks-SinkItem-selected")
  24. for i in range(len(self.sinks)):
  25. info = self.sinks[i]
  26. if (info.getName()==name):
  27. self.selectedSink = i
  28. widget=self.vp_list.getWidget(self.selectedSink)
  29. widget.addStyleName("ks-SinkItem-selected")
  30. return