From 7f3366e5e9ea3a96cb0efb0b6c9d3f5b70d97d5b Mon Sep 17 00:00:00 2001 From: fvogel Date: Tue, 29 Sep 2015 20:26:29 +0000 Subject: Added -proxybackground option --- doc/panedwindow.n | 2 ++ generic/tkPanedWindow.c | 6 +++++- macosx/tkMacOSXDefault.h | 1 + tests/panedwindow.test | 18 ++++++++++-------- unix/tkUnixDefault.h | 1 + win/tkWinDefault.h | 1 + 6 files changed, 20 insertions(+), 9 deletions(-) diff --git a/doc/panedwindow.n b/doc/panedwindow.n index b9df08e..f3c22be 100644 --- a/doc/panedwindow.n +++ b/doc/panedwindow.n @@ -29,6 +29,8 @@ 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. .OP \-proxyrelief proxyRelief ProxyRelief Relief to use when drawing the proxy. May be any of the standard Tk relief values. diff --git a/generic/tkPanedWindow.c b/generic/tkPanedWindow.c index c7d5339..96a4441 100644 --- a/generic/tkPanedWindow.c +++ b/generic/tkPanedWindow.c @@ -147,6 +147,7 @@ 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. */ int proxyRelief; /* Relief used to draw proxy. */ Slave **slaves; /* Pointer to array of Slaves. */ int numSlaves; /* Number of slaves. */ @@ -299,6 +300,9 @@ 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", + DEF_PANEDWINDOW_BG_COLOR, -1, Tk_Offset(PanedWindow, proxyBackground), 0, + (ClientData) DEF_PANEDWINDOW_BG_MONO}, {TK_OPTION_RELIEF, "-proxyrelief", "proxyRelief", "Relief", DEF_PANEDWINDOW_PROXYRELIEF, -1, Tk_Offset(PanedWindow, proxyRelief), 0, 0, 0}, @@ -2773,7 +2777,7 @@ DisplayProxyWindow( * Redraw the widget's background and border. */ - Tk_Fill3DRectangle(tkwin, pixmap, pwPtr->background, 0, 0, + Tk_Fill3DRectangle(tkwin, pixmap, pwPtr->proxyBackground, 0, 0, Tk_Width(tkwin), Tk_Height(tkwin), 2, pwPtr->proxyRelief); #ifndef TK_NO_DOUBLE_BUFFERING diff --git a/macosx/tkMacOSXDefault.h b/macosx/tkMacOSXDefault.h index ad92dc6..ce8af8f 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_PROXYBACKGROUND WHITE #define DEF_PANEDWINDOW_PROXYRELIEF "flat" #define DEF_PANEDWINDOW_RELIEF "flat" #define DEF_PANEDWINDOW_SASHCURSOR "" diff --git a/tests/panedwindow.test b/tests/panedwindow.test index f66b35e..2e800bc 100644 --- a/tests/panedwindow.test +++ b/tests/panedwindow.test @@ -32,24 +32,26 @@ foreach {testName testData} { panedwindow-1.9 {-proxyrelief groove groove 1.5 {bad relief "1.5": must be flat, groove, raised, ridge, solid, or sunken}} - panedwindow-1.10 {-orient + panedwindow-1.10 {-proxybackground + "#f0a0a0" "#f0a0a0" non-existent {unknown color name "non-existent"}} + panedwindow-1.11 {-orient horizontal horizontal badValue {bad orient "badValue": must be horizontal or vertical}} - panedwindow-1.11 {-relief + panedwindow-1.12 {-relief groove groove 1.5 {bad relief "1.5": must be flat, groove, raised, ridge, solid, or sunken}} - panedwindow-1.12 {-sashcursor + panedwindow-1.13 {-sashcursor arrow arrow badValue {bad cursor spec "badValue"}} - panedwindow-1.13 {-sashpad + panedwindow-1.14 {-sashpad 1.3 1 badValue {bad screen distance "badValue"}} - panedwindow-1.14 {-sashrelief + panedwindow-1.15 {-sashrelief groove groove 1.5 {bad relief "1.5": must be flat, groove, raised, ridge, solid, or sunken}} - panedwindow-1.15 {-sashwidth + panedwindow-1.16 {-sashwidth 10 10 badValue {bad screen distance "badValue"}} - panedwindow-1.16 {-showhandle + panedwindow-1.17 {-showhandle true 1 foo {expected boolean value but got "foo"}} - panedwindow-1.17 {-width + panedwindow-1.18 {-width 402 402 badValue {bad screen distance "badValue"}} } { lassign $testData optionName goodIn goodOut badIn badOut diff --git a/unix/tkUnixDefault.h b/unix/tkUnixDefault.h index 78b10f5..f2cdf4b 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_PROXYBACKGROUND WHITE #define DEF_PANEDWINDOW_PROXYRELIEF "flat" #define DEF_PANEDWINDOW_RELIEF "flat" #define DEF_PANEDWINDOW_SASHCURSOR "" diff --git a/win/tkWinDefault.h b/win/tkWinDefault.h index 19cbf31..60c098f 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_PROXYBACKGROUND WHITE #define DEF_PANEDWINDOW_PROXYRELIEF "flat" #define DEF_PANEDWINDOW_RELIEF "flat" #define DEF_PANEDWINDOW_SASHCURSOR "" -- cgit v0.12