('edit' [('undo' self onundo)('redo' self onredo)'separator'('cut' self oncut)('copy' self oncopy)('paste' self onpaste)'separator'('delete' self ondelete)('select all' self onselectall))('search' [('goto ' self ongoto)('find ' self onfind)('refind' self onrefind)('change ' self onchange)('grep ' self ongrep))('tools' [('pick font ' self onpickfont)('font list' self onfontlist)'separator'('pick bg ' self onpickbg)('pick fg ' self onpickfg)('color list' self oncolorlist)'separator'('info ' self oninfo)('clone' self onclone)('run code' self onruncode))self toolbar ('save'self onsave{'side'left})('cut'self oncut{'side'left})('copy'self oncopy{'side'left})('paste'self onpaste{'side'left})('find'self onrefind{'side'left})('help'self help{'side'right})('quit'self onquit{'side'right})def makewidgets(self)name label(selfbg='black'fg='white'name pack(side=topfill=xvbar scrollbar(selfhbar scrollbar(selforient='horizontal'text text(selfpadx= wrap='none'text config(undo= autoseparators= run by guimaker __init__ add below menuabove tool menu/toolbars are packed guimaker frame packs itself vbar pack(side=rightfill=yhbar pack(side=bottomfill=xtext pack(side=topfill=bothexpand=yestext config(yscrollcommand=vbar settext config(xscrollcommand=hbar set complete gui programs disable line wrapping default is pack text last else sbars clipped call vbar set on text move