/
mywidgets.py
83 lines (66 loc) · 1.7 KB
/
mywidgets.py
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
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
# pyjamas library
# app pyjamas library
from pyjamas.ui.RootPanel import RootPanel
from pyjamas.ui.Label import Label
from pyjamas.ui.Button import Button
from pyjamas.ui.ToggleButton import ToggleButton
from pyjamas.ui.HTML import HTML
from pyjamas.ui.FlexTable import FlexTable
from pyjamas.ui.VerticalPanel import VerticalPanel
from pyjamas.ui.HorizontalPanel import HorizontalPanel
from pyjamas.ui.Image import Image
import pyjamas.Window as Window
from pyjamas.ui.TextBox import TextBox
def rootadd(x):
RootPanel().add(x)
def rootclear():
RootPanel().clear()
def button(x,y):
z = Button(x,y)
return z
def togglebutton(x,y,z):
a = ToggleButton(x,y)
return a
def label(x):
y = Label(x)
return y
def labelbutton(x,y):
z = Label(x)
z.addClickListener(y)
return z
def html(x):
y = HTML(x)
return y
def br():
return html("<br>")
def verticalpanel():
return VerticalPanel()
def horizontalpanel():
return HorizontalPanel()
def flatten(table):
l = []
for x in table:
l.extend(x)
return l
def flextable(data):
table = FlexTable()
rows = len(data)
columns = len(data[0])
datalist = flatten(data)
columnlist = flatten([range(columns) for x in range(rows)])
rowlist = flatten([[x for y in range(columns)]
for x in range(rows)])
tablelist = zip(rowlist,columnlist,datalist)
for x in tablelist:
table.setText(x[0],x[1],x[2])
table.setBorderWidth(2)
return table
def clearandplace(place,item):
place.clear()
place.add(item)
def image(theurl):
return Image(url=theurl)
def urlwindow(link,title):
Window.open(link,title)
def textbox():
return TextBox()