PageRenderTime 17ms CodeModel.GetById 1ms RepoModel.GetById 0ms app.codeStats 1ms

/examples/addonsgallery/SinkList.py

http://pyjamas.googlecode.com/
Python | 37 lines | 29 code | 8 blank | 0 comment | 5 complexity | 514c1d5ef5f24ed28d12a8fff0e057ba MD5 | raw file
Possible License(s): LGPL-2.1, Apache-2.0
  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