from GUI import Window, Button, Font, application from GUI.StdFonts import system_font from GUI.StdColors import red, black from testing import say def say_hello(): say("Hello, world!") btn2.enabled = 1 def say_goodbye(): say("Goodbye, world!") btn2.enabled = 0 def simulate_hello(): btn1.activate() btn1 = Button(position = (30, 30), title = "Hello", action = say_hello, style = 'default') btn2 = Button(x = 30, y = btn1.bottom + 30, width = 200, title = "Goodbye", just = 'centre', action = say_goodbye, enabled = 0) btn2.font = Font("Times", 1.2 * system_font.size, []) btn3 = Button(x = 30, y = btn2.bottom + 30, width = 200, font = Font("Times", 1.2 * system_font.size, ['italic']), action = simulate_hello, title = "Wrong", style = 'cancel') btn3.color = red btn3.just = 'right' btn3.title = "Gidday Mate" class TWindow(Window): def key_down(self, e): say(e) Window.key_down(self, e) win = TWindow(width = 260, height = btn3.bottom + 30, title = "Btns", resizable = 0, zoomable = 0) win.add(btn1) win.add(btn2) win.add(btn3) win.show() instructions = """ There should be 3 buttons arranged vertically: 1. Title "Hello", natural width, style 'default' 2. Title "Goodbye" in a serif font, width 200, initially disabled 3. Title "Gidday Mate" in red italic, width 200, style 'cancel', right aligned Pressing button 1 should print "Hello, world!" and enable button 2. Pressing button 2 should print "Goodbye, world!" and disable button 2. Pressing button 3 should simulate pressing button 1. """ say(instructions) say("Testing readback of button 3 properties:") say("title =", btn3.title) say("font =", btn3.font) say("color =", btn3.color) say("just =", btn3.just) say("End of readback test") say() application().run()