PageRenderTime 29ms CodeModel.GetById 25ms RepoModel.GetById 0ms app.codeStats 0ms

/pyjs/tests/test009.py

http://pyjamas.googlecode.com/
Python | 58 lines | 36 code | 22 blank | 0 comment | 0 complexity | 4b023389d39c58e4b43632534ddc7ade MD5 | raw file
Possible License(s): LGPL-2.1, Apache-2.0
  1. import DOM
  2. class UIObject:
  3. def getElement(self):
  4. return self.element
  5. def setElement(self, element):
  6. self.element = element
  7. def setStyleName(self, style):
  8. DOM.setAttribute(self.element, "className", style)
  9. class Widget(UIObject):
  10. def setParent(self, parent):
  11. self.parent = parent
  12. class Panel(Widget):
  13. pass
  14. class ComplexPanel(Panel):
  15. def __init__(self):
  16. self.children = []
  17. def add(self, widget):
  18. self.children.append(widget)
  19. widget.setParent(self)
  20. return True
  21. class AbsolutePanel(ComplexPanel):
  22. def __init__(self):
  23. ComplexPanel.__init__(self)
  24. self.setElement(DOM.createDiv())
  25. DOM.setStyleAttribute(self.getElement(), "overflow", "hidden")
  26. def add(self, widget):
  27. ComplexPanel.add(self, widget)
  28. DOM.appendChild(self.getElement(), widget.getElement())
  29. return True
  30. class RootPanel(AbsolutePanel):
  31. def __init__(self):
  32. AbsolutePanel.__init__(self)
  33. element = self.getBodyElement()
  34. self.setElement(element)
  35. def getBodyElement(self):
  36. JS(""" return $doc.body;""")