home *** CD-ROM | disk | FTP | other *** search
/ PC World 1997 November / PCWorld_1997-11_cd.bin / software / programy / komix / DATA.Z / helpindex.tcl < prev    next >
Text File  |  1996-05-29  |  2KB  |  76 lines

  1. #---------------------------------------------------------------------------
  2. #
  3. #      (c)     Westmount Technology    1994
  4. #
  5. #      File:           @(#)helpindex.tcl    1.4
  6. #      Author:         <generated>
  7. #      Description:
  8. #---------------------------------------------------------------------------
  9. # SccsId = @(#)helpindex.tcl    1.4   29 Jun 1995 Copyright 1994 Westmount Technology
  10.  
  11. # Start user added include file section
  12. # End user added include file section
  13.  
  14. require "searchgrou.tcl"
  15.  
  16. Class HelpIndex : {SearchGroup} {
  17.     constructor
  18.     method destructor
  19.     method load
  20.     method gotoSelected
  21.     attribute urlDict
  22.     attribute tool
  23. }
  24.  
  25. constructor HelpIndex {class this name} {
  26.     set this [SearchGroup::constructor $class $this $name]
  27.     # Start constructor user section
  28.  
  29.     $this activated {%this gotoSelected}
  30.  
  31.     # End constructor user section
  32.     return $this
  33. }
  34.  
  35. method HelpIndex::destructor {this} {
  36.     # Start destructor user section
  37.     # End destructor user section
  38.     $this SearchGroup::destructor
  39. }
  40.  
  41. method HelpIndex::load {this index} {
  42.     set fp [open $index]
  43.     $this urlDict [Dictionary new]
  44.     set dict [$this urlDict]
  45.     set contents ""
  46.     while {[gets $fp line] >= 0} {
  47.         if {[regexp {^#} $line]} {
  48.             continue
  49.         }
  50.         if {![regexp {([^|][^|]*)\|([^|][^|]*)} $line dummy idx url]} {
  51.             error "illegal formatted index line '$line'"
  52.         }
  53.         set idx [string trimright $idx]
  54.         set url [string trim $url]
  55.         lappend contents $idx
  56.         $dict set $idx $url
  57.     }
  58.     close $fp
  59.     $this entrySet $contents
  60. }
  61.  
  62. method HelpIndex::gotoSelected {this} {
  63.     set selected [$this selected]
  64.     if {$selected == ""} {
  65.         return
  66.     }
  67.     set ref [[$this urlDict] set $selected]
  68.     if {[string range $ref 0 0] != "/"} {
  69.         set ref [[$this tool] root]/$ref
  70.     }
  71.     [$this tool] gotoURL $ref
  72. }
  73.  
  74. # Do not delete this line -- regeneration end marker
  75.  
  76.