]> git.ipfire.org Git - thirdparty/newt.git/blob - popcorn.py
install python modules to purelib and platlib
[thirdparty/newt.git] / popcorn.py
1 #!/usr/bin/python
2
3 from __future__ import absolute_import, print_function, unicode_literals
4 from snack import *
5 import sys
6
7 def help(screen, text):
8 ButtonChoiceWindow(screen, "Help", text, help = "Help on help")
9
10 t = TextboxReflowed(25, "Some text which needs to be wrapped at a good place.")
11 li = Listbox(5, width = 20, returnExit = 1)
12 li.append("First", "f")
13 li.append("Second", "s")
14 li.insert("Another", "a", "f")
15 li.delete("a")
16 ct = CheckboxTree(5, scroll = 1)
17 ct.append("Colors")
18 ct.addItem("Red", (0, snackArgs['append']), "red item key")
19 ct.addItem("Yellow", (0, snackArgs['append']))
20 ct.addItem("Blue", (0, snackArgs['append']))
21 ct.append("Flavors")
22 ct.addItem("Vanilla", (1, snackArgs['append']))
23 ct.addItem("Chocolate", (1, snackArgs['append']))
24 ct.addItem("Stawberry", (1, snackArgs['append']))
25 ct.append("Numbers")
26 ct.addItem("1", (2, snackArgs['append']))
27 ct.addItem("2", (2, snackArgs['append']))
28 ct.addItem("3", (2, snackArgs['append']))
29 ct.append("Names")
30 ct.addItem("Matt", (3, snackArgs['append']))
31 ct.addItem("Shawn", (3, snackArgs['append']))
32 ct.addItem("Wilson", (3, snackArgs['append']))
33 ct.append("Months")
34 ct.addItem("February", (4, snackArgs['append']))
35 ct.addItem("August", (4, snackArgs['append']))
36 ct.addItem("September", (4, snackArgs['append']))
37 ct.append("Events")
38 ct.addItem("Christmas", (5, snackArgs['append']))
39 ct.addItem("Labor Day", (5, snackArgs['append']))
40 ct.addItem("My Vacation", (5, snackArgs['append']))
41 b = Button("Button")
42 e = Entry(15, "Entry")
43 l = Label("label")
44 cb = Checkbox("checkbox")
45 r1 = SingleRadioButton("Radio 1", None, 1)
46 r2 = SingleRadioButton("Radio 2", r1)
47
48 def something():
49 print(hello)
50
51 screen = SnackScreen()
52
53 screen.helpCallback(help)
54
55 foo = EntryWindow(screen, 'Title', 'This is some text for the entry window',
56 ['prompt', 'more', 'info'])
57
58 lbcw = ListboxChoiceWindow(screen, 'Title 2',
59 'Choose one item from the list below:',
60 ('One', 'Two', 'Three', 'Four', 'Five'), default = 2,
61 help = "Help for a listbox")
62
63 sg = Grid(2, 3)
64 sg.setField(b, 0, 0, anchorLeft = 1)
65 sg.setField(e, 1, 0, (1, 0, 0, 0), anchorLeft = 1, anchorTop = 1)
66 sg.setField(l, 0, 1, (0, 1, 0, 0), anchorLeft = 1)
67 sg.setField(cb, 1, 1, (1, 1, 0, 0), anchorLeft = 1)
68 sg.setField(r1, 0, 2, (0, 0, 0, 0), anchorLeft = 1)
69 sg.setField(r2, 1, 2, (1, 0, 0, 0), anchorLeft = 1)
70
71 g = Grid(1, 3)
72
73 g.setField(t, 0, 0)
74 g.setField(li, 0, 1, (0, 1, 0, 1))
75 g.setField(sg, 0, 2)
76
77 g.place(1, 1)
78
79 screen.gridWrappedWindow(g, "title")
80
81 f = Form("This is some help")
82 f.add(li)
83 f.add(b)
84 f.add(e)
85 f.add(l)
86 f.add(cb)
87 f.add(r1)
88 f.add(r2)
89 f.add(t)
90
91 res = f.run()
92
93 screen.popWindow()
94
95 g = GridForm(screen, "Tree", 1, 2)
96 g.add(ct, 0, 0, (0, 0, 0, 1))
97 g.add(Button("Ok"), 0, 1)
98 g.runOnce()
99
100
101 screen.finish()
102
103 print("val", e.value())
104 print("check", cb.value())
105 print("r1", r1.selected())
106 print("listbox", li.current())
107 # returns a tuple of the wrapped text, the actual width, and the actual height
108 print(res)
109
110 print(foo)
111 print('lbcw', lbcw)
112 print("ct selected", ct.getSelection())
113 print("ct current", ct.getCurrent())