self msecs msecs self editclass editclass slideshow __init__(selfparentpicdirmsecssizedef makewidgets(self)self name label(selftext='none'bg='red'relief=ridgeself name pack(fill=xslideshow makewidgets(selfbutton(selftext='note'command=self onnotepack(fill=xbutton(selftext='help'command=self onhelppack(fill=xs scale(label='speedmsec delay'command=self onscalefrom_= to= resolution= showvalue=yeslength= tickinterval= orient='horizontal' pack(side=bottomfill=xs set(self msecs need to know if editor destroyedin popup or full component modes self editorgone false class wrapeditor(self editclass)extend pyedit class to catch quit def onquit(editor)editor is pyedit instance arg subject self editorgone true self is slide show in enclosing scope self editorup false self editclass onquit(editoravoid recursion attach editor frame to window or slideshow frame if issubclass(wrapeditortexteditormain)make editor now self editor wrapeditor(self masterneed root for menu elseself editor wrapeditor(selfembedded or pop-up self editor pack_forget(hide editor initially self editorup self image none def onstart(self)slideshow onstart(selfself config(cursor='watch'def onstop(self)slideshow onstop(selfself config(cursor='hand 'def onopen(self)slideshow onopen(selfif self imageself name config(text=os path split(self image[ ])[ ]self config(cursor='crosshair'self switchnote(def quit(self)self savenote(slideshow quit(selfdef drawnext(self)slideshow drawnext(selfif self imagepyviewan image and notes slideshow