1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61
|
""" ControlDemo Example
"""
import pyjd # dummy in pyjs
from pyjamas.ui.RootPanel import RootPanel
from pyjamas.ui.Label import Label
from pyjamas.ui.Controls import VerticalDemoSlider
from pyjamas.ui.Controls import VerticalDemoSlider2
from pyjamas.ui.Controls import InputControl
from pyjamas.ui.HorizontalPanel import HorizontalPanel
from pyjamas.ui.VerticalPanel import VerticalPanel
class SliderClass(VerticalPanel):
def __init__(self, p2):
VerticalPanel.__init__(self)
self.setSpacing(10)
if p2:
self.b = VerticalDemoSlider2(0, 100)
else:
self.b = VerticalDemoSlider(0, 100)
self.add(self.b)
self.b.setWidth("20px")
self.b.setHeight("100px")
self.b.addControlValueListener(self)
self.label = InputControl(0, 100)
self.add(self.label)
self.label.addControlValueListener(self)
def onControlValueChanged(self, sender, old_value, new_value):
if sender == self.label:
self.b.setControlPos(new_value)
self.b.setValue(new_value, 0)
if sender == self.b:
self.label.setControlPos(new_value)
self.label.setValue(new_value, 0)
class ControlDemo:
def onModuleLoad(self):
p = HorizontalPanel()
p.setSpacing(10)
sc = SliderClass(False)
p.add(sc)
sc = SliderClass(True)
p.add(sc)
sc = SliderClass(True)
p.add(sc)
RootPanel().add(p)
if __name__ == '__main__':
pyjd.setup("./public/ControlDemo.html")
app = ControlDemo()
app.onModuleLoad()
pyjd.run()
|