450: #line 557 "web_weaver.ipk" 451: def mk_contents(self,toc_filename,target): 452: self.toc_sink = named_file_sink( 453: self.pass_frame, 454: self.basedir+toc_filename, 455: self.master.weaver_prefix, 456: eol=self.eol) 457: self.mk_head(self.toc_sink) 458: w = self.toc_sink.writeline 459: w( '<BODY onload="loadHandler()">') 460: if not target: 461: nav = '<DIV CLASS="NAVIGATION">'+self.home_anchor+' '+self.frames_anchor+'<BR><HR></DIV>' 462: self.toc_sink.writeline(nav) 463: w('<H1>Table of Contents</H1>') 464: w(stacking_weaver.MSIE_treehandler) 465: last_level = -1 466: if self.toc: 467: i = 0 468: level, hnum, href, text = self.toc[i] 469: next_level = 0 470: if len(self.toc) > i+1: next_level = self.toc[i+1][0] 471: self.emit_contents_line(level, hnum, href, text, level<next_level, target) 472: divid = 'h'+hnum+'d' 473: w('<DIV ID='+divid+' style="display:">') 474: last_level = level 475: for i in range(1, len(self.toc)): 476: level, hnum, href, text = self.toc[i] 477: next_level = 0 478: if len(self.toc) > i+1: next_level = self.toc[i+1][0] 479: while level <= last_level: 480: self.toc_sink.writeline('</DIV>') 481: last_level = last_level - 1 482: self.emit_contents_line(level, hnum, href, text, level<next_level, target) 483: divid = 'h'+hnum+'d' 484: w('<DIV ID='+divid+' style="display:">') 485: last_level = level 486: while 1 <= last_level: 487: w('</DIV>') 488: last_level = last_level - 1 489: w( '</BODY>') 490: w( '</HTML>') 491: del self.toc_sink 492: 493: def emit_contents_line(self, level, hnum, href, text, enabled, target): 494: self.toc_sink.writeline(' '*(3*level)) 495: headid ='h'+hnum 496: flag = 'disabled' 497: if enabled: flag = '' 498: self.toc_sink.writeline('<INPUT ID='+headid+' CLASS="Button" TYPE="Radio" '+flag+'>') 499: if target: 500: self.toc_sink.writeline('<A HREF="'+href+'" TARGET="'+target+'">'+text+'</A>') 501: else: 502: self.toc_sink.writeline('<A HREF="'+href+'">'+text+'</A>') 503: