AlignmentOrigin.st
changeset 229 612861ef768a
parent 219 106b86ca81da
child 242 5b7f59450c65
--- a/AlignmentOrigin.st	Sat Apr 27 16:19:26 1996 +0200
+++ b/AlignmentOrigin.st	Sat Apr 27 19:51:19 1996 +0200
@@ -43,10 +43,12 @@
     reference point within the component is positioned.
     The reference point itself is specified as fraction of the components size.
 
-    Notice: this class was implemented using protocol information
-    from alpha testers - it may not be complete or compatible to
-    the corresponding ST-80 class. If you encounter any incompatibilities,
-    please forward a note to the ST/X team.
+    Notice: 
+        this class was implemented using protocol information
+        from alpha testers - it may not be complete or compatible to
+        the corresponding ST-80 class. 
+        If you encounter any incompatibilities, please forward a note 
+        describing the incompatibility verbal (i.e. no code) to the ST/X team.
 
     [author:]
         Claus Gittinger
@@ -59,56 +61,62 @@
 
 examples
 "
+    Although the examples below use a button as component,
+    they work of course with any type of subview ....
+
     using a LayoutOrigin, to control the top-left origins position of
     a component (i.e. origin at:0.5@0.5):
-
-	|top button|
+                                                                        [exBegin]
+        |top button|
 
-	top := StandardSystemView new.
-	top extent:300@300.
+        top := StandardSystemView new.
+        top extent:300@300.
 
-	button := Button label:'component'.
-	top add:button in:(LayoutOrigin new
-				leftFraction:0.5;
-				topFraction:0.5).
+        button := Button label:'component'.
+        top add:button in:(LayoutOrigin new
+                                leftFraction:0.5;
+                                topFraction:0.5).
 
-	top open
+        top open
+                                                                        [exEnd]
 
 
     using an AlignmentOrigin, to control the centers position of
     a component (i.e. center of component at:0.5@0.5):
-
-	|top button|
+                                                                        [exBegin]
+        |top button|
 
-	top := StandardSystemView new.
-	top extent:300@300.
+        top := StandardSystemView new.
+        top extent:300@300.
 
-	button := Button label:'component'.
-	top add:button in:(AlignmentOrigin new
-				leftFraction:0.5;
-				topFraction:0.5;
-				leftAlignmentFraction:0.5;
-				topAlignmentFraction:0.5).
+        button := Button label:'component'.
+        top add:button in:(AlignmentOrigin new
+                                leftFraction:0.5;
+                                topFraction:0.5;
+                                leftAlignmentFraction:0.5;
+                                topAlignmentFraction:0.5).
 
-	top open
+        top open
+                                                                        [exEnd]
 
 
     using an AlignmentOrigin, to control the bottom-right position of
     a component (i.e. bottom-right of component at:0.5@0.5):
-
-	|top button|
+                                                                        [exBegin]
+        |top button|
 
-	top := StandardSystemView new.
-	top extent:300@300.
+        top := StandardSystemView new.
+        top extent:300@300.
 
-	button := Button label:'component'.
-	top add:button in:(AlignmentOrigin new
-				leftFraction:0.5;
-				topFraction:0.5;
-				leftAlignmentFraction:1.0;
-				topAlignmentFraction:1.0).
+        button := Button label:'component'.
+        top add:button in:(AlignmentOrigin new
+                                leftFraction:0.5;
+                                topFraction:0.5;
+                                leftAlignmentFraction:1.0;
+                                topAlignmentFraction:1.0).
 
-	top open
+        top open
+                                                                        [exEnd]
 "
 ! !
 
@@ -198,29 +206,32 @@
 !AlignmentOrigin methodsFor:'queries'!
 
 rectangleRelativeTo:superRectangle preferred:prefRect
+    "compute the rectangle represented by the receiver,
+     given the superViews rectangle and the views preferredExtent."
+
     |x y|
 
     leftOffset isNil ifTrue:[
-	x := 0
+        x := 0
     ] ifFalse:[
-	x := leftOffset
+        x := leftOffset
     ].
     topOffset isNil ifTrue:[
-	y := 0
+        y := 0
     ] ifFalse:[
-	y := topOffset
+        y := topOffset
     ].
     leftFraction notNil ifTrue:[
-	x := x + (superRectangle width * leftFraction)
+        x := x + (superRectangle width * leftFraction)
     ].
     topFraction notNil ifTrue:[
-	y := y + (superRectangle height * topFraction)
+        y := y + (superRectangle height * topFraction)
     ].
     leftAlignmentFraction ~~ 0 ifTrue:[
-	x := x - (prefRect width * leftAlignmentFraction)
+        x := x - (prefRect width * leftAlignmentFraction)
     ].
     topAlignmentFraction ~~ 0 ifTrue:[
-	y := y - (prefRect height * topAlignmentFraction)
+        y := y - (prefRect height * topAlignmentFraction)
     ].
     ^ Rectangle origin:x@y extent:prefRect extent
 
@@ -230,15 +241,17 @@
      superRect := 0@0 corner:100@100.
      aO := (AlignmentOrigin new).
      aO leftFraction:0.5;
-	topFraction:0.5;
-	leftAlignmentFraction:0.5;
-	topAlignmentFraction:0.5.
+        topFraction:0.5;
+        leftAlignmentFraction:0.5;
+        topAlignmentFraction:0.5.
      aO rectangleRelativeTo:superRect preferred:(0@0 corner:30@30) 
     "
+
+    "Modified: 27.4.1996 / 14:53:56 / cg"
 ! !
 
 !AlignmentOrigin class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libview2/AlignmentOrigin.st,v 1.11 1996-04-25 16:21:00 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libview2/AlignmentOrigin.st,v 1.12 1996-04-27 17:51:19 cg Exp $'
 ! !