self onloadserver(forcereload=truesynch inbox/index new threadreload def onloadmsgsprogress(selfinafterpopuptoload)popup changetext('% of % (in)def getmessage(selfmsgnum)return self cache getmessage(msgnumfull mail text def headersmaps(self)list of email message message objects requires list(if map(return [self parseheaders(hfor in self cache allhdrs()return list(map(self parseheadersself cache allhdrs())def mailsize(selfmsgnum)return self cache getsize(msgnumdef okaytoquit(self)any threads still runningfilesbusy [win for win in opensavefiles values(if win openfilebusybusy loadinghdrsbusy or deletingbusy or sendingbusy or loadingmsgsbusy busy busy or filesbusy return not busy viewwindowsmessage view windows example - lists the implementation of mail view and edit windows these windows are created in response to actions in list windows--viewwritereplyand forward buttons see the callbacks for these actions in the list window module of example - for view window initiation calls as in the prior module (example - )this file is really one common class and handful of customizations the mail view window is nearly identical to the mail edit windowused for writereplyand forward requests consequentlythis example defines the common appearance and behavior in the view window superclassand extends it by subclassing for edit windows replies and forwards are hardly different from the write window herebecause their details ( from and to addresses and quoted message textare worked out in the list window implementation before an edit window is created example - pp \internet\email\pymailgui\viewwindows py ""##############################################################################implementation of viewwritereplyforward windowsone class per kind code is factored here for reusea write window is customized view windowand reply and forward are custom write windows windows defined in this file are created by the list windowsin response to user actions caveat:'splitpop ups for opening parts/attachments feel nonintuitive this caveat was addressedby adding quick-access attachment buttons new in platform-neutral grid(for mail headersnot packed col frames pymailgui implementation