Tk Source Code

Changes On Branch tip-591
Login

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

Changes In Branch tip-591 Excluding Merge-Ins

This is equivalent to a diff from e3fe3bec to 28d98c6c

2020-12-11
08:56
TIP #591: Rotate ttk::notebook window with mousewheel on tab check-in: 16da36d6 user: jan.nijtmans tags: trunk, main
2020-11-18
20:47
Fix upstream issue 'Regression from commit e7f5981 breaks many hitherto valid SVG icons #188', see https://github.com/memononen/nanosvg/issues/188 check-in: 2b07cb2b user: fvogel tags: trunk, main
16:52
Fix [f9bd73629e]: Bug in the ttk::notebook::CycleTab proc in the tip-591 branch Closed-Leaf check-in: 28d98c6c user: jan.nijtmans tags: tip-591
16:23
Fix cb458261c3: Strip comme il faut. Actually: don't strip-install on MacOS, because it cannot handle zipped content check-in: e3fe3bec user: jan.nijtmans tags: trunk, main
07:56
Divide keysyms.n in more logical blocks of about 200 lines. Use 2-character escapes where possible check-in: e88189d2 user: jan.nijtmans tags: trunk, main
2020-11-16
15:27
TIP #591 (experimental) implementation check-in: 97646c0a user: jan.nijtmans tags: tip-591

Changes to library/ttk/notebook.tcl.

12
13
14
15
16
17
18


19
20
21
22
23
24
25
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27







+
+







bind TNotebook <Control-Tab>		{ ttk::notebook::CycleTab %W  1; break }
bind TNotebook <Control-Shift-Tab>	{ ttk::notebook::CycleTab %W -1; break }
catch {
bind TNotebook <Control-ISO_Left_Tab>	{ ttk::notebook::CycleTab %W -1; break }
}
bind TNotebook <Destroy>		{ ttk::notebook::Cleanup %W }

ttk::bindMouseWheel TNotebook		[list ttk::notebook::CycleTab %W]

# ActivateTab $nb $tab --
#	Select the specified tab and set focus.
#
#  Desired behavior:
#	+ take focus when reselecting the currently-selected tab;
#	+ keep focus if the notebook already has it;
#	+ otherwise set focus to the first traversable widget
52
53
54
55
56
57
58
59

60
61



62
63
64




65
66
67
68
69
70
71
54
55
56
57
58
59
60

61
62
63
64
65
66



67
68
69
70
71
72
73
74
75
76
77







-
+


+
+
+
-
-
-
+
+
+
+







	ActivateTab $w $index
    }
}

# CycleTab --
#	Select the next/previous tab in the list.
#
proc ttk::notebook::CycleTab {w dir} {
proc ttk::notebook::CycleTab {w dir {factor 1.0}} {
    if {[$w index end] != 0} {
	set current [$w index current]
	set d [expr {$dir/$factor}]
	set d [expr {int($d > 0 ? ceil($d) : floor($d))}]
	set tabCount [$w index end]
	set select [expr {($current + $dir) % [$w index end]}]
	while {[$w tab $select -state] != "normal" && ($select != $current)} {
	    set select [expr {($select + $dir) % [$w index end]}]
	set select [expr {($current + $d) % $tabCount}]
	set step [expr {$dir > 0 ? 1 : -1}]
	while {[$w tab $select -state] ne "normal" && ($select != $current)} {
	    set select [expr {($select + $step) % $tabCount}]
	}
	if {$select != $current} {
	    ActivateTab $w $select
	}
    }
}