from GUI import Window, PaletteView, run from testing import say class TestPaletteView(PaletteView): def __init__(self): PaletteView.__init__(self, num_items = 10, items_per_row = 4, cell_size = (50, 30)) def draw_item(self, c, i, rect): x = rect[0] + 5 y = rect[1] + 15 t = "Item %d" % i c.frame_rect(rect) c.moveto(x, y) c.show_text(t) def click_item(self, i, event): print "Item %d clicked" % i win = Window(title = "Palette View") view = TestPaletteView() win.add(view) win.shrink_wrap() win.show() instructions = """ There should be a palette view with 10 items arranged in 4 columns. The item number of a clicked item should be reported. """ say(instructions) run()