Tk Library Source Code

Check-in [ced0a69b39]
Login

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

Overview
Comment:Tooltip: Fix for ticket [9924aee881]. Thanks to Ralf Fassel for his patch.
Downloads: Tarball | ZIP archive
Timelines: family | ancestors | descendants | both | trunk
Files: files | file ages | folders
SHA3-256: ced0a69b39fa65d075f7512e6c82c334f8feda9619c479ba84c996d35ac4cad9
User & Date: csaba 2025-08-02 11:52:38.554
References
2025-08-02
11:58 Closed ticket [9924aee881]: tooltip on megawidgets plus 8 other changes artifact: ceede6fd5b user: nemethi
Context
2025-08-07
16:53
Tablelist: Reworked the bindings that invoke "expand|collapse ... -fully" on the Mac. check-in: 78eab8aede user: csaba tags: trunk
2025-08-02
11:52
Tooltip: Fix for ticket [9924aee881]. Thanks to Ralf Fassel for his patch. check-in: ced0a69b39 user: csaba tags: trunk
10:58
Tablelist: Added bindings that invoke "expand|collapse ... -fully". check-in: bd4a56421e user: csaba tags: trunk
Changes
Unified Diff Ignore Whitespace Patch
Changes to modules/tooltip/ChangeLog.








1
2
3
4
5
6
7








2024-07-18 Harald Oehlmann <[email protected]>

	* pkgIndex.tcl:	Bumped the tooltip version number to 2.0.0.
	* tooltip.man: Removed msgcat information
	* tooltip.tcl: Removed all msgcat code and options -namespace,
	  -msgargs and -infoargs. The implemented late binding is not
	  possible, if the creation command is called from an oo class
>
>
>
>
>
>
>
>







1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
2025-08-02  Csaba Nemethi  <[email protected]>

	* pkgIndex.tcl:	Bumped the tooltip version number to 2.0.2.

	* tooltip.tcl: Ignore <Leave> events with detail field "NotifyInferior"
	  (patch by Ralf Fassel). See ticket
	  [https://core.tcl-lang.org/tklib/tktview/9924aee881].

2024-07-18 Harald Oehlmann <[email protected]>

	* pkgIndex.tcl:	Bumped the tooltip version number to 2.0.0.
	* tooltip.man: Removed msgcat information
	* tooltip.tcl: Removed all msgcat code and options -namespace,
	  -msgargs and -infoargs. The implemented late binding is not
	  possible, if the creation command is called from an oo class
Changes to modules/tooltip/pkgIndex.tcl.
1
2
3
4
# -*- tcl -*-

package ifneeded tooltip  2.0.1 [list source [file join $dir tooltip.tcl]]
package ifneeded tipstack 1.0.1 [list source [file join $dir tipstack.tcl]]


|

1
2
3
4
# -*- tcl -*-

package ifneeded tooltip  2.0.2 [list source [file join $dir tooltip.tcl]]
package ifneeded tipstack 1.0.1 [list source [file join $dir tipstack.tcl]]
Changes to modules/tooltip/tooltip.tcl.
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
	if {$G(enabled) && [info exists tooltip(%W)]} {
	    set G(AFTERID) \
		[after $G(DELAY) [namespace code [list show %W $tooltip(%W) cursor]]]
	}
    }]

    bind Menu <<MenuSelect>>	[namespace code { menuMotion %W }]
    bind Tooltip <Leave>	[namespace code [list hide 1]] ; # fade ok
    bind Tooltip <Any-KeyPress>	[namespace code hide]
    bind Tooltip <Any-Button>	[namespace code hide]
}

proc ::tooltip::tooltip {w args} {
    variable tooltip
    variable G







|







125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
	if {$G(enabled) && [info exists tooltip(%W)]} {
	    set G(AFTERID) \
		[after $G(DELAY) [namespace code [list show %W $tooltip(%W) cursor]]]
	}
    }]

    bind Menu <<MenuSelect>>	[namespace code { menuMotion %W }]
    bind Tooltip <Leave>	[namespace code [list hide 1 %d]] ; # fade ok
    bind Tooltip <Any-KeyPress>	[namespace code hide]
    bind Tooltip <Any-Button>	[namespace code hide]
}

proc ::tooltip::tooltip {w args} {
    variable tooltip
    variable G
544
545
546
547
548
549
550
551
552





553
554
555
556
557
558
559
		[info exists tooltip($m,$cur)])} {
	    set G(AFTERID) [after $G(DELAY) \
		    [namespace code [list show $w $tooltip($m,$cur) cursor]]]
	}
    }
}

proc ::tooltip::hide {{fadeOk 0}} {
    variable G






    after cancel $G(AFTERID)
    after cancel $G(FADEID)
    if {$fadeOk && $G(fade)} {
	fade $G(TOPLEVEL) $G(FADESTEP)
    } else {
	catch {wm withdraw $G(TOPLEVEL)}







|

>
>
>
>
>







544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
		[info exists tooltip($m,$cur)])} {
	    set G(AFTERID) [after $G(DELAY) \
		    [namespace code [list show $w $tooltip($m,$cur) cursor]]]
	}
    }
}

proc ::tooltip::hide {{fadeOk 0} {detail ""}} {
    variable G

    if {$detail eq "NotifyInferior"} {
	# ignore moving to child
	return
    }

    after cancel $G(AFTERID)
    after cancel $G(FADEID)
    if {$fadeOk && $G(fade)} {
	fade $G(TOPLEVEL) $G(FADESTEP)
    } else {
	catch {wm withdraw $G(TOPLEVEL)}
748
749
750
751
752
753
754
755
    
    if {($x >= $xT) && ($x <= ($xT + $w)) &&
	($y >= $yT) && ($y <= ($yT + $h))} return

    hide 1
}

package provide tooltip 2.0.1







|
753
754
755
756
757
758
759
760
    
    if {($x >= $xT) && ($x <= ($xT + $w)) &&
	($y >= $yT) && ($y <= ($yT + $h))} return

    hide 1
}

package provide tooltip 2.0.2