when there is no scroller, omit scrolledViewMargin and scrollBarMargin
authorClaus Gittinger <cg@exept.de>
Mon, 21 Feb 2000 16:47:41 +0100
changeset 2151 1c45fd9f255b
parent 2150 3cee520c3f91
child 2152 b68926c7a64a
when there is no scroller, omit scrolledViewMargin and scrollBarMargin (avoid inset of scrolledView if not scrolled)
ScrollableView.st
--- a/ScrollableView.st	Fri Feb 18 15:36:17 2000 +0100
+++ b/ScrollableView.st	Mon Feb 21 16:47:41 2000 +0100
@@ -1622,7 +1622,7 @@
      the scrollability and hidden settings.
      This may heavily move around the parts ..."
 
-    |scrolledViewMargin scrollBarSpacing hasV hasH
+    |scrolledViewHMargin scrolledViewVMargin scrollBarHSpacing scrollBarVSpacing hasV hasH
      scrolledViewLayout hScrollBarLayout vScrollBarLayout
      vBd         "{ Class: SmallInteger }"
      hBd         "{ Class: SmallInteger }"
@@ -1680,29 +1680,36 @@
     "/  but 2D styles are very sensitive to those;
     "/  the code below may not work correctly with different borderWidths).
 
-    scrolledViewMargin := DefaultScrolledViewMargin.
-    scrollBarSpacing := DefaultScrollBarSpacing.
-
-    vTopOffs := 0 - vBd + scrolledViewMargin + margin.
-
-    scrolledViewMargin == 0 ifTrue:[
-        vBottomOffs := vBd - scrolledViewMargin - sBd.
-    ] ifFalse:[
-        vBottomOffs := vBd - scrolledViewMargin + sBd.
+    scrolledViewHMargin := scrolledViewVMargin := DefaultScrolledViewMargin.
+    scrollBarVSpacing := scrollBarHSpacing := DefaultScrollBarSpacing.
+    hasH ifFalse:[
+        scrolledViewVMargin := scrollBarVSpacing := 0.    
+    ].
+    hasV ifFalse:[
+        scrolledViewHMargin := scrollBarHSpacing := 0.    
     ].
 
-    hLeftOffs := 0 - hBd + scrolledViewMargin + margin.
-    hRightOffs := hBd - scrolledViewMargin - sBd.
+    vTopOffs := 0 - vBd + scrolledViewVMargin + margin.
+
+    scrolledViewVMargin == 0 ifTrue:[
+        vBottomOffs := vBd - sBd.
+    ] ifFalse:[
+        vBottomOffs := vBd - scrolledViewVMargin + sBd.
+    ].
 
-    sLeftOffs := 0 - hBd + scrolledViewMargin + margin.
-    sRightOffs := hBd - scrolledViewMargin - sBd - sBd - sBd.
+
+    hLeftOffs := 0 - hBd + scrolledViewHMargin + margin.
+    hRightOffs := hBd - scrolledViewHMargin - sBd.
 
-    scrolledViewMargin == 0 ifTrue:[
+    sLeftOffs := 0 - hBd + scrolledViewHMargin + margin.
+    sRightOffs := hBd - scrolledViewHMargin - sBd - sBd - sBd.
+
+    scrolledViewVMargin == 0 ifTrue:[
         sTopOffs := 0 - sBd + margin.
         sBottomOffs := sBd - sBd.
     ] ifFalse:[
-        sTopOffs := 0 + scrolledViewMargin + margin.
-        sBottomOffs := sBd - scrolledViewMargin - sBd - sBd - sBd.
+        sTopOffs := 0 + scrolledViewVMargin + margin.
+        sBottomOffs := sBd - scrolledViewVMargin - sBd - sBd - sBd.
     ].
 
     "/ kludge - for now
@@ -1723,38 +1730,38 @@
             "/ right/bottom
             vScrollBarLayout := ((1.0 @ 0.0) corner:(1.0@1.0)) asLayout.
 
-            vRightOffs := 0 - scrolledViewMargin + margin "???".
+            vRightOffs := 0 - scrolledViewHMargin + margin "???".
             vLeftOffs := vRightOffs - wVScroll.
 
-            sRightOffs := sRightOffs - scrollBarSpacing - wVScroll + sBd.
+            sRightOffs := sRightOffs - scrollBarHSpacing - wVScroll + sBd.
 
-            hRightOffs := hRightOffs - wVScroll - scrollBarSpacing - sBd.
+            hRightOffs := hRightOffs - wVScroll - scrollBarHSpacing - sBd.
 
             sRightOffs := sRightOffs - addMargin
         ] ifFalse:[
             "/ left/bottom
             vScrollBarLayout := ((0.0 @ 0.0) corner:(0.0@1.0)) asLayout.
 
-            vLeftOffs := 0 - vBd + scrolledViewMargin + margin.
+            vLeftOffs := 0 - vBd + scrolledViewHMargin + margin.
             vRightOffs := vLeftOffs + wVScroll + margin.
 
-            sLeftOffs := wVScroll + scrolledViewMargin + scrollBarSpacing + margin.
-            sRightOffs := 0 - scrolledViewMargin - margin.
-            hLeftOffs := hLeftOffs + wVScroll + vBd + scrollBarSpacing.
+            sLeftOffs := wVScroll + scrolledViewHMargin + scrollBarHSpacing + margin.
+            sRightOffs := 0 - scrolledViewHMargin - margin.
+            hLeftOffs := hLeftOffs + wVScroll + vBd + scrollBarHSpacing.
 
             sLeftOffs := sLeftOffs + addMargin
         ].
     ].
 
     hasH ifTrue:[
-        hBottomOffs := 0 - scrolledViewMargin - hBd + margin "???".
+        hBottomOffs := 0 - scrolledViewVMargin - hBd + margin "???".
         hTopOffs := hBottomOffs - hHScroll.
-        scrolledViewMargin == 0 ifTrue:[
+        scrolledViewVMargin == 0 ifTrue:[
             hTopOffs := hTopOffs + sBd + sBd
         ].
-        sBottomOffs := sBottomOffs - scrollBarSpacing - hHScroll.
+        sBottomOffs := sBottomOffs - scrollBarVSpacing - hHScroll.
         (vScrollBar notNil and:[vScrollBarHidden not]) ifTrue:[
-            vBottomOffs := vBottomOffs - scrollBarSpacing - hHScroll.
+            vBottomOffs := vBottomOffs - scrollBarVSpacing - hHScroll.
         ].
 
         sBottomOffs := sBottomOffs - addMargin.
@@ -1769,10 +1776,11 @@
     ].
 
     scrolledView notNil ifTrue:[
-        scrolledViewLayout leftOffset:sLeftOffs.
-        scrolledViewLayout rightOffset:sRightOffs.
-        scrolledViewLayout topOffset:sTopOffs.
-        scrolledViewLayout bottomOffset:sBottomOffs.
+        scrolledViewLayout 
+            leftOffset:sLeftOffs
+            rightOffset:sRightOffs
+            topOffset:sTopOffs
+            bottomOffset:sBottomOffs.
 
         configureScrolledView ifTrue:[
             ((hideVScrollBar or:[hideHScrollBar]) not
@@ -1786,10 +1794,11 @@
         scrolledView layout:scrolledViewLayout.
     ].
     hasH ifTrue:[
-        hScrollBarLayout leftOffset:hLeftOffs.
-        hScrollBarLayout rightOffset:hRightOffs.
-        hScrollBarLayout topOffset:hTopOffs.
-        hScrollBarLayout bottomOffset:hBottomOffs.
+        hScrollBarLayout 
+            leftOffset:hLeftOffs
+            rightOffset:hRightOffs
+            topOffset:hTopOffs
+            bottomOffset:hBottomOffs.
 
         hScrollBar level:DefaultScrollBarLevel.
         hScrollBar layout:hScrollBarLayout.
@@ -1802,10 +1811,11 @@
 "/        ]
     ].
     (hasV and:[vScrollBar notNil and:[vScrollBarHidden not]]) ifTrue:[
-        vScrollBarLayout leftOffset:vLeftOffs.
-        vScrollBarLayout rightOffset:vRightOffs.
-        vScrollBarLayout topOffset:vTopOffs.
-        vScrollBarLayout bottomOffset:vBottomOffs.
+        vScrollBarLayout 
+            leftOffset:vLeftOffs
+            rightOffset:vRightOffs
+            topOffset:vTopOffs
+            bottomOffset:vBottomOffs.
 
         vScrollBar level:DefaultScrollBarLevel.
         vScrollBar layout:vScrollBarLayout.
@@ -2105,5 +2115,5 @@
 !ScrollableView class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libwidg/ScrollableView.st,v 1.103 2000-02-12 15:35:11 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libwidg/ScrollableView.st,v 1.104 2000-02-21 15:47:41 cg Exp $'
 ! !