# # PyGUI - Test targeted() and untargeted() methods # from GUI import View, Window, application from GUI.StdColors import red, green from testing import say class TestPatch(View): def __init__(self, name, color, **kwds): self.name = name self.color = color View.__init__(self, size = (60, 60), **kwds) def draw(self, c, r): c.forecolor = self.color c.fill_rect(r) def mouse_down(self, e): say("%s clicked" % self.name) self.become_target() def targeted(self): say("%s targeted" % self.name) def untargeted(self): say("%s untargeted" % self.name) def test(): win = Window(title = "Targeting", size = (180, 100)) patch1 = TestPatch("Red patch", red, position = (20, 20)) patch2 = TestPatch("Green patch", green, position = (100, 20)) win.add(patch1) win.add(patch2) win.show() application().run() instructions = """ There should be a window with two coloured patches. Clicking in a patch will make it the target. Messages should be printed whenever a patch is clicked or its target status changes. """ say(instructions) test()