Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
Overview
| Comment: | * scripts/scrollarea.tcl: Added the read-only public variable "scrollutil::scalingpct" and set it to 100, 125, 150, 175, or 200, correspondig to the display's DPI scaling level. |
|---|---|
| Downloads: | Tarball | ZIP archive | SQL archive |
| Timelines: | family | ancestors | descendants | both | trunk |
| Files: | files | file ages | folders |
| SHA3-256: |
d47b54cd789d76ed760f90c94093830d |
| User & Date: | csaba 2020-06-23 09:56:46 |
Context
|
2020-06-23
| ||
| 09:57 | * scripts/wheelEvent.tcl: Adapted the bindings to TIP 563, meaning that the mouse wheel now will scroll a horizontal or vertical scrollbar regardless of whether the "Shift" key is down or not. check-in: 2d552bd381 user: csaba tags: trunk | |
| 09:56 | * scripts/scrollarea.tcl: Added the read-only public variable "scrollutil::scalingpct" and set it to 100, 125, 150, 175, or 200, correspondig to the display's DPI scaling level. check-in: d47b54cd78 user: csaba tags: trunk | |
| 09:55 | * scripts/scaleutil.tcl: New file containing scaling-related stuff: getting the display's DPI scaling percentage; scaling the default width of the Tk core scrollbars on X11, the default width of the ttk::scrollbar widget in a few built-in themes, the arrows of the ttk::combobox, ttk::spinbox, and ttk::menubutton widgets, and the indicators of the ttk::checkbutton and ttk::radiobutton widgets; a workaround for a long-standing scaling-related bug in the implementation of the ttk::checkbutton and ttk::radiobutton widgets in the "vista" and "xpnative" themes. check-in: 7b9cee071f user: csaba tags: trunk | |
Changes
Changes to modules/scrollutil/scripts/scrollarea.tcl.
| ︙ | ︙ | |||
15 16 17 18 19 20 21 | #============================================================================== # # Namespace initialization # ======================== # | | | > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > | 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 |
#==============================================================================
#
# Namespace initialization
# ========================
#
namespace eval scrollutil {
#
# Get the windowing system ("x11", "win32", "classic", or "aqua")
#
variable winSys [mwutil::windowingSystem]
#
# Get the display's current scaling percentage (100, 125, 150, 175, or 200)
#
variable scalingpct [scaleutil::scalingPercentage $winSys]
#
# Make the variable scalingpct read-only
#
trace variable scalingpct wu \
[list scrollutil::restoreScalingpct $scalingpct]
#
# The following trace procedure is executed whenever the
# variable scalingpct is written or unset. It restores the
# variable to its original value, given by the first argument.
#
proc restoreScalingpct {origVal varName index op} {
variable scalingpct $origVal
switch $op {
w {
return -code error "the variable ::scrollutil::scalingpct is\
read-only"
}
u {
trace variable scalingpct wu \
[list scrollutil::restoreScalingpct $origVal]
}
}
}
}
namespace eval scrollutil::sa {
#
# The array configSpecs is used to handle configuration options. The names
# of its elements are the configuration options for the Scrollarea class.
# The value of an array element is either an alias name or a list
# containing the database name and class as well as an indicator specifying
# the widget to which the option applies: f stands for the frame and w for
# the scrollarea widget itself.
|
| ︙ | ︙ | |||
56 57 58 59 60 61 62 |
}
#
# Extend the elements of the array configSpecs
#
proc extendConfigSpecs {} {
variable ::scrollutil::usingTile
| | | | 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 |
}
#
# Extend the elements of the array configSpecs
#
proc extendConfigSpecs {} {
variable ::scrollutil::usingTile
variable ::scrollutil::winSys
variable configSpecs
if {$usingTile} {
foreach opt {-background -bg -highlightbackground -highlightcolor
-highlightthickness} {
unset configSpecs($opt)
}
} else {
|
| ︙ | ︙ | |||
146 147 148 149 150 151 152 |
#
# Creates a new scrollarea widget whose name is specified as the first command-
# line argument, and configures it according to the options and their values
# given on the command line. Returns the name of the newly created widget.
#------------------------------------------------------------------------------
proc scrollutil::scrollarea args {
variable usingTile
| | | | | 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 |
#
# Creates a new scrollarea widget whose name is specified as the first command-
# line argument, and configures it according to the options and their values
# given on the command line. Returns the name of the newly created widget.
#------------------------------------------------------------------------------
proc scrollutil::scrollarea args {
variable usingTile
variable winSys
variable sa::configSpecs
variable sa::configOpts
if {[llength $args] == 0} {
mwutil::wrongNumArgs "scrollarea pathName ?options?"
}
#
# Create a frame of the class Scrollarea
|
| ︙ | ︙ |
