VariablePanelController.st
changeset 131 208fa92f434d
parent 126 40228f4fd66b
child 150 9411bf3927d9
--- a/VariablePanelController.st	Tue Jun 06 06:16:07 1995 +0200
+++ b/VariablePanelController.st	Tue Jun 27 04:24:41 1995 +0200
@@ -37,7 +37,7 @@
 
 version
 "
-$Header: /cvs/stx/stx/libwidg/VariablePanelController.st,v 1.2 1995-05-10 02:30:36 claus Exp $
+$Header: /cvs/stx/stx/libwidg/VariablePanelController.st,v 1.3 1995-06-27 02:24:31 claus Exp $
 "
 ! !
 
@@ -47,7 +47,8 @@
     "mouse-button was moved while pressed;
      clear prev handleBar and draw handle bar at new position" 
 
-    |pos limitMin limitMax subViews barHeight|
+    |pos limitMin limitMax subViews barHeight
+     oldHx oldHy newHx newHy|
 
     movedHandle isNil ifTrue: [^ self].          "should not happen"
 
@@ -111,12 +112,17 @@
     ].
 
     isHorizontal ifTrue:[
-	view invertHandleBarAtX:prevPos y:0.
-	view invertHandleBarAtX:pos y:0.
+	oldHx := prevPos. 
+	newHx := pos.
+	oldHy := newHy := 0.
     ] ifFalse:[
-	view invertHandleBarAtX:0 y:prevPos.
-	view invertHandleBarAtX:0 y:pos.
+	oldHy := prevPos.
+	newHy := pos.
+	oldHx := newHx := 0.
     ].
+    view invertHandleBarAtX:oldHx y:oldHy. 
+    view invertHandleBarAtX:newHx y:newHy.
+
     prevPos := pos
 !
 
@@ -124,7 +130,8 @@
     "end bar-move"
 
     |aboveView belowView aboveIndex belowIndex 
-     newPos oldPos group subViews|
+     newPos oldPos group subViews 
+     relCornerAbove fromIndex toIndex|
 
     ((button == 1) or:[button == #select]) ifTrue:[
 	movedHandle isNil ifTrue:[^ self].
@@ -151,25 +158,27 @@
 	aboveView := subViews at:aboveIndex.
 	belowView := subViews at:belowIndex.
 
+	relCornerAbove := aboveView relativeCorner.
 	isHorizontal ifTrue:[
-	    oldPos := aboveView relativeCorner x.
+	    oldPos := relCornerAbove x.
 	    newPos := (prevPos + startPos / view width) asFloat.
-	    aboveView relativeCorner:newPos @ aboveView relativeCorner y.
+	    aboveView relativeCorner:newPos @ relCornerAbove y.
 	    belowView relativeOrigin:newPos @ belowView relativeOrigin y.
 	] ifFalse:[
-	    oldPos := aboveView relativeCorner y.
+	    oldPos := relCornerAbove y.
 	    newPos := (prevPos + startPos / view height) asFloat.
-	    aboveView relativeCorner:aboveView relativeCorner x @ newPos.
+	    aboveView relativeCorner:relCornerAbove x @ newPos.
 	    belowView relativeOrigin:belowView relativeOrigin x @ newPos.
 	].
 
 	view lockRedraw.
 
 	oldPos > newPos ifTrue:[
-	    view resizeSubviewsFrom:aboveIndex to:belowIndex.
+	    fromIndex := aboveIndex. toIndex := belowIndex.
 	] ifFalse:[
-	    view resizeSubviewsFrom:belowIndex to:aboveIndex.
+	    fromIndex := belowIndex. toIndex := aboveIndex.
 	].
+	view resizeSubviewsFrom:fromIndex to:toIndex.
 	view redrawHandlesFrom:aboveIndex to:belowIndex.
 	view unlockRedraw.
     ] ifFalse:[