]>
Commit | Line | Data |
---|---|---|
80d03bd8 | 1 | #!/usr/bin/python |
2 | ||
ba3eb78a | 3 | from __future__ import absolute_import, print_function, unicode_literals |
80d03bd8 | 4 | from snack import * |
99438c19 | 5 | import sys |
80d03bd8 | 6 | |
72b71fa6 | 7 | def help(screen, text): |
6177ee9b | 8 | ButtonChoiceWindow(screen, "Help", text, help = "Help on help") |
72b71fa6 | 9 | |
8eb321ee | 10 | t = TextboxReflowed(25, "Some text which needs to be wrapped at a good place.") |
ea59ae12 | 11 | li = Listbox(5, width = 20, returnExit = 1) |
a507b3ec | 12 | li.append("First", "f") |
13 | li.append("Second", "s") | |
14 | li.insert("Another", "a", "f") | |
15 | li.delete("a") | |
75d40644 | 16 | ct = CheckboxTree(5, scroll = 1) |
17 | ct.append("Colors") | |
2b6641b1 | 18 | ct.addItem("Red", (0, snackArgs['append']), "red item key") |
75d40644 | 19 | ct.addItem("Yellow", (0, snackArgs['append'])) |
20 | ct.addItem("Blue", (0, snackArgs['append'])) | |
21 | ct.append("Flavors") | |
5a6729cf | 22 | ct.addItem("Vanilla", (1, snackArgs['append'])) |
23 | ct.addItem("Chocolate", (1, snackArgs['append'])) | |
24 | ct.addItem("Stawberry", (1, snackArgs['append'])) | |
75d40644 | 25 | ct.append("Numbers") |
5a6729cf | 26 | ct.addItem("1", (2, snackArgs['append'])) |
27 | ct.addItem("2", (2, snackArgs['append'])) | |
28 | ct.addItem("3", (2, snackArgs['append'])) | |
75d40644 | 29 | ct.append("Names") |
5a6729cf | 30 | ct.addItem("Matt", (3, snackArgs['append'])) |
31 | ct.addItem("Shawn", (3, snackArgs['append'])) | |
32 | ct.addItem("Wilson", (3, snackArgs['append'])) | |
75d40644 | 33 | ct.append("Months") |
5a6729cf | 34 | ct.addItem("February", (4, snackArgs['append'])) |
35 | ct.addItem("August", (4, snackArgs['append'])) | |
36 | ct.addItem("September", (4, snackArgs['append'])) | |
75d40644 | 37 | ct.append("Events") |
5a6729cf | 38 | ct.addItem("Christmas", (5, snackArgs['append'])) |
39 | ct.addItem("Labor Day", (5, snackArgs['append'])) | |
40 | ct.addItem("My Vacation", (5, snackArgs['append'])) | |
80d03bd8 | 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 | ||
6a703ca8 | 48 | def something(): |
ba3eb78a | 49 | print(hello) |
6a703ca8 | 50 | |
a507b3ec | 51 | screen = SnackScreen() |
52 | ||
72b71fa6 | 53 | screen.helpCallback(help) |
54 | ||
8eb321ee | 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:', | |
6177ee9b | 60 | ('One', 'Two', 'Three', 'Four', 'Five'), default = 2, |
61 | help = "Help for a listbox") | |
8eb321ee | 62 | |
6e25d997 | 63 | sg = Grid(2, 3) |
de25a3b8 | 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) | |
6e25d997 | 70 | |
71 | g = Grid(1, 3) | |
72 | ||
de25a3b8 | 73 | g.setField(t, 0, 0) |
74 | g.setField(li, 0, 1, (0, 1, 0, 1)) | |
75 | g.setField(sg, 0, 2) | |
6e25d997 | 76 | |
80d03bd8 | 77 | g.place(1, 1) |
78 | ||
79 | screen.gridWrappedWindow(g, "title") | |
80 | ||
72b71fa6 | 81 | f = Form("This is some help") |
6e25d997 | 82 | f.add(li) |
80d03bd8 | 83 | f.add(b) |
84 | f.add(e) | |
85 | f.add(l) | |
86 | f.add(cb) | |
87 | f.add(r1) | |
88 | f.add(r2) | |
6e25d997 | 89 | f.add(t) |
80d03bd8 | 90 | |
ea59ae12 | 91 | res = f.run() |
80d03bd8 | 92 | |
93 | screen.popWindow() | |
94 | ||
75d40644 | 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 | ||
8eb321ee | 100 | |
80d03bd8 | 101 | screen.finish() |
102 | ||
ba3eb78a MK |
103 | print("val", e.value()) |
104 | print("check", cb.value()) | |
105 | print("r1", r1.selected()) | |
106 | print("listbox", li.current()) | |
6e25d997 | 107 | # returns a tuple of the wrapped text, the actual width, and the actual height |
ba3eb78a | 108 | print(res) |
8eb321ee | 109 | |
ba3eb78a MK |
110 | print(foo) |
111 | print('lbcw', lbcw) | |
112 | print("ct selected", ct.getSelection()) | |
113 | print("ct current", ct.getCurrent()) |