DSVColumnView.st
changeset 1136 4a9d9db81422
parent 1134 d7c5844b24b0
child 1149 c212f122c8b3
--- a/DSVColumnView.st	Sat Sep 12 15:44:30 1998 +0200
+++ b/DSVColumnView.st	Mon Sep 14 07:22:01 1998 +0200
@@ -817,13 +817,14 @@
 
     newSepSize ~~ separatorSize ifTrue:[
         separatorSize := newSepSize.
-        
-        self columnsDo:[:aCol| aCol invalidate ].
-        self preferredExtentChanged.
-
-        realized ifTrue:[
-            self invalidate.
-            self contentsChanged
+        shown ifTrue:[        
+            self columnsDo:[:aCol| aCol invalidate ].
+            self preferredExtentChanged.
+
+            realized ifTrue:[
+                self invalidate.
+                self contentsChanged
+            ]
         ]
     ]
 
@@ -1315,15 +1316,15 @@
     "redraw part of myself immediately, given logical coordinates 
     "
     |c0 savClip rctg
-     start "{ Class:SmallInteger }"
-     stop  "{ Class:SmallInteger }"
-     x0    "{ Class:SmallInteger }"
-     x1    "{ Class:SmallInteger }"
-     maxX  "{ Class:SmallInteger }"
-     yTop  "{ Class:SmallInteger }"
-     yBot  "{ Class:SmallInteger }"
-     clHg  "{ Class:SmallInteger }"
-     size  "{ Class:SmallInteger }"
+     start   "{ Class:SmallInteger }"
+     stop    "{ Class:SmallInteger }"
+     x0      "{ Class:SmallInteger }"
+     x1      "{ Class:SmallInteger }"
+     maxX    "{ Class:SmallInteger }"
+     yTop    "{ Class:SmallInteger }"
+     yBot    "{ Class:SmallInteger }"
+     clHg    "{ Class:SmallInteger }"
+     size    "{ Class:SmallInteger }"
     |
 
     shown ifFalse:[^ self].
@@ -1342,7 +1343,6 @@
         ^ self fillRectangleX:x y:y width:w height:h
     ].
     savClip := clipRect.
-
     maxX := (x + w) min:(width - margin).
     x0   := margin - viewOrigin x.
     yTop := yTop + ((start - 1) * rowHeight).
@@ -1368,10 +1368,17 @@
     stop == size ifTrue:[
         yTop := y + h.
         yBot < (yTop - margin) ifTrue:[
+         "/ clear background to bottom of screen
             self paint:bgColor.
             self fillRectangleX:x y:yBot width:w height:(yTop - yBot)
         ]
-    ]
+    ].
+
+    (c0 := w + x - x1) > 0 ifTrue:[
+     "/ clear background to right of screen
+        self paint:bgColor.
+        self fillRectangleX:x1 y:y width:c0 height:h.
+    ].
 ! !
 
 !DSVColumnView methodsFor:'drawing interactors'!
@@ -1403,6 +1410,7 @@
         aState ifFalse:[form := checkTogglePassiveImage]
     ].
     e := (checkToggleExtent - form extent) // 2.
+    self paint:fgColor on:bgColor.
     self displayForm:form x:(x + e x) y:(y + e y).
 
 
@@ -1429,7 +1437,7 @@
     self paint:bgColor.
     self fillRectangleX:x y:y width:w height:h.
     self drawEdgesAtX:x   y:y width:w height:h level:comboButtonLevel on:self.
-
+    self paint:fgColor on:bgColor.
     self displayForm:comboButtonForm x:(x + e x) y:(y + e y)
 
 !
@@ -2946,5 +2954,5 @@
 !DSVColumnView class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libwidg2/DSVColumnView.st,v 1.59 1998-09-12 12:44:09 ca Exp $'
+    ^ '$Header: /cvs/stx/stx/libwidg2/DSVColumnView.st,v 1.60 1998-09-14 05:22:01 ca Exp $'
 ! !