Tk Library Source Code

Artifact [2ebd0c2e2c]
Login

Artifact 2ebd0c2e2c1d1ae181b09796d9a83e1561ab751d:

Attachment "scrollframe.patch" to ticket [2822970fff] added by danckaert 2009-07-17 17:10:41.
Index: scrollframe.tcl
===================================================================
RCS file: /cvsroot/tcllib/bwidget/scrollframe.tcl,v
retrieving revision 1.10
diff -b -u -r1.10 scrollframe.tcl
--- scrollframe.tcl	29 Jun 2009 13:28:24 -0000	1.10
+++ scrollframe.tcl	17 Jul 2009 10:09:23 -0000
@@ -33,7 +33,7 @@
     }
 
     Widget::addmap ScrollableFrame "" :cmd {
-        -background {} -width {} -height {} 
+        -width {} -height {}
         -xscrollcommand {} -yscrollcommand {}
         -xscrollincrement {} -yscrollincrement {}
     }
@@ -58,11 +58,15 @@
     if {[Widget::theme]} {
 	set frame [eval [list ttk::frame $path.frame] \
 		       [Widget::subcget $path .frame]]
+        set bg [ttk::style configure . -background]
     } else {
 	set frame [eval [list frame $path.frame] \
 		       [Widget::subcget $path .frame] \
 		       -highlightthickness 0 -borderwidth 0 -relief flat]
+	set bg [$frame cget -background]
     }
+    # Give canvas frame (or theme) background
+    $canvas configure -background $bg
 
     $canvas create window 0 0 -anchor nw -window $frame -tags win \
         -width  [Widget::cget $path -areawidth] \
@@ -226,7 +230,6 @@
 proc ScrollableFrame::_max {a b} {return [expr {$a <= $b ? $b : $a}]}
 proc ScrollableFrame::_frameConfigure {canvas {unmap 0}} {
     # This ensures that we don't get funny scrollability in the frame
-    # when it is smaller than the canvas space
     # when it is smaller than the canvas space.
     # use [winfo] to get height & width of frame