--- a/VariablePanel.st Thu Aug 24 00:33:55 2000 +0200
+++ b/VariablePanel.st Fri Aug 25 11:30:03 2000 +0200
@@ -1340,12 +1340,12 @@
drawSnapAt:anIndex
"draw the snap for a handle at an index
"
- |layout icon level paint canChangeExtent
+ |layout icon level offLevel paint canChangeExtent
left "{ Class:SmallInteger }"
top "{ Class:SmallInteger }"
width "{ Class:SmallInteger }"
height "{ Class:SmallInteger }"
- snapMode leftEdge wEdge topEdge hEdge part
+ snapMode leftEdge wEdge topEdge hEdge part wPart hPart
|
(layout := self snapLayoutAt:anIndex) isNil ifTrue:[
@@ -1359,6 +1359,8 @@
height := layout height.
snapMode := self snapMode.
+ offLevel := level := snapAdornment at:#level ifAbsent:0.
+
canChangeExtent := self canChangeExtentOfViewAt:anIndex.
canChangeExtent ifTrue:[
(controller isSnapEntered:anIndex) ifTrue:[
@@ -1368,7 +1370,8 @@
] ifFalse:[
level := #enterLevel.
paint := #enterBgColor.
- ]
+ ].
+ level := snapAdornment at:level ifAbsent:0.
]
].
paint notNil ifTrue:[
@@ -1377,9 +1380,11 @@
paint := viewBackground
].
self paint:paint.
- self fillRectangleX:left+1 y:top+1 width:width-2 height:height-2.
- level := snapAdornment at:(level ? #level) ifAbsent:0.
+ level == 0 ifTrue:[
+ ].
+
+ self fillRectangleX:left+1 y:top+1 width:width-2 height:height-2.
level ~~ 0 ifTrue:[
leftEdge := left + 1.
@@ -1387,21 +1392,27 @@
topEdge := top + 1.
hEdge := height - 2.
+ orientation == #vertical ifTrue:[
+ wPart := width // 3.
+ ] ifFalse:[
+ hPart := height // 3.
+ ].
+
level < 0 ifTrue:[
part := (self subViews at:anIndex) objectAttributeAt:#snapPart.
part == #left ifTrue:[
- self drawEdgesForX:leftEdge y:topEdge width:wEdge height:hEdge level:level negated.
- wEdge := width // 3.
+ self drawEdgesForX:leftEdge y:topEdge width:wEdge height:hEdge level:offLevel.
+ wEdge := wPart.
] ifFalse:[
part == #middle ifTrue:[
- self drawEdgesForX:leftEdge y:topEdge width:wEdge height:hEdge level:level negated.
- wEdge := width // 3.
- leftEdge := leftEdge + wEdge.
+ self drawEdgesForX:leftEdge y:topEdge width:wEdge height:hEdge level:offLevel.
+ leftEdge := leftEdge + wPart.
+ wEdge := wPart.
] ifFalse:[
part == #right ifTrue:[
- self drawEdgesForX:leftEdge y:topEdge width:wEdge height:hEdge level:level negated.
- wEdge := width // 3.
- leftEdge := leftEdge + (width - wEdge).
+ self drawEdgesForX:leftEdge y:topEdge width:wEdge height:hEdge level:offLevel.
+ leftEdge := leftEdge + (width - wPart).
+ wEdge := wPart.
]
]
].
@@ -2147,5 +2158,5 @@
!VariablePanel class methodsFor:'documentation'!
version
- ^ '$Header: /cvs/stx/stx/libwidg/VariablePanel.st,v 1.61 2000-08-23 20:54:19 cg Exp $'
+ ^ '$Header: /cvs/stx/stx/libwidg/VariablePanel.st,v 1.62 2000-08-25 09:30:03 cg Exp $'
! !