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