*** empty log message ***
authorClaus Gittinger <cg@exept.de>
Fri, 25 Aug 2000 11:30:03 +0200
changeset 2238 397f5d6d59c5
parent 2237 43f0318a830e
child 2239 31a57c0002a2
*** empty log message ***
VariablePanel.st
--- 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 $'
 ! !