/examples/addonsgallery/SinkList.py

http://pyjamas.googlecode.com/ · Python · 37 lines · 29 code · 8 blank · 0 comment · 5 complexity · 514c1d5ef5f24ed28d12a8fff0e057ba MD5 · raw file

  1. from ui import Composite, VerticalPanel, Hyperlink
  2. class SinkList(Composite):
  3. def __init__(self):
  4. self.vp_list=VerticalPanel()
  5. self.sinks=[]
  6. self.selectedSink=-1
  7. self.setWidget(self.vp_list)
  8. self.setStyleName("ks-List")
  9. def addSink(self, info):
  10. name = info.getName()
  11. link = Hyperlink(name, False, name)
  12. link.setStyleName("ks-SinkItem")
  13. self.vp_list.add(link)
  14. self.sinks.append(info)
  15. def find(self, sinkName):
  16. for info in self.sinks:
  17. if info.getName()==sinkName:
  18. return info
  19. return None
  20. def setSinkSelection(self, name):
  21. if self.selectedSink <> -1:
  22. self.vp_list.getWidget(self.selectedSink).removeStyleName("ks-SinkItem-selected")
  23. for i in range(len(self.sinks)):
  24. info = self.sinks[i]
  25. if (info.getName()==name):
  26. self.selectedSink = i
  27. widget=self.vp_list.getWidget(self.selectedSink)
  28. widget.addStyleName("ks-SinkItem-selected")
  29. return