Tk Library Source Code
Check-in [b8a546538d]
Not logged in
Bounty program for improvements to Tcl and certain Tcl packages.

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

Overview
Comment: * ../../examples/scrollutil/*FrmDemo1.tcl: Worked around an accuracy * ../../examples/scrollutil/*FrmContent.tcl: problem related to the scaling on Cinnamon.
Downloads: Tarball | ZIP archive | SQL archive
Timelines: family | ancestors | descendants | both | trunk
Files: files | file ages | folders
SHA3-256:b8a546538d01d649e5e01c8eca5fcf47454ab03f8fafa4c5aa5e7990be832529
User & Date: csaba 2020-06-23 19:33:32
Context
2020-06-25
18:19
* scripts/scaleutil.tcl: Made sure that the scaled default width of the Tk core scrollbar on X11 won't get overridden by an unscaled resource database value. check-in: d35285e49f user: csaba tags: trunk
2020-06-23
19:33
* ../../examples/scrollutil/*FrmDemo1.tcl: Worked around an accuracy * ../../examples/scrollutil/*FrmContent.tcl: problem related to the scaling on Cinnamon. check-in: b8a546538d user: csaba tags: trunk
19:31
* ../../examples/scrollutil/*FrmDemo1.tcl: Worked around an accuracy * ../../examples/scrollutil/*FrmContent.tcl: problem related to the scaling on Cinnamon. check-in: 6be65a0ed6 user: csaba tags: trunk
Changes
Hide Diffs Unified Diffs Ignore Whitespace Patch

Changes to examples/scrollutil/BwScrollableFrmContent.tcl.

243
244
245
246
247
248
249

250
251
252
253
254
255
256
257
258
259
...
262
263
264
265
266
267
268








269
270
271
272
273
274
275
    $tv column $colId -width [$tbl columnwidth $colId -total]
}

#
# Set the ScrollableFrame's width, height, and yscrollincrement
#
update idletasks

set height [expr {[winfo reqheight $cf.l0] + [winfo pixels . 4p] + \
		  [winfo reqheight $cf.sa1] + 2*[winfo pixels . 7p]}]
$sf configure -width [winfo reqwidth $cf] -height $height \
    -yscrollincrement [expr {[winfo reqheight $lb] / 10}]

pack $sa -expand yes -fill both -padx 7p -pady 7p

#
# Create two ttk::button widgets within a frame outside the scrollarea
#
................................................................................
        -command configTablelist]
set b2 [ttk::button $bf.b2 -text "Close" -command exit]
pack $b2 -side right -padx 7p -pady {0 7p}
pack $b1 -side left -padx 7p -pady {0 7p}

pack $bf -side bottom -fill x
pack $tf -side top -expand yes -fill both









#------------------------------------------------------------------------------

proc cancelEdit {w args} {
    wcb::cancel
}








>


|







 







>
>
>
>
>
>
>
>







243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
...
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
    $tv column $colId -width [$tbl columnwidth $colId -total]
}

#
# Set the ScrollableFrame's width, height, and yscrollincrement
#
update idletasks
set width [winfo reqwidth $cf]
set height [expr {[winfo reqheight $cf.l0] + [winfo pixels . 4p] + \
		  [winfo reqheight $cf.sa1] + 2*[winfo pixels . 7p]}]
$sf configure -width $width -height $height \
    -yscrollincrement [expr {[winfo reqheight $lb] / 10}]

pack $sa -expand yes -fill both -padx 7p -pady 7p

#
# Create two ttk::button widgets within a frame outside the scrollarea
#
................................................................................
        -command configTablelist]
set b2 [ttk::button $bf.b2 -text "Close" -command exit]
pack $b2 -side right -padx 7p -pady {0 7p}
pack $b1 -side left -padx 7p -pady {0 7p}

pack $bf -side bottom -fill x
pack $tf -side top -expand yes -fill both

#
# Work around an accuracy problem related to the scaling on Cinnamon
#
tkwait visibility $sf
if {[lindex [$sf xview] 1] != 1.0} {
    $sf configure -width [incr width]
}

#------------------------------------------------------------------------------

proc cancelEdit {w args} {
    wcb::cancel
}

Changes to examples/scrollutil/BwScrollableFrmDemo1.tcl.

107
108
109
110
111
112
113

114
115
116
117
118
119
120
121
122
123
124
125
126








127
128
129
130
131
132
133
    incr row
}

#
# Set the ScrollableFrame's width, height, and yscrollincrement
#
update idletasks

set rowHeight [expr {[winfo reqheight $cf] / $row}]
set height [expr {10*$rowHeight + [winfo pixels . $topPadY]}]
$sf configure -width [winfo reqwidth $cf] -height $height \
    -yscrollincrement $rowHeight

#
# Create a ttk::button widget outside the scrollarea
#
set b [ttk::button $f.b -text "Close" -command exit]

pack $b  -side bottom -pady {0 7pt}
pack $sa -side top -expand yes -fill both -padx 7pt -pady 7pt
pack $f  -expand yes -fill both









#------------------------------------------------------------------------------

proc checkCapital {w country} {
    $w selection clear
    global capitalArr
    if {[$w get] eq $capitalArr($country)} {







>


<
|









>
>
>
>
>
>
>
>







107
108
109
110
111
112
113
114
115
116

117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
    incr row
}

#
# Set the ScrollableFrame's width, height, and yscrollincrement
#
update idletasks
set width [winfo reqwidth $cf]
set rowHeight [expr {[winfo reqheight $cf] / $row}]
set height [expr {10*$rowHeight + [winfo pixels . $topPadY]}]

$sf configure -width $width -height $height -yscrollincrement $rowHeight

#
# Create a ttk::button widget outside the scrollarea
#
set b [ttk::button $f.b -text "Close" -command exit]

pack $b  -side bottom -pady {0 7pt}
pack $sa -side top -expand yes -fill both -padx 7pt -pady 7pt
pack $f  -expand yes -fill both

#
# Work around an accuracy problem related to the scaling on Cinnamon
#
tkwait visibility $sf
if {[lindex [$sf xview] 1] != 1.0} {
    $sf configure -width [incr width]
}

#------------------------------------------------------------------------------

proc checkCapital {w country} {
    $w selection clear
    global capitalArr
    if {[$w get] eq $capitalArr($country)} {

Changes to examples/scrollutil/ScrolledFrmContent.tcl.

265
266
267
268
269
270
271








272
273
274
275
276
277
278
        -command configTablelist]
set b2 [ttk::button $bf.b2 -text "Close" -command exit]
pack $b2 -side right -padx 7p -pady {0 7p}
pack $b1 -side left -padx 7p -pady {0 7p}

pack $bf -side bottom -fill x
pack $tf -side top -expand yes -fill both









#------------------------------------------------------------------------------

proc cancelEdit {w args} {
    wcb::cancel
}








>
>
>
>
>
>
>
>







265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
        -command configTablelist]
set b2 [ttk::button $bf.b2 -text "Close" -command exit]
pack $b2 -side right -padx 7p -pady {0 7p}
pack $b1 -side left -padx 7p -pady {0 7p}

pack $bf -side bottom -fill x
pack $tf -side top -expand yes -fill both

#
# Work around an accuracy problem related to the scaling on Cinnamon
#
tkwait visibility $sf
if {[lindex [$sf xview] 1] != 1.0} {
    $sf configure -width [incr width]
}

#------------------------------------------------------------------------------

proc cancelEdit {w args} {
    wcb::cancel
}

Changes to examples/scrollutil/ScrolledFrmDemo1.tcl.

115
116
117
118
119
120
121








122
123
124
125
126
127
128
# Create a ttk::button widget outside the scrolledframe
#
set b [ttk::button $f.b -text "Close" -command exit]

pack $b  -side bottom -pady {0 7p}
pack $sf -side top -expand yes -fill both -padx 7p -pady 7p
pack $f  -expand yes -fill both









#------------------------------------------------------------------------------

proc checkCapital {w country} {
    $w selection clear
    global capitalArr
    if {[$w get] eq $capitalArr($country)} {







>
>
>
>
>
>
>
>







115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
# Create a ttk::button widget outside the scrolledframe
#
set b [ttk::button $f.b -text "Close" -command exit]

pack $b  -side bottom -pady {0 7p}
pack $sf -side top -expand yes -fill both -padx 7p -pady 7p
pack $f  -expand yes -fill both

#
# Work around an accuracy problem related to the scaling on Cinnamon
#
tkwait visibility $sf
if {[lindex [$sf xview] 1] != 1.0} {
    $sf configure -width [incr width]
}

#------------------------------------------------------------------------------

proc checkCapital {w country} {
    $w selection clear
    global capitalArr
    if {[$w get] eq $capitalArr($country)} {

Changes to examples/scrollutil/SuScrollableFrmContent.tcl.

243
244
245
246
247
248
249

250
251
252
253
254
255
256
257
258
259
...
262
263
264
265
266
267
268








269
270
271
272
273
274
275
    $tv column $colId -width [$tbl columnwidth $colId -total]
}

#
# Set the scrollableframe's width, height, and yscrollincrement
#
update idletasks

set height [expr {[winfo reqheight $cf.l0] + [winfo pixels . 4p] + \
		  [winfo reqheight $cf.sa1] + 2*[winfo pixels . 7p]}]
$sf configure -width [winfo reqwidth $cf] -height $height \
    -yscrollincrement [expr {[winfo reqheight $lb] / 10}]

pack $sa -expand yes -fill both -padx 7p -pady 7p

#
# Create two ttk::button widgets within a frame outside the scrollarea
#
................................................................................
        -command configTablelist]
set b2 [ttk::button $bf.b2 -text "Close" -command exit]
pack $b2 -side right -padx 7p -pady {0 7p}
pack $b1 -side left -padx 7p -pady {0 7p}

pack $bf -side bottom -fill x
pack $tf -side top -expand yes -fill both









#------------------------------------------------------------------------------

proc cancelEdit {w args} {
    wcb::cancel
}








>


|







 







>
>
>
>
>
>
>
>







243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
...
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
    $tv column $colId -width [$tbl columnwidth $colId -total]
}

#
# Set the scrollableframe's width, height, and yscrollincrement
#
update idletasks
set width [winfo reqwidth $cf]
set height [expr {[winfo reqheight $cf.l0] + [winfo pixels . 4p] + \
		  [winfo reqheight $cf.sa1] + 2*[winfo pixels . 7p]}]
$sf configure -width $width -height $height \
    -yscrollincrement [expr {[winfo reqheight $lb] / 10}]

pack $sa -expand yes -fill both -padx 7p -pady 7p

#
# Create two ttk::button widgets within a frame outside the scrollarea
#
................................................................................
        -command configTablelist]
set b2 [ttk::button $bf.b2 -text "Close" -command exit]
pack $b2 -side right -padx 7p -pady {0 7p}
pack $b1 -side left -padx 7p -pady {0 7p}

pack $bf -side bottom -fill x
pack $tf -side top -expand yes -fill both

#
# Work around an accuracy problem related to the scaling on Cinnamon
#
tkwait visibility $sf
if {[lindex [$sf xview] 1] != 1.0} {
    $sf configure -width [incr width]
}

#------------------------------------------------------------------------------

proc cancelEdit {w args} {
    wcb::cancel
}

Changes to examples/scrollutil/SuScrollableFrmDemo1.tcl.

96
97
98
99
100
101
102

103
104
105
106
107
108
109
110
111
112
113
114
115








116
117
118
119
120
121
122
    incr row
}

#
# Set the scrollableframe's width, height, and yscrollincrement
#
update idletasks

set rowHeight [expr {[winfo reqheight $cf] / $row}]
set height [expr {10*$rowHeight + [winfo pixels . $topPadY]}]
$sf configure -width [winfo reqwidth $cf] -height $height \
    -yscrollincrement $rowHeight

#
# Create a ttk::button widget outside the scrollarea
#
set b [ttk::button $f.b -text "Close" -command exit]

pack $b  -side bottom -pady {0 7p}
pack $sa -side top -expand yes -fill both -padx 7p -pady 7p
pack $f  -expand yes -fill both









#------------------------------------------------------------------------------

proc checkCapital {w country} {
    $w selection clear
    global capitalArr
    if {[$w get] eq $capitalArr($country)} {







>


<
|









>
>
>
>
>
>
>
>







96
97
98
99
100
101
102
103
104
105

106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
    incr row
}

#
# Set the scrollableframe's width, height, and yscrollincrement
#
update idletasks
set width [winfo reqwidth $cf]
set rowHeight [expr {[winfo reqheight $cf] / $row}]
set height [expr {10*$rowHeight + [winfo pixels . $topPadY]}]

$sf configure -width $width -height $height -yscrollincrement $rowHeight

#
# Create a ttk::button widget outside the scrollarea
#
set b [ttk::button $f.b -text "Close" -command exit]

pack $b  -side bottom -pady {0 7p}
pack $sa -side top -expand yes -fill both -padx 7p -pady 7p
pack $f  -expand yes -fill both

#
# Work around an accuracy problem related to the scaling on Cinnamon
#
tkwait visibility $sf
if {[lindex [$sf xview] 1] != 1.0} {
    $sf configure -width [incr width]
}

#------------------------------------------------------------------------------

proc checkCapital {w country} {
    $w selection clear
    global capitalArr
    if {[$w get] eq $capitalArr($country)} {