diff --git a/src/pd.tk b/src/pd.tk index 246ed48797011b26cc557dd0a99baa705c536dc3..bef9d8b0c136d0fdfeed570e2aa195feec13747e 100644 --- a/src/pd.tk +++ b/src/pd.tk @@ -2200,9 +2200,9 @@ proc pdtk_canvas_new {name width height geometry editable} { if {![info exists ::yscrollable($name)]} { set ::yscrollable($name) 0 } - #if {![info exists ::update_tick($name)]} { - # set ::update_tick($name) 0 - #} + if {![info exists ::update_tick($name)]} { + set ::update_tick($name) 0 + } if {![info exists ::undo($name)]} { set ::undo($name) no } @@ -2979,7 +2979,7 @@ proc pdtk_canvas_new {name width height geometry editable} { bind $name <FocusIn> "menu_fixeditmenu $name" # bind $name <FocusOut> { pdtk_noselect %W } - if { $k12_mode == 1 } { menu_tooltips $name } + if { $k12_mode == 1 } { pd [concat $name tooltips 1 \;] } focus $name.c if { $k12_mode == 1 && $k12_saveas_on_new == 1 } { @@ -3372,18 +3372,18 @@ proc pdtk_canvas_mouseup {name x y b} { [$name canvasy $y] $b \;] } -#proc pdtk_canvas_getscroll_ping {name} { -# set wname [string trimright $name .c] -# if {![winfo exists $wname]} { -# set ::update_tick($wname) 0 -# return -# } -# if {$::update_tick($wname) == 2} { -# set ::update_tick($wname) 3 -# pdtk_canvas_getscroll $name -# } -# after 40 [list pdtk_canvas_getscroll_ping $name] -#} +proc pdtk_canvas_getscroll_ping {name} { + set wname [string trimright $name .c] + if {![winfo exists $wname]} { + set ::update_tick($wname) 0 + return + } + if {$::update_tick($wname) == 2} { + set ::update_tick($wname) 3 + pdtk_canvas_getscroll $name + } + after 50 [list pdtk_canvas_getscroll_ping $name] +} proc pdtk_select_all_gop_widgets {name gop state} { #puts stderr "======================$name $gop $state" @@ -3415,19 +3415,19 @@ proc pdtk_canvas_getscroll {name} { if {! [winfo exists $name]} {return} # waiting for refresh - # if {$::update_tick([winfo parent $name]) == 2} {return} + if {$::update_tick([winfo parent $name]) == 2} {return} # init - # if {$::update_tick([winfo parent $name]) == 0} { - # set ::update_tick([winfo parent $name]) 1 - # pdtk_canvas_getscroll_ping $name - # } + if {$::update_tick([winfo parent $name]) == 0} { + set ::update_tick([winfo parent $name]) 1 + pdtk_canvas_getscroll_ping $name + } # update - # if {$::update_tick([winfo parent $name]) == 1} { - # set ::update_tick([winfo parent $name]) 2 - # return - #} + if {$::update_tick([winfo parent $name]) == 1} { + set ::update_tick([winfo parent $name]) 2 + return + } #debug #catch { $name delete debug } @@ -3504,6 +3504,8 @@ proc pdtk_canvas_getscroll {name} { set canvaswidth [ expr {abs($xmaxval-$xminval)} ] set canvasheight [ expr {abs($ymaxval-$yminval)} ] + #puts stderr "$winwidth ? $canvaswidth $winheight ? $canvasheight" + if {$::scroll($parentname) == 1} { if {$winwidth >= $canvaswidth} { pack forget $parentname.scrollhort @@ -3547,7 +3549,7 @@ proc pdtk_canvas_getscroll {name} { set ::yscrollable($parentname) 0 } } - #set ::update_tick([winfo parent $name]) 1 + set ::update_tick([winfo parent $name]) 1 pdtk_canvas_checkgeometry [canvastosym $name] } @@ -8012,7 +8014,11 @@ proc pdtk_tip_mouseover {w} { } proc pdtk_gettip { w item xletno name helpname dir } { + variable k12_mode #puts stderr "pdtk_gettip $w $item $xletno $name $helpname $dir" + if {$name eq "preset_hub" && $k12_mode == 1} { + return + } if {$dir eq {}} { set dir $::sys_libdir/doc/5.reference }