Check-in [a89095acac]
Not logged in

Many hyperlinks are disabled.
Use anonymous login to enable hyperlinks.

Overview
Comment:Fix typo in hv3.tcl. (CVS 1227)
Timelines: family | ancestors | descendants | both | trunk
Files: files | file ages | folders
SHA1: a89095acac650375e6d8e49ffd037ee7b819d4e1
User & Date: danielk1977 2008-01-11 06:26:21.000
Context
2008-01-12
14:23
Add an experimental option to store images interally as pixmaps. To reduce memory consumption. (CVS 1228) check-in: 73e8f82801 user: danielk1977 tags: trunk
2008-01-11
06:26
Fix typo in hv3.tcl. (CVS 1227) check-in: a89095acac user: danielk1977 tags: trunk
06:22
Changes to build a tcl module for the hv3 widget. Still have to drop the combobox dependency before this is distributable. (CVS 1226) check-in: 3787489f08 user: danielk1977 tags: trunk
Changes
Unified Diff Ignore Whitespace Patch
Changes to hv/hv3.tcl.
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
#
# The -targetcmd option of ::hv3::hv3 is delegated to the
# ::hv3::hyperlinkmanager component.
#
package require Tkhtml 3.0
package require snit

#source [file join [file dirname [info script]] hv3_encodings.tcl]
#source [file join [file dirname [info script]] hv3_util.tcl]
#source [file join [file dirname [info script]] hv3_form.tcl]
#source [file join [file dirname [info script]] hv3_request.tcl]

#--------------------------------------------------------------------------
# Class ::hv3::hv3::mousemanager
#
#     This type contains code for the ::hv3::hv3 widget to manage 
#     dispatching mouse events that occur in the HTML widget to the 
#     rest of the application. The following HTML4 events are handled:







|
|
|
|







120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
#
# The -targetcmd option of ::hv3::hv3 is delegated to the
# ::hv3::hyperlinkmanager component.
#
package require Tkhtml 3.0
package require snit

source [file join [file dirname [info script]] hv3_encodings.tcl]
source [file join [file dirname [info script]] hv3_util.tcl]
source [file join [file dirname [info script]] hv3_form.tcl]
source [file join [file dirname [info script]] hv3_request.tcl]

#--------------------------------------------------------------------------
# Class ::hv3::hv3::mousemanager
#
#     This type contains code for the ::hv3::hv3 widget to manage 
#     dispatching mouse events that occur in the HTML widget to the 
#     rest of the application. The following HTML4 events are handled:
1719
1720
1721
1722
1723
1724
1725
1726
1727
1728
1729
1730
1731
1732
1733
1734
    switch -- $myMimetype {
      html  {$self HtmlCallback $handle $final $data}
      image {$self ImageCallback $handle $final $data}
    }


    if {$final} {
      #$handle release

      if {$myStorevisitedDone == 0 && $options(-storevisitedcmd) ne ""} {
        set myStorevisitedDone 1
        eval $options(-storevisitedcmd) 1
      }
      $self MightBeComplete
    }
  }







<
<







1719
1720
1721
1722
1723
1724
1725


1726
1727
1728
1729
1730
1731
1732
    switch -- $myMimetype {
      html  {$self HtmlCallback $handle $final $data}
      image {$self ImageCallback $handle $final $data}
    }


    if {$final} {


      if {$myStorevisitedDone == 0 && $options(-storevisitedcmd) ne ""} {
        set myStorevisitedDone 1
        eval $options(-storevisitedcmd) 1
      }
      $self MightBeComplete
    }
  }
Changes to hv/hv3_browser.tcl.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19


package require sqlite3
package require Tkhtml 3.0

proc sourcefile {file} [string map              \
  [list %HV3_DIR% [file dirname [info script]]] \
{ 
  return [file join {%HV3_DIR%} $file] 
}]

source [sourcefile hv3_profile.tcl]
source [sourcefile snit.tcl]
source [sourcefile hv3_widgets.tcl]
source [sourcefile hv3_notebook.tcl]
source [sourcefile hv3_db.tcl]
source [sourcefile hv3_home.tcl]
source [sourcefile hv3.tcl]
source [sourcefile hv3_prop.tcl]











<







1
2
3
4
5
6
7
8
9
10
11

12
13
14
15
16
17
18


package require sqlite3
package require Tkhtml 3.0

proc sourcefile {file} [string map              \
  [list %HV3_DIR% [file dirname [info script]]] \
{ 
  return [file join {%HV3_DIR%} $file] 
}]


source [sourcefile snit.tcl]
source [sourcefile hv3_widgets.tcl]
source [sourcefile hv3_notebook.tcl]
source [sourcefile hv3_db.tcl]
source [sourcefile hv3_home.tcl]
source [sourcefile hv3.tcl]
source [sourcefile hv3_prop.tcl]
Changes to hv/hv3_debug.tcl.
1
2
3
4
5
6
7
8
namespace eval hv3 { set {version($Id: hv3_debug.tcl,v 1.9 2007/12/17 07:27:11 danielk1977 Exp $)} 1 }

namespace eval ::hv3 {
  ::snit::widget console {

    # Entry field for typing commands (entry widget):
    variable myEntryField 

|







1
2
3
4
5
6
7
8
namespace eval hv3 { set {version($Id: hv3_debug.tcl,v 1.10 2008/01/11 06:26:21 danielk1977 Exp $)} 1 }

namespace eval ::hv3 {
  ::snit::widget console {

    # Entry field for typing commands (entry widget):
    variable myEntryField 

598
599
600
601
602
603
604




605
606
607
608
609
610
611
    append zRet "\n"
    foreach {key value} [array get hist] {
      append zRet $key ":" $value "\n"
    }
  
    set zRet
  }





  proc breakpoints {} {
  }
  
  proc hv3 {args} {
    set hv3 [gui_current hv3]
    eval $hv3 $args







>
>
>
>







598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
    append zRet "\n"
    foreach {key value} [array get hist] {
      append zRet $key ":" $value "\n"
    }
  
    set zRet
  }

  proc heapdebug {} {
    pretty_print_heapdebug
  }

  proc breakpoints {} {
  }
  
  proc hv3 {args} {
    set hv3 [gui_current hv3]
    eval $hv3 $args
620
621
622
623
624
625
626
627
628
629


630
631
632
633
634
635
636


637


638
639















640
641
642
643
644
645
646
proc pretty_print_heapdebug {} {
  set data [lsort -index 2 -integer [::tkhtml::heapdebug]]
  set ret ""
  set nTotalS 0
  set nTotalB 0
  foreach type $data {
    foreach {zStruct nStruct nByte} $type {}
    append ret [format "% -30s % 10d % 10d\n" $zStruct $nStruct $nByte]
    incr nTotalB $nByte
    incr nTotalS $nStruct


  }
  append ret [format "% -30s % 10d % 10d\n" "Totals" $nTotalS $nTotalB]
  set ret
}

proc pretty_print_vars {} {
  set ret ""


  foreach e [lsort -integer -index 1 [get_vars]] {


    append ret [format "% -50s %d\n" [lindex $e 0] [lindex $e 1]]
  }















  set ret
}

proc tree_to_report {tree indent} {
  set i [string repeat " " $indent]
  set f [lindex $tree 0]








<


>
>







>
>

>
>


>
>
>
>
>
>
>
>
>
>
>
>
>
>
>







624
625
626
627
628
629
630

631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
proc pretty_print_heapdebug {} {
  set data [lsort -index 2 -integer [::tkhtml::heapdebug]]
  set ret ""
  set nTotalS 0
  set nTotalB 0
  foreach type $data {
    foreach {zStruct nStruct nByte} $type {}

    incr nTotalB $nByte
    incr nTotalS $nStruct
    append ret [
      format "% -30s % 10d % 10d %10d\n" $zStruct $nStruct $nByte $nTotalB]
  }
  append ret [format "% -30s % 10d % 10d\n" "Totals" $nTotalS $nTotalB]
  set ret
}

proc pretty_print_vars {} {
  set ret ""
  set nTotal 0
  set nNamespace 0
  foreach e [lsort -integer -index 1 [get_vars]] {
    incr nTotal [lindex $e 1]
    incr nNamespace 1
    append ret [format "% -50s %d\n" [lindex $e 0] [lindex $e 1]]
  }
  append ret [format "% -50s %d\n" TOTAL($nNamespace) $nTotal]
  set ret
}
proc pretty_print_cmds {} {
  set ret ""
  set nTotal 0
  set nNamespace 0
  count_commands :: ::pretty_print_cmds_report
  foreach e [lsort -integer -index 1 $::pretty_print_cmds_report] {
    incr nTotal [lindex $e 1]
    incr nNamespace 1
    append ret [format "% -50s %d\n" [lindex $e 0] [lindex $e 1]]
  }
  unset ::pretty_print_cmds_report
  append ret [format "% -50s %d\n" TOTAL($nNamespace) $nTotal]
  set ret
}

proc tree_to_report {tree indent} {
  set i [string repeat " " $indent]
  set f [lindex $tree 0]

677
678
679
680
681
682
683
684
685



686
687
688
689
690
691
692
693
694
695
696
697
698
proc count_vars {{ns ::} {print 0}} {
  set nVar 0
  foreach entry [get_vars $ns] {
    incr nVar [lindex $entry 1]
  }
  set nVar
}
proc count_commands {{ns ::}} {
  set nCmd [llength [info commands ${ns}::*]]



  foreach child [namespace children $ns] {
    incr nCmd [count_commands $child]
  }
  set nCmd
}
proc count_namespaces {{ns ::}} {
  set nNs 1
  foreach child [namespace children $ns] {
    incr nNs [count_namespaces $child]
  }
  set nNs
}








|

>
>
>

|











701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
proc count_vars {{ns ::} {print 0}} {
  set nVar 0
  foreach entry [get_vars $ns] {
    incr nVar [lindex $entry 1]
  }
  set nVar
}
proc count_commands {{ns ::} {reportvar ""}} {
  set nCmd [llength [info commands ${ns}::*]]
  if {$reportvar ne ""} {
    uplevel #0 [list lappend $reportvar [list $ns $nCmd]]
  }
  foreach child [namespace children $ns] {
    incr nCmd [count_commands $child $reportvar]
  }
  set nCmd
}
proc count_namespaces {{ns ::}} {
  set nNs 1
  foreach child [namespace children $ns] {
    incr nNs [count_namespaces $child]
  }
  set nNs
}

Changes to hv/hv3_main.tcl.
1
2
3
4
5
6
7
8
namespace eval hv3 { set {version($Id: hv3_main.tcl,v 1.180 2008/01/06 08:45:28 danielk1977 Exp $)} 1 }

catch {memory init on}

proc sourcefile {file} [string map              \
  [list %HV3_DIR% [file dirname [info script]]] \
{ 
  return [file join {%HV3_DIR%} $file] 
|







1
2
3
4
5
6
7
8
namespace eval hv3 { set {version($Id: hv3_main.tcl,v 1.181 2008/01/11 06:26:21 danielk1977 Exp $)} 1 }

catch {memory init on}

proc sourcefile {file} [string map              \
  [list %HV3_DIR% [file dirname [info script]]] \
{ 
  return [file join {%HV3_DIR%} $file] 
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
  set var [$new titlevar]
  trace add variable $var write [list gui_settitle $new $var]

  set var [$new locationvar]
  trace add variable $var write [list gui_settitle $new $var]

  if {[llength $args] == 0} {
    $new goto $::hv3::homeuri
  } else {
    $new goto [lindex $args 0]
  }
  
  # This black magic is required to initialise the history system.
  # A <<Location>> event will be generated from within the [$new goto]
  # command above, but the history system won't see it, because 







|







802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
  set var [$new titlevar]
  trace add variable $var write [list gui_settitle $new $var]

  set var [$new locationvar]
  trace add variable $var write [list gui_settitle $new $var]

  if {[llength $args] == 0} {
    $new goto $::hv3::newuri
  } else {
    $new goto [lindex $args 0]
  }
  
  # This black magic is required to initialise the history system.
  # A <<Location>> event will be generated from within the [$new goto]
  # command above, but the history system won't see it, because 
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
      }
    }
  }

  ::hv3::dbinit

  if {[llength $docs] == 0} {set docs [list home://bookmarks/]}
  # set ::hv3::homeuri [lindex $docs 0]
  set ::hv3::homeuri home://bookmarks/

  # Build the GUI
  gui_build     ::hv3::G
  gui_menu      ::hv3::G

  if {[info exists enablejavascript]} {







|







998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
      }
    }
  }

  ::hv3::dbinit

  if {[llength $docs] == 0} {set docs [list home://bookmarks/]}
  set ::hv3::newuri [lindex $docs 0]
  set ::hv3::homeuri home://bookmarks/

  # Build the GUI
  gui_build     ::hv3::G
  gui_menu      ::hv3::G

  if {[info exists enablejavascript]} {