diff --git a/pd/src/pd.tk b/pd/src/pd.tk index 47f37b4884e3a9131606dfa215696bfb89be2675..eefabb320dc353bd072f13cfad6a7ad5113ec5ae 100644 --- a/pd/src/pd.tk +++ b/pd/src/pd.tk @@ -7869,6 +7869,7 @@ proc pdtk_canvas_enteritem {tkcanvas x y item enterid} { #puts stderr "enteritem $tkcanvas $x $y $item $enterid $pointer_x_local $pointer_y_local" if {$autotips == 0} {return} if {$enterid != $duplicate_tags || $enterid == -1} { + #puts stderr "pdtk_canvas_enteritem $tkcanvas" set duplicate_tags $enterid if {$current_window eq $tkcanvas} { after cancel $afterid @@ -7901,6 +7902,7 @@ proc pdtk_canvas_leaveitem {w} { } proc pdtk_tip {w fromc show args} { + #puts stderr "$w $fromc $show $args" variable select_color variable nlet_color variable tooltip_visible @@ -7919,10 +7921,12 @@ proc pdtk_tip {w fromc show args} { # } set typeface [get_font_for_size $::font([string trimright $w .c])] set exists [winfo exists $w.tiplabel] - catch {$w delete tiparrow} if {$show == 0} { - catch {destroy $w.tiplabel} - catch {$w delete $w.tipwindow} + catch { + destroy $w.tiplabel + #$w delete tiparrow + $w delete $w.tipwindow + } set tooltip_visible 0 } else { set tooltip_visible 1 @@ -7967,14 +7971,14 @@ proc pdtk_tip {w fromc show args} { if { [string match "\{Inlet*" $args] } { set yoffset 0 set anchor "nw" - set top_bottom [expr -25 - [winfo reqheight $w.tiplabel]] + set top_bottom [expr -10 - [winfo reqheight $w.tiplabel]] set yreal_offset -5 set xreal_offset 0 } else { set yoffset [winfo height $w] set anchor "sw" - set top_bottom [expr 35 + [winfo reqheight $w.tiplabel]] - set yreal_offset 15 + set top_bottom [expr 20 + [winfo reqheight $w.tiplabel]] + set yreal_offset 5 set xreal_offset 0 } set x [expr $xreal + rand()*10] @@ -8016,20 +8020,24 @@ proc pdtk_tip {w fromc show args} { } #now do the arrow - if { $right } { - if { $xarrow > [expr [$w canvasx 0] + [winfo width $w] - 13] } { - set xarrow [expr [$w canvasx 0] + [winfo width $w] - 13] - } - } - - if { $top_bottom < 0 } { - set yarrow [expr $y + [winfo reqheight $w.tiplabel] - 1] - } else { - set yarrow [expr $y - [winfo reqheight $w.tiplabel] + 1] - } - - $w create polygon 0 0 0 0 0 0 -fill $nlet_color -width 4 -tags tiparrow - $w coords tiparrow [expr $xreal+$xreal_offset] [expr $yreal+$yreal_offset] $xarrow $yarrow [expr $xarrow+7] $yarrow + #if { $right } { + # if { $xarrow > [expr [$w canvasx 0] + [winfo width $w] - 13] } { + # set xarrow [expr [$w canvasx 0] + [winfo width $w] - 13] + # } + #} + + #if { $top_bottom < 0 } { + # set yarrow [expr $y + [winfo reqheight $w.tiplabel] - 1] + #} else { + # set yarrow [expr $y - [winfo reqheight $w.tiplabel] + 1] + #} + + #if {$exists} { + #$w coords tiparrow [expr $xreal+$xreal_offset] [expr $yreal+$yreal_offset] $xarrow $yarrow [expr $xarrow+7] $yarrow + #} else { + #$w create polygon [expr $xreal+$xreal_offset] [expr $yreal+$yreal_offset] $xarrow $yarrow [expr $xarrow+7] $yarrow -fill $nlet_color -width 4 -tags tiparrow + #update + #} } set tags $w.tipwindow @@ -8043,12 +8051,14 @@ proc pdtk_tip {w fromc show args} { $w create window $x $y -window $w.tiplabel -anchor $anchor \ -tags $tags $w bind $w.tipwindow <Enter> "pdtk_tip_mouseover $w" + #update } } } # move the tip if the user happens to mouse over it proc pdtk_tip_mouseover {w} { + #puts stderr "pdtk_tip_mouseover $w" set msg [$w.tiplabel cget -text] set sticky [expr [lsearch -exact [$w gettags $w.tipwindow] \ "sticky"] != -1] @@ -8056,6 +8066,7 @@ proc pdtk_tip_mouseover {w} { } proc pdtk_gettip { w item xletno name helpname dir } { + #puts stderr "pdtk_gettip $w" variable k12_mode #puts stderr "pdtk_gettip $w $item $xletno $name $helpname $dir" if {$name eq "preset_hub" && $k12_mode == 1} {