when there is no scroller, omit scrolledViewMargin and scrollBarMargin
(avoid inset of scrolledView if not scrolled)
--- 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 $'
! !