summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--doc/panedwindow.n10
-rw-r--r--generic/tkPanedWindow.c19
-rw-r--r--macosx/tkMacOSXDefault.h1
-rw-r--r--tests/panedwindow.test23
-rwxr-xr-xunix/configure14
-rw-r--r--unix/tcl.m42
-rw-r--r--unix/tkUnixDefault.h1
-rwxr-xr-xwin/configure2
-rw-r--r--win/tcl.m46
-rw-r--r--win/tkWinDefault.h1
10 files changed, 57 insertions, 22 deletions
diff --git a/doc/panedwindow.n b/doc/panedwindow.n
index 53a7238..33e1e12 100644
--- a/doc/panedwindow.n
+++ b/doc/panedwindow.n
@@ -29,6 +29,16 @@ drawn as squares. May be any value accepted by \fBTk_GetPixels\fR.
Specifies a desired height for the overall panedwindow widget. May be any
value accepted by \fBTk_GetPixels\fR. If an empty string, the widget will be
made high enough to allow all contained widgets to have their natural height.
+.OP \-proxybackground proxyBackground ProxyBackground
+Background color to use when drawing the proxy. If an empty string, the
+value of the \fB-background\fR option will be used.
+.OP \-proxyborderwidth proxyBorderWidth ProxyBorderWidth
+Specifies the borderwidth of the proxy. May be any value accepted by
+\fBTk_GetPixels\fR.
+.OP \-proxyrelief proxyRelief ProxyRelief
+Relief to use when drawing the proxy. May be any of the standard Tk
+relief values. If an empty string, the value of the \fB-sashrelief\fR
+option will be used.
.OP \-opaqueresize opaqueResize OpaqueResize
Specifies whether panes should be resized as a sash is moved (true),
or if resizing should be deferred until the sash is placed (false).
diff --git a/generic/tkPanedWindow.c b/generic/tkPanedWindow.c
index 6a3766b..99ed179 100644
--- a/generic/tkPanedWindow.c
+++ b/generic/tkPanedWindow.c
@@ -147,6 +147,10 @@ typedef struct PanedWindow {
GC gc; /* Graphics context for copying from
* off-screen pixmap onto screen. */
int proxyx, proxyy; /* Proxy x,y coordinates. */
+ Tk_3DBorder proxyBackground;/* Background color used to draw proxy. If NULL, use background. */
+ Tcl_Obj *proxyBorderWidthPtr; /* Tcl_Obj rep for proxyBorderWidth */
+ int proxyBorderWidth; /* Borderwidth used to draw proxy. */
+ int proxyRelief; /* Relief used to draw proxy, if TK_RELIEF_NULL then use relief. */
Slave **slaves; /* Pointer to array of Slaves. */
int numSlaves; /* Number of slaves. */
int sizeofSlaves; /* Number of elements in the slaves array. */
@@ -298,6 +302,15 @@ static const Tk_OptionSpec optionSpecs[] = {
{TK_OPTION_STRING_TABLE, "-orient", "orient", "Orient",
DEF_PANEDWINDOW_ORIENT, -1, Tk_Offset(PanedWindow, orient),
0, (ClientData) orientStrings, GEOMETRY},
+ {TK_OPTION_BORDER, "-proxybackground", "proxyBackground", "ProxyBackground",
+ 0, -1, Tk_Offset(PanedWindow, proxyBackground), TK_OPTION_NULL_OK,
+ (ClientData) DEF_PANEDWINDOW_BG_MONO},
+ {TK_OPTION_PIXELS, "-proxyborderwidth", "proxyBorderWidth", "ProxyBorderWidth",
+ DEF_PANEDWINDOW_PROXYBORDER, Tk_Offset(PanedWindow, proxyBorderWidthPtr),
+ Tk_Offset(PanedWindow, proxyBorderWidth), 0, 0, GEOMETRY},
+ {TK_OPTION_RELIEF, "-proxyrelief", "proxyRelief", "Relief",
+ 0, -1, Tk_Offset(PanedWindow, proxyRelief),
+ TK_OPTION_NULL_OK, 0, 0},
{TK_OPTION_RELIEF, "-relief", "relief", "Relief",
DEF_PANEDWINDOW_RELIEF, -1, Tk_Offset(PanedWindow, relief), 0, 0, 0},
{TK_OPTION_CURSOR, "-sashcursor", "sashCursor", "Cursor",
@@ -2769,8 +2782,10 @@ DisplayProxyWindow(
* Redraw the widget's background and border.
*/
- Tk_Fill3DRectangle(tkwin, pixmap, pwPtr->background, 0, 0,
- Tk_Width(tkwin), Tk_Height(tkwin), 2, pwPtr->sashRelief);
+ Tk_Fill3DRectangle(tkwin, pixmap,
+ pwPtr->proxyBackground ? pwPtr->proxyBackground : pwPtr->background,
+ 0, 0, Tk_Width(tkwin), Tk_Height(tkwin), pwPtr->proxyBorderWidth,
+ (pwPtr->proxyRelief != TK_RELIEF_NULL) ? pwPtr->proxyRelief : pwPtr->sashRelief);
#ifndef TK_NO_DOUBLE_BUFFERING
/*
diff --git a/macosx/tkMacOSXDefault.h b/macosx/tkMacOSXDefault.h
index 0380de9..60d6cda 100644
--- a/macosx/tkMacOSXDefault.h
+++ b/macosx/tkMacOSXDefault.h
@@ -409,6 +409,7 @@
#define DEF_PANEDWINDOW_HEIGHT ""
#define DEF_PANEDWINDOW_OPAQUERESIZE "1"
#define DEF_PANEDWINDOW_ORIENT "horizontal"
+#define DEF_PANEDWINDOW_PROXYBORDER "2"
#define DEF_PANEDWINDOW_RELIEF "flat"
#define DEF_PANEDWINDOW_SASHCURSOR ""
#define DEF_PANEDWINDOW_SASHPAD "0"
diff --git a/tests/panedwindow.test b/tests/panedwindow.test
index 724b40d..b075e18 100644
--- a/tests/panedwindow.test
+++ b/tests/panedwindow.test
@@ -29,24 +29,31 @@ foreach {testName testData} {
20 20 badValue {bad screen distance "badValue"}}
panedwindow-1.8 {-opaqueresize
true 1 foo {expected boolean value but got "foo"}}
- panedwindow-1.9 {-orient
+ panedwindow-1.9 {-proxybackground
+ "#f0a0a0" "#f0a0a0" non-existent {unknown color name "non-existent"}}
+ panedwindow-1.10 {-proxyborderwidth
+ 1.3 1.3 badValue {bad screen distance "badValue"}}
+ panedwindow-1.11 {-proxyrelief
+ groove groove
+ 1.5 {bad relief "1.5": must be flat, groove, raised, ridge, solid, or sunken}}
+ panedwindow-1.12 {-orient
horizontal horizontal
badValue {bad orient "badValue": must be horizontal or vertical}}
- panedwindow-1.10 {-relief
+ panedwindow-1.13 {-relief
groove groove
1.5 {bad relief "1.5": must be flat, groove, raised, ridge, solid, or sunken}}
- panedwindow-1.11 {-sashcursor
+ panedwindow-1.14 {-sashcursor
arrow arrow badValue {bad cursor spec "badValue"}}
- panedwindow-1.12 {-sashpad
+ panedwindow-1.15 {-sashpad
1.3 1 badValue {bad screen distance "badValue"}}
- panedwindow-1.13 {-sashrelief
+ panedwindow-1.16 {-sashrelief
groove groove
1.5 {bad relief "1.5": must be flat, groove, raised, ridge, solid, or sunken}}
- panedwindow-1.14 {-sashwidth
+ panedwindow-1.17 {-sashwidth
10 10 badValue {bad screen distance "badValue"}}
- panedwindow-1.15 {-showhandle
+ panedwindow-1.18 {-showhandle
true 1 foo {expected boolean value but got "foo"}}
- panedwindow-1.16 {-width
+ panedwindow-1.19 {-width
402 402 badValue {bad screen distance "badValue"}}
} {
lassign $testData optionName goodIn goodOut badIn badOut
diff --git a/unix/configure b/unix/configure
index 824d3b4..10e2b48 100755
--- a/unix/configure
+++ b/unix/configure
@@ -5783,7 +5783,7 @@ fi
;;
*)
case "$arch" in
- alpha|sparc64)
+ alpha|sparc|sparc64)
SHLIB_CFLAGS="-fPIC"
;;
*)
@@ -10008,7 +10008,7 @@ ac_x_header_dirs='
/usr/openwin/share/include'
if test "$ac_x_includes" = no; then
- # Guess where to find include files, by looking for Xlib.h.
+ # Guess where to find include files, by looking for Intrinsic.h.
# First, try using that file with no special directory specified.
cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h. */
@@ -10016,7 +10016,7 @@ _ACEOF
cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h. */
-#include <X11/Xlib.h>
+#include <X11/Intrinsic.h>
_ACEOF
if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
(eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
@@ -10043,7 +10043,7 @@ else
sed 's/^/| /' conftest.$ac_ext >&5
for ac_dir in $ac_x_header_dirs; do
- if test -r "$ac_dir/X11/Xlib.h"; then
+ if test -r "$ac_dir/X11/Intrinsic.h"; then
ac_x_includes=$ac_dir
break
fi
@@ -10057,18 +10057,18 @@ if test "$ac_x_libraries" = no; then
# See if we find them without any special options.
# Don't add to $LIBS permanently.
ac_save_LIBS=$LIBS
- LIBS="-lX11 $LIBS"
+ LIBS="-lXt $LIBS"
cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h. */
_ACEOF
cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h. */
-#include <X11/Xlib.h>
+#include <X11/Intrinsic.h>
int
main ()
{
-XrmInitialize ()
+XtMalloc (0)
;
return 0;
}
diff --git a/unix/tcl.m4 b/unix/tcl.m4
index b9f4896..4b9543c 100644
--- a/unix/tcl.m4
+++ b/unix/tcl.m4
@@ -1500,7 +1500,7 @@ AC_DEFUN([SC_CONFIG_CFLAGS], [
;;
*)
case "$arch" in
- alpha|sparc64)
+ alpha|sparc|sparc64)
SHLIB_CFLAGS="-fPIC"
;;
*)
diff --git a/unix/tkUnixDefault.h b/unix/tkUnixDefault.h
index 4eb8778..a8ecdc1 100644
--- a/unix/tkUnixDefault.h
+++ b/unix/tkUnixDefault.h
@@ -367,6 +367,7 @@
#define DEF_PANEDWINDOW_HEIGHT ""
#define DEF_PANEDWINDOW_OPAQUERESIZE "1"
#define DEF_PANEDWINDOW_ORIENT "horizontal"
+#define DEF_PANEDWINDOW_PROXYBORDER "2"
#define DEF_PANEDWINDOW_RELIEF "flat"
#define DEF_PANEDWINDOW_SASHCURSOR ""
#define DEF_PANEDWINDOW_SASHPAD "0"
diff --git a/win/configure b/win/configure
index c493d8b..bd48382 100755
--- a/win/configure
+++ b/win/configure
@@ -3425,7 +3425,7 @@ do
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
- ac_cv_prog_CYGPATH="cygpath -w"
+ ac_cv_prog_CYGPATH="cygpath -m"
echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
diff --git a/win/tcl.m4 b/win/tcl.m4
index aa3c4b3..2795086 100644
--- a/win/tcl.m4
+++ b/win/tcl.m4
@@ -558,7 +558,7 @@ AC_DEFUN([SC_CONFIG_CFLAGS], [
# Set some defaults (may get changed below)
EXTRA_CFLAGS=""
- AC_CHECK_PROG(CYGPATH, cygpath, cygpath -w, echo)
+ AC_CHECK_PROG(CYGPATH, cygpath, cygpath -m, echo)
SHLIB_SUFFIX=".dll"
@@ -784,7 +784,7 @@ AC_DEFUN([SC_CONFIG_CFLAGS], [
LIBRARIES="\${SHARED_LIBRARIES}"
SHLIB_LD_LIBS='${LIBS}'
case "x`echo \${VisualStudioVersion}`" in
- x1[4-9]*)
+ x1[[4-9]]*)
lflags="${lflags} -nodefaultlib:libucrt.lib"
;;
*)
@@ -826,7 +826,7 @@ AC_DEFUN([SC_CONFIG_CFLAGS], [
LIBS="user32.lib advapi32.lib ws2_32.lib"
case "x`echo \${VisualStudioVersion}`" in
- x1[4-9]*)
+ x1[[4-9]]*)
LIBS="$LIBS ucrt.lib"
;;
*)
diff --git a/win/tkWinDefault.h b/win/tkWinDefault.h
index a1a76c7..d0bae8f 100644
--- a/win/tkWinDefault.h
+++ b/win/tkWinDefault.h
@@ -370,6 +370,7 @@
#define DEF_PANEDWINDOW_HEIGHT ""
#define DEF_PANEDWINDOW_OPAQUERESIZE "1"
#define DEF_PANEDWINDOW_ORIENT "horizontal"
+#define DEF_PANEDWINDOW_PROXYBORDER "2"
#define DEF_PANEDWINDOW_RELIEF "flat"
#define DEF_PANEDWINDOW_SASHCURSOR ""
#define DEF_PANEDWINDOW_SASHPAD "0"