summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorjan.nijtmans <nijtmans@users.sourceforge.net>2024-06-17 10:06:34 (GMT)
committerjan.nijtmans <nijtmans@users.sourceforge.net>2024-06-17 10:06:34 (GMT)
commitb8b8de56e290dd3d82585190651360c843542e7b (patch)
tree59a06e08d732d6a5aa0483a0cf1e42292920db43
parenta57ef5af4aab0abe5f0a7f1676b8cc6c3c057dbd (diff)
downloadtk-b8b8de56e290dd3d82585190651360c843542e7b.zip
tk-b8b8de56e290dd3d82585190651360c843542e7b.tar.gz
tk-b8b8de56e290dd3d82585190651360c843542e7b.tar.bz2
Change the -elementborderwidth default (for scrollbar) from -1 to {}. Move sanity check from platform-code to generic. See TIP #577.
-rw-r--r--doc/scrollbar.n4
-rw-r--r--generic/tkScrollbar.c8
-rw-r--r--macosx/tkMacOSXDefault.h2
-rw-r--r--macosx/tkMacOSXScrlbr.c4
-rw-r--r--unix/tkUnixDefault.h2
-rw-r--r--unix/tkUnixScrlbr.c3
-rw-r--r--win/tkWinDefault.h2
-rw-r--r--win/tkWinScrlbr.c4
8 files changed, 14 insertions, 15 deletions
diff --git a/doc/scrollbar.n b/doc/scrollbar.n
index 0bbfb70..c5665be 100644
--- a/doc/scrollbar.n
+++ b/doc/scrollbar.n
@@ -42,8 +42,8 @@ as described in \fBSCROLLING COMMANDS\fR below.
Specifies the width of borders drawn around the internal elements
of the scrollbar (the two arrows and the slider). The value may
have any of the forms acceptable to \fBTk_GetPixels\fR.
-If this value is less than zero, the value of the \fB\-borderwidth\fR
-option is used in its place.
+If this value is the empth string (the default), the value of
+the \fB\-borderwidth\fR option is used in its place.
.OP \-width width Width
Specifies the desired narrow dimension of the scrollbar window,
not including 3-D border, if any. For vertical
diff --git a/generic/tkScrollbar.c b/generic/tkScrollbar.c
index b43e9e5..5f03fee 100644
--- a/generic/tkScrollbar.c
+++ b/generic/tkScrollbar.c
@@ -172,7 +172,7 @@ Tk_ScrollbarObjCmd(
scrollPtr->highlightBgColorPtr = NULL;
scrollPtr->highlightColorPtr = NULL;
scrollPtr->inset = 0;
- scrollPtr->elementBorderWidth = -1;
+ scrollPtr->elementBorderWidth = INT_MIN;
scrollPtr->arrowLength = 0;
scrollPtr->sliderFirst = 0;
scrollPtr->sliderLast = 0;
@@ -487,6 +487,12 @@ ConfigureScrollbar(
} else {
scrollPtr->commandSize = 0;
}
+ if (scrollPtr->highlightWidth < 0) {
+ scrollPtr->highlightWidth = 0;
+ }
+ if (scrollPtr->elementBorderWidth < 0) {
+ scrollPtr->elementBorderWidth = INT_MIN;
+ }
/*
* Configure platform specific options.
diff --git a/macosx/tkMacOSXDefault.h b/macosx/tkMacOSXDefault.h
index 6fc98e9..60430be 100644
--- a/macosx/tkMacOSXDefault.h
+++ b/macosx/tkMacOSXDefault.h
@@ -475,7 +475,7 @@
#define DEF_SCROLLBAR_BORDER_WIDTH "0"
#define DEF_SCROLLBAR_COMMAND ""
#define DEF_SCROLLBAR_CURSOR ""
-#define DEF_SCROLLBAR_EL_BORDER_WIDTH "-1"
+#define DEF_SCROLLBAR_EL_BORDER_WIDTH NULL
#define DEF_SCROLLBAR_HIGHLIGHT_BG NORMAL_BG
#define DEF_SCROLLBAR_HIGHLIGHT NORMAL_FG
#define DEF_SCROLLBAR_HIGHLIGHT_WIDTH "0"
diff --git a/macosx/tkMacOSXScrlbr.c b/macosx/tkMacOSXScrlbr.c
index 500a5cf..f5b25f1 100644
--- a/macosx/tkMacOSXScrlbr.c
+++ b/macosx/tkMacOSXScrlbr.c
@@ -649,8 +649,8 @@ UpdateControlValues(
|| height <= metrics.minHeight) {
msPtr->info.enableState = kThemeTrackHideTrack;
} else {
- msPtr->info.enableState = kThemeTrackActive;
- msPtr->info.attributes =
+ msPtr->info.enableState = kThemeTrackActive;
+ msPtr->info.attributes =
kThemeTrackShowThumb | kThemeTrackThumbRgnIsNotGhost;
}
}
diff --git a/unix/tkUnixDefault.h b/unix/tkUnixDefault.h
index dfcf858..16fdcc6 100644
--- a/unix/tkUnixDefault.h
+++ b/unix/tkUnixDefault.h
@@ -448,7 +448,7 @@
#define DEF_SCROLLBAR_BORDER_WIDTH "1"
#define DEF_SCROLLBAR_COMMAND ""
#define DEF_SCROLLBAR_CURSOR ""
-#define DEF_SCROLLBAR_EL_BORDER_WIDTH "-1"
+#define DEF_SCROLLBAR_EL_BORDER_WIDTH NULL
#define DEF_SCROLLBAR_HIGHLIGHT_BG NORMAL_BG
#define DEF_SCROLLBAR_HIGHLIGHT BLACK
#define DEF_SCROLLBAR_HIGHLIGHT_WIDTH "0"
diff --git a/unix/tkUnixScrlbr.c b/unix/tkUnixScrlbr.c
index 001b2e9..65166e4 100644
--- a/unix/tkUnixScrlbr.c
+++ b/unix/tkUnixScrlbr.c
@@ -283,9 +283,6 @@ TkpComputeScrollbarGeometry(
{
int width, fieldLength;
- if (scrollPtr->highlightWidth < 0) {
- scrollPtr->highlightWidth = 0;
- }
scrollPtr->inset = scrollPtr->highlightWidth + scrollPtr->borderWidth;
width = (scrollPtr->vertical) ? Tk_Width(scrollPtr->tkwin)
: Tk_Height(scrollPtr->tkwin);
diff --git a/win/tkWinDefault.h b/win/tkWinDefault.h
index 5318f84..5af7877 100644
--- a/win/tkWinDefault.h
+++ b/win/tkWinDefault.h
@@ -450,7 +450,7 @@
#define DEF_SCROLLBAR_BORDER_WIDTH "0"
#define DEF_SCROLLBAR_COMMAND ""
#define DEF_SCROLLBAR_CURSOR ""
-#define DEF_SCROLLBAR_EL_BORDER_WIDTH "-1"
+#define DEF_SCROLLBAR_EL_BORDER_WIDTH NULL
#define DEF_SCROLLBAR_HIGHLIGHT_BG NORMAL_BG
#define DEF_SCROLLBAR_HIGHLIGHT HIGHLIGHT
#define DEF_SCROLLBAR_HIGHLIGHT_WIDTH "0"
diff --git a/win/tkWinScrlbr.c b/win/tkWinScrlbr.c
index 457b82f..a54deeb 100644
--- a/win/tkWinScrlbr.c
+++ b/win/tkWinScrlbr.c
@@ -394,10 +394,6 @@ TkpComputeScrollbarGeometry(
* basic sanity checks to appease backwards compatibility.
*/
- if (scrollPtr->highlightWidth < 0) {
- scrollPtr->highlightWidth = 0;
- }
-
if (scrollPtr->vertical) {
scrollPtr->arrowLength = vArrowHeight;
fieldLength = Tk_Height(scrollPtr->tkwin);