#!/usr/local/bin/python ## # Del Test # -------- # Test if del() works correctly on buttons, and menus. ## from graphapp import * def del_win(m): w = parentwindow(m) del(w) def del_item(c): del(c) def del_data(mi): m = getdata(mi) del(m) def del_twice(mi): del(mi) doevent() del(mi) def main(): m = [None] * 9 # menu array with 9 elements (all empty) mi = [None] * 9 # menuitem array with 9 elements (all empty) b = [None] * 9 # button array with 9 elements (all empty) w = newwindow("Test del", rect(20,20,400,300), StandardWindow) setbackground(w, Blue) mb = newmenubar(None) m[0] = newmenu("File") mi[0] = newmenuitem("Quit", 'Q', del_win) m[1] = newmenu("Edit") mi[1] = newmenuitem("Remove Item 1", 0, del_item) mi[2] = newmenuitem("Remove Item 2", 0, del_item) mi[3] = newmenuitem("Remove Item 3", 0, del_item) m[2] = newmenu("Hidden") hide(m[2]) m[3] = newmenu("Special") mi[4] = newmenuitem("Remove Item 1", 0, del_item) mi[5] = newmenuitem("Remove Item 2", 0, del_item) mi[6] = newmenuitem("Remove Item 3", 0, del_item) mi[7] = newmenuitem("-", 0, None) mi[8] = newmenuitem("Remove Menu", 0, del_data) setdata(mi[8], m[3]) for i in range(5): b[i] = newbutton("Delete me", rect(10,10+i*50,90,35), del_item) b[5] = newbutton("Del Menubar", rect(110,10,90,35), del_data) setdata(b[5], mb) b[6] = newbutton("Del Twice", rect(110,50,90,35), del_twice) show(w) mainloop() main()