#=================================================================== # ZRouser -- The Tcl Web browser with zMap # by Mike Doyle # # Copyright (c) 1997 Eolas Technologies Inc., portions covered by U.S. Patent 4,847,604 # Freely modifiable/redistributable under the "Standard Tcl License" # See http://www.eolas.com/tcl/license.txt for details #=================================================================== # # # This program calls upon several procedures in the "spynergy.tcl" # toolkit to handle rendering and navigation of Web pages from within # a standard test widget. # # These procedures include: # # HB_init {win}: Called with the name of the # text window to be used for rendering the Web page. It sets up # a group of variables that allow GUI widgets to be attached to # the various URL navigational functions in the Spynergy library. # # HB_resolve_url {win url}: Transforms relative URL # pathnames into absolute pathnames that the HTML library functions # can handle. The relative URL is passed as an argument, and the # procedure returns the absolute URL in string form. # # HB_load_url {win url}: Loads the given URL into # the text widget defined by "win" # # HB_home {button_path}: Loads the default home URL # into the text widget specified in HB_init # # HB_back {button_path}: Causes re-loading of the URL which # immediatly preceded the URL being currently viewed, if applicable # # HB_forward {button_path}: If the Back button has been pushed, this # causes re-loading of the URL which immediately follows the URL being # currently viewed # # HB_go_form {button_path}: Causes the display of a scrolling listbox # that displays a "history list" of all of the URLs that the user has # visited. Clicking on any URL in the list will cause that URL to be # immediately fetched and rendered into the text widget defined by HB_init # # HB_Stop {button_path}: This procedure will interrupt the fetching # and rendering of HTML data into the Web browser text widget. # # # # #=================================================================== ###################################################### # -----------image data for animation strip set strip { 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 iPOeROeMR6B9djD3/k4yRnXnzCAAOvVLeQVS+NoszjHkXkQ6nUPRYuhlNCJ7gIR0okk7jcXi drW0p1VpawHoVYo8LSdiMi/6x1Zp+Jj0wo814tfikDg2KONtX60hgYp02GhhcDnuwyEi8yV2 wIRN3tifiRs++A9PR5CppXNc/pcmSspBcuB6UBYpZYdAZnmnmRqG4eWSdOKXl0YPEHlmoHI+ ReiBF1AQU6KA5sKoinelZ2FRL/zZpaV8DlShAZHSIhlInqKoZo0rObkRPfVwMtxalaY6J2sr tXSMi1aIBtGOMQqqKqFl5TXUpv2N5lB0DiF5ma3YEStUpAm9IJl7N0EzmFcvqCkEa9mY/jWt PNU2MMJss0Z3pFvm5DYXBZvdFe5er4r2F2AlEcatauVh59lL4tKrVow4tTCjGrrVJZCdKcxL rsBb7VDcj6up5FqrMvVKm2mDDVBtbo0Gg6VvQm4pg6xKFffVAzpM8K6jQF086bKVxaeyuxTH GzOeioaUcrstSxjkY7DBsDOloNT8MwUSGigqBU/2UG6UaOpkM9AfjrkwaON2GmetLC+NNZta T/HqJvjo4yvVBgtbX29kk4i2hmoH+yymOv+JbqUFN0Wjo6Lu2jUYPDpQsLMg9ws41Bnus3GA g34Lt8xei7Kt0pvZ12fgjFN++JVjK15ynmt7DmSIeHPu4NeX/gpdZup6+v2txa7DqTrbdreu 6+K1ww554vlVlYnUoy+6Op9NqjcLX6+TvueqdlrwpLVq9y7srWW1yhGyAxd/O+ICReum8DV5 IhI/MvTte0/RQobozuYP7rjzL5uFEKKy5SkSvrjhvo42xdrvKuaS1Xcs44/5MMI88QLgvGSD Dy/caxeo6dbfttG+qzxMWb8yDdsQ9jzANdBUGoOPtmh0nQgwJlQki40INcYUUsyjf77Rjvig dDKaaUtAdPFWv4DSkhp2TTrxEQ99fpcrPzFvZtP5GX3OQybdiU5RtMohEZmmuQRNzna8qKLY Ttecoi0jJ6fqnFMi1MU23akvRaLe/vlKh7m3he5NfinNd1jwKSZJzmjo8lXdvtc6IDKPR82a X+TimMVnSMwwjVLM3Wg3te45qzo4qA/oVnjI5sVOTJVEHe8wqb46RMKQRkOV91iHjZ/U4Id7 AMcfmkGpQpgBDedwAzAcccolNCEWUWBlFlz5npIcYpbVsGUrUlkJPmSilYH4ZSiCmQhaNqIG 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 } ############################################## # zMap procedures # proc zmap_setup {} { global strip which nFrames delayInterval zwin oldurl zmap_url _url set width 50 set which 0 image create photo strip -data $strip label $zwin.l -border 0; pack $zwin.l set nFrames [expr [image width strip] / $width] for {set i 0} {$i < $nFrames} {incr i} { image create photo p$i p$i copy strip -from [expr $i * $width] 0 [expr ($i + 1) * $width] 50 } set which 0 } proc zmap_playnext {} { global nFrames which delayInterval zwin incr which if {$which >= $nFrames} {set which 0} $zwin.l configure -image p$which after $delayInterval zmap_playnext } source spynergy.tcl ############################## # Rouser Configuration Section # This section allows you to set several configuration options, such as the default # URL that the browser loads at satartup, Whether or not to display the navigation # buttons and URL window, the default color of the HTML document background, # the default color and width of the frame surrounding the Web page, and whether # or not to display a scrollbar at the right of the document window. global ROUSERURL BASE BUTFLAG BORDWID BG zwin global FRMBG SCROLFLAG FILLAREA zwin which oldurl delayInterval # -- Rouser configuration variables for .rouser.f1 set delayInterval 100 set ROUSERURL(1) "http://www.eolas.com" set zmap_url "http://www.doyles.com/cgi-dos/mapper.cmd/demo@world@world.tif?" set BASE(1) .rouser.main set BUTFLAG(1) "1" set BORDWID(1) "0" set FILLAREA(1) "0" set BG(1) "white" set FRMBG(1) "LightGray" set SCROLFLAG(1) "1" ### End of Rouser Configuration Section ############################## # -- embed_arg override processing for Rouser defaults from within plugin # global embed_args if {[info exists embed_args]} { foreach key [array names embed_args] { set embed_args([string toupper $key]) $embed_args($key) } foreach em_url [array names embed_args ROUSERURL*] { if {$em_url == "ROUSERURL"} { set ROUSERURL(1) "$embed_args($em_url)" } else { set i [string range $em_url 12 end] set ROUSERURL($i) "$embed_args($em_url)" } } unset em_url foreach em_butf [array names embed_args BUTTONS*] { if {$em_butf == "BUTTONS"} { set BUTFLAG(1) "$embed_args($em_butf)" } else { set i [string range $em_butf 7 end] set BUTFLAG($i) "$embed_args($em_butf)" } } unset em_butf foreach em_bord [array names embed_args BORDERWIDTH*] { if {$em_bord == "BORDERWIDTH"} { set BORDWID(1) "$embed_args($em_bord)" } else { set i [string range $em_bord 11 end] set BORDWID($i) "$embed_args($em_bord)" } } unset em_bord foreach em_bg [array names embed_args BACKGROUND*] { if {$em_bg == "BACKGROUND"} { set BG(1) "$embed_args($em_bg)" } else { set i [string range $em_bg 10 end] set BG($i) "$embed_args($em_bg)" } } unset em_bg foreach em_frmbg [array names embed_args FRAMEBACKGROUND*] { if {$em_frmbg == "FRAMEBACKGROUND"} { set FRMBG(1) "$embed_args($em_frmbg)" } else { set i [string range $em_frmbg 15 end] set FRMBG($i) "$embed_args($em_frmbg)" } } unset em_frmbg foreach em_srf [array names embed_args SCROLLBARS*] { if {$em_srf == "SCROLLBARS"} { set SCROLFLAG(1) "$embed_args($em_srf)" } else { set i [string range $em_srf 3 end] set SCROLFLAG($i) "$embed_args($em_srf)" } } unset em_srf foreach em_fill [array names embed_args FILLAREA*] { if {$em_fill == "FILLAREA"} { set FILLAREA(1) "$embed_args($em_fill)" } else { set i [string range $em_fill 8 end] set FILLAREA($i) "$embed_args($em_fill)" } } unset em_srf } ############################## #-----This section sets up the GUI----- set Name .rouser catch "destroy .rouser" toplevel $Name -background LightGray wm title $Name "zRouser, the Tcl Web browser" wm geometry $Name 624x447 wm geometry $Name +20+20 set Parent $Name ############################## set Name $Parent.main frame $Name -relief ridge pack $Name -anchor nw -side top -expand yes -fill both set Name $Parent.main.top frame $Name -background LightGray \ -borderwidth 2 \ -height 50 \ -relief raised \ -width 50 pack $Name -side top set Name $Parent.main.top.buttons frame $Name -background LightGray pack $Name -anchor nw \ -expand 1 \ -fill x \ -side top ############################## #-----The Back button----- # set Name $Parent.main.top.buttons.back button $Name -activebackground gray40 \ -activeforeground green \ -background gray40 \ -command "HB_back $Parent.main.top.buttons.back" \ -disabledforeground LightGray \ -foreground White \ -highlightbackground LightGray \ -highlightcolor LightGray \ -padx 5 \ -pady 1 \ -text Back pack $Name -anchor nw \ -fill none \ -side left ############################## #-----The Forward button----- # set Name $Parent.main.top.buttons.forward button $Name -activebackground gray40 \ -activeforeground green \ -background gray40 \ -command "HB_forward $Parent.main.top.buttons.forward" \ -disabledforeground LightGray \ -foreground White \ -highlightbackground LightGray \ -highlightcolor LightGray\ -padx 5 \ -pady 1 \ -text Forward pack $Name -anchor nw \ -fill none \ -side left ############################## #-----The Home button----- # set Name $Parent.main.top.buttons.home button $Name -activebackground gray40 \ -activeforeground green \ -background gray40 \ -command "HB_home $Parent.main.top.buttons.home" \ -disabledforeground LightGray \ -foreground White \ -highlightbackground LightGray \ -highlightcolor LightGray \ -padx 5 \ -pady 1 \ -text Home pack $Name -anchor nw \ -fill none \ -side left ############################## #-----The Go button (pops up the history listbox)----- # set Name $Parent.main.top.buttons.go button $Name -activebackground gray40 \ -activeforeground green \ -background gray40 \ -command "HB_go_form $Parent.main.top.buttons.go" \ -disabledforeground LightGray \ -foreground White \ -highlightbackground LightGray \ -highlightcolor LightGray \ -padx 5 \ -pady 1 \ -text Go pack $Name -anchor nw \ -fill none \ -side left #-----The Stop button----- # set Name $Parent.main.top.buttons.stop button $Name -activebackground gray40 \ -activeforeground red \ -background gray40 \ -command "HB_Stop $Parent.main.top.buttons.stop" \ -disabledforeground LightGray \ -foreground White \ -highlightbackground LightGray \ -highlightcolor LightGray \ -padx 5 \ -pady 1 \ -text Stop pack $Name -anchor nw \ -fill none \ -side left set Name $Parent.main.top.buttons.l22 label $Name -anchor w \ -background LightGray \ -foreground white \ -justify left pack $Name -anchor nw \ -fill none \ -side left set Name $Parent.main.top.buttons.status label $Name -anchor w \ -background LightGray \ -foreground white \ -justify left pack $Name -anchor nw \ -fill none \ -side left ############################## #-----The Exit button----- set Name $Parent.main.top.buttons.exit button $Name -activebackground lavender \ -background gray40 \ -command exit \ -foreground white \ -highlightbackground LightGray \ -text Exit pack $Name -anchor nw -side right ############################## #----The zMap animation------ # set Name $Parent.main.top.zmap frame $Name -background LightGray pack $Name -anchor w \ -expand 0 \ -fill x \ -side right set zwin $Name zmap_setup zmap_playnext set Name $Parent.main.top.ubar frame $Name -background LightGray pack $Name -anchor nw \ -expand 1 \ -fill x \ -side top ############################## #-----The URL label to the left of the URL entry widget----- # set Name $Parent.main.top.ubar.l13 label $Name -background LightGray \ -foreground black \ -text URL: pack $Name -anchor w \ -side left ############################## #----The URL entry widget------ # set Name $Parent.main.top.ubar.url entry $Name -background white \ -highlightbackground LightGray \ -highlightcolor cyan \ -selectbackground skyblue \ -width 0 pack $Name -anchor nw \ -expand yes \ -fill x \ -side left set Name $Parent.main.txt frame $Name -background LightGray \ -borderwidth 2 \ -highlightbackground lightgray \ -relief raised pack $Name -anchor nw \ -expand 1 \ -fill both \ -side top ############################## #-----The text widget that displays the Web document----- # set Name $Parent.main.txt.win text $Name -background white \ -cursor arrow \ -foreground black \ -height 100 \ -highlightbackground lightgray \ -insertbackground black \ -selectbackground LightGray \ -selectforeground black \ -takefocus 0 \ -width 20 \ -yscrollcommand "$Parent.main.txt.scroll set" $Name insert end { } pack $Name -anchor nw \ -expand 1 \ -fill both \ -padx 2 \ -pady 2 \ -side left set Name $Parent.main.txt.scroll scrollbar $Name -activebackground plum \ -activerelief sunken \ -background LightGray \ -command "$Parent.main.txt.win yview" \ -highlightbackground LightGray \ -troughcolor gray40 -width 16 pack $Name -anchor center \ -fill y \ -padx 2 \ -pady 2 \ -side right ############################## #-----Set the _url array variables to use # with the Spynergy Toolkit procedures # set win $Parent.main.txt.win global _url set base .rouser.main set _url($win~~statuslabel) "$base.top.buttons.status" set _url($win~~entrywidget) "$base.top.ubar.url" set _url($win~~backbut) "$base.top.buttons.back" set _url($win~~forwardbut) "$base.top.buttons.forward" set _url($win~~homebut) "$base.top.buttons.home" set _url($win~~gobut) "$base.top.buttons.go" set _url($win~~stopbut) "$base.top.buttons.stop" ############################## # ----- Load HTML into the browser text widget ------- # proc LoadHTML {w url} { global _url HB_init $w if {$url != ""} { $_url($w~~entrywidget) configure -text $url update set urllist [HB_resolve_url $w $url] HB_load_url $w [lindex $urllist 0] [lindex $urllist 1] 1 if {[lindex $urllist 1] != ""} {HMgoto [lindex $urllist 1]} } } ############################## # ----- Post browser text widget ------- # if {!$BUTFLAG(1)} { pack forget .rouser.main.top } else { pack .rouser.main.top -before .rouser.main.txt -anchor nw -expand 1 -fill x -side top } if {!$SCROLFLAG(1)} { pack forget .rouser.main.txt.scroll } else { pack .rouser.main.txt.scroll -after .rouser.main.txt.win -anchor center -expand 0 -fill y -padx 2 -pady 2 -side right } .rouser.main configure -borderwidth $BORDWID(1) .rouser.main.txt configure -background $FRMBG(1) .rouser.main.txt.win configure -background $BG(1) if {$FILLAREA(1)} { place .rouser.f1 -x 0 -y 0 -width 0 -height 0 -relx 0 -rely 0 -relwidth 1.0 -relheight 1.0 -anchor nw } update if {$ROUSERURL(1) != ""} { LoadHTML .rouser.main.txt.win "$ROUSERURL(1)" } ##########################################3 #----zMap bindings bind $Parent.main.top.zmap.l{set oldurl [.rouser.main.top.ubar.url get] .rouser.main.top.ubar.url delete 0 end .rouser.main.top.ubar.url insert end "$zmap_url"} bind $Parent.main.top.zmap.l { set zmap_x [winfo pointerx $zwin.l] set zmap_y [winfo pointery $zwin.l] .rouser.main.top.ubar.url delete 62 end .rouser.main.top.ubar.url insert end "%x,%y," } bind $Parent.main.top.zmap.l { .rouser.main.top.ubar.url delete 62 end .rouser.main.top.ubar.url insert end "%x,%y,$which" HB_init $win set _url($win~~histidx) -1 set _url($win~~lasturl) "*" set urllist [HB_resolve_url $win [$_url($win~~entrywidget) get]] set turl "[lindex $urllist 0][lindex $urllist 2]" HB_load_url $win $turl [lindex $urllist 1] .rouser.main.top.ubar.url delete 0 end .rouser.main.top.ubar.url insert end "$zmap_url" } bind $Parent.main.top.zmap.l { LoadHTML .rouser.main.txt.win "http://www.eolas.com/metamap" } bind $Parent.main.top.zmap.l { .rouser.main.top.ubar.url delete 0 end .rouser.main.top.ubar.url insert end "$oldurl" } # #------< End of File >-----