UIPropertyView.st
changeset 68 889c3877baf0
parent 66 b4e629d9cfcb
child 70 4e667db10910
--- a/UIPropertyView.st	Fri Feb 28 13:25:51 1997 +0100
+++ b/UIPropertyView.st	Fri Feb 28 18:03:28 1997 +0100
@@ -49,7 +49,7 @@
               #'name:' 'uIPainterView'
               #'layout:' #(#LayoutFrame 0 0.0 0 0.0 0 1.0 0 1.0)
               #'label:' 'unnamed'
-              #'bounds:' #(#Rectangle 0 0 248 304)
+              #'bounds:' #(#Rectangle 0 0 356 379)
           )
           #'component:' 
            #(#SpecCollection
@@ -59,7 +59,6 @@
                     #'name:' 'label9'
                     #'layout:' #(#AlignmentOrigin 76 0 7 0 1 0)
                     #'label:' 'Layout:'
-                    #'backgroundColor:' #(#Color 66.9993 66.9993 66.9993)
                     #'initiallyInvisible:' false
                     #'level:' 0
                     #'adjust:' #center
@@ -69,7 +68,6 @@
                     #'name:' 'popUpList1'
                     #'layout:' #(#LayoutFrame 79 0.0 7 0 -6 1.0 30 0)
                     #'label:' 'popup'
-                    #'backgroundColor:' #(#Color 66.9993 66.9993 66.9993)
                     #'initiallyInvisible:' false
                     #'model:' #layoutType
                     #'menu:' #layoutTypeList
@@ -78,7 +76,6 @@
                     #'name:' 'label2'
                     #'layout:' #(#AlignmentOrigin 49 0 103 0 1 0)
                     #'label:' 'top'
-                    #'backgroundColor:' #(#Color 66.9993 66.9993 66.9993)
                     #'initiallyInvisible:' false
                     #'level:' 0
                     #'adjust:' #right
@@ -88,7 +85,6 @@
                     #'name:' 'label3'
                     #'layout:' #(#Point 58 48)
                     #'label:' 'relative'
-                    #'backgroundColor:' #(#Color 66.9993 66.9993 66.9993)
                     #'initiallyInvisible:' false
                     #'level:' 0
                     #'adjust:' #center
@@ -98,7 +94,6 @@
                     #'name:' 'label4'
                     #'layout:' #(#Point 154 49)
                     #'label:' 'offset'
-                    #'backgroundColor:' #(#Color 66.9993 66.9993 66.9993)
                     #'initiallyInvisible:' false
                     #'level:' 0
                     #'adjust:' #center
@@ -106,9 +101,8 @@
                 )
                  #(#LabelSpec
                     #'name:' 'label5'
-                    #'layout:' #(#AlignmentOrigin 66 0 167 0 1 0)
+                    #'layout:' #(#AlignmentOrigin 63 0 175 0 1 0)
                     #'label:' 'align H'
-                    #'backgroundColor:' #(#Color 66.9993 66.9993 66.9993)
                     #'initiallyInvisible:' false
                     #'level:' 0
                     #'adjust:' #right
@@ -116,9 +110,8 @@
                 )
                  #(#LabelSpec
                     #'name:' 'label6'
-                    #'layout:' #(#AlignmentOrigin 66 0 193 0 1 0)
+                    #'layout:' #(#AlignmentOrigin 63 0 201 0 1 0)
                     #'label:' 'align V'
-                    #'backgroundColor:' #(#Color 66.9993 66.9993 66.9993)
                     #'initiallyInvisible:' false
                     #'level:' 0
                     #'adjust:' #right
@@ -152,7 +145,7 @@
                 )
                  #(#InputFieldSpec
                     #'name:' 'editField5'
-                    #'layout:' #(#LayoutFrame 68 0 167 0 125 0 185 0)
+                    #'layout:' #(#LayoutFrame 68 0 175 0 125 0 193 0)
                     #'model:' #leftAlignmentFraction
                     #'tabable:' true
                     #'type:' #numberOrNil
@@ -165,7 +158,7 @@
                 )
                  #(#InputFieldSpec
                     #'name:' 'editField6'
-                    #'layout:' #(#LayoutFrame 68 0 193 0 125 0 211 0)
+                    #'layout:' #(#LayoutFrame 68 0 201 0 125 0 219 0)
                     #'model:' #topAlignmentFraction
                     #'tabable:' true
                     #'type:' #numberOrNil
@@ -206,7 +199,6 @@
                     #'name:' 'button1'
                     #'layout:' #(#LayoutFrame 119 0 76 0 138 0 94 0)
                     #'label:' ''
-                    #'backgroundColor:' #(#Color 66.9993 66.9993 66.9993)
                     #'tabable:' false
                     #'model:' #makeRelativeLeft
                 )
@@ -214,7 +206,6 @@
                     #'name:' 'button2'
                     #'layout:' #(#LayoutFrame 119 0 103 0 138 0 121 0)
                     #'label:' ''
-                    #'backgroundColor:' #(#Color 66.9993 66.9993 66.9993)
                     #'tabable:' false
                     #'model:' #makeRelativeTop
                 )
@@ -222,7 +213,6 @@
                     #'name:' 'button3'
                     #'layout:' #(#LayoutFrame 217 0 76 0 236 0 94 0)
                     #'label:' ''
-                    #'backgroundColor:' #(#Color 66.9993 66.9993 66.9993)
                     #'tabable:' false
                     #'model:' #makeOffsetLeft
                 )
@@ -230,31 +220,27 @@
                     #'name:' 'button4'
                     #'layout:' #(#LayoutFrame 217 0 103 0 236 0 121 0)
                     #'label:' ''
-                    #'backgroundColor:' #(#Color 66.9993 66.9993 66.9993)
                     #'tabable:' false
                     #'model:' #makeOffsetTop
                 )
                  #(#ActionButtonSpec
                     #'name:' 'button8'
-                    #'layout:' #(#LayoutFrame 119 0 129 0 138 0 147 0)
+                    #'layout:' #(#LayoutFrame 119 0 137 0 138 0 155 0)
                     #'label:' ''
-                    #'backgroundColor:' #(#Color 66.9993 66.9993 66.9993)
                     #'tabable:' false
                     #'model:' #makeRelativeLeftTop
                 )
                  #(#ActionButtonSpec
                     #'name:' 'button9'
-                    #'layout:' #(#LayoutFrame 217 0 129 0 236 0 147 0)
+                    #'layout:' #(#LayoutFrame 217 0 137 0 236 0 155 0)
                     #'label:' ''
-                    #'backgroundColor:' #(#Color 66.9993 66.9993 66.9993)
                     #'tabable:' false
                     #'model:' #makeOffsetLeftTop
                 )
                  #(#LabelSpec
                     #'name:' 'label7'
-                    #'layout:' #(#AlignmentOrigin 49 0 129 0 1 0)
+                    #'layout:' #(#AlignmentOrigin 49 0 137 0 1 0)
                     #'label:' 'all'
-                    #'backgroundColor:' #(#Color 66.9993 66.9993 66.9993)
                     #'initiallyInvisible:' false
                     #'level:' 0
                     #'adjust:' #right
@@ -264,17 +250,95 @@
                     #'name:' 'label1'
                     #'layout:' #(#AlignmentOrigin 49 0 76 0 1 0)
                     #'label:' 'left'
-                    #'backgroundColor:' #(#Color 66.9993 66.9993 66.9993)
                     #'initiallyInvisible:' false
                     #'level:' 0
                     #'adjust:' #right
                     #'hasCharacterOrientedLabel:' true
                 )
+                 #(#DividerSpec
+                    #'name:' 'separator1'
+                    #'layout:' #(#Rectangle 154 177 203 188)
+                )
+                 #(#DividerSpec
+                    #'name:' 'separator2'
+                    #'layout:' #(#Rectangle 154 208 203 219)
+                )
+                 #(#DividerSpec
+                    #'name:' 'separator3'
+                    #'layout:' #(#Rectangle 145 187 155 208)
+                    #'orientation:' #vertical
+                )
+                 #(#DividerSpec
+                    #'name:' 'separator4'
+                    #'layout:' #(#Rectangle 203 187 213 208)
+                    #'orientation:' #vertical
+                )
+                 #(#ActionButtonSpec
+                    #'name:' 'alignBR'
+                    #'layout:' #(#Rectangle 201 207 213 219)
+                    #'label:' ''
+                    #'tabable:' false
+                    #'model:' #makeAlignBottomRight
+                )
+                 #(#ActionButtonSpec
+                    #'name:' 'alignTL'
+                    #'layout:' #(#Rectangle 145 176 157 188)
+                    #'label:' ''
+                    #'tabable:' false
+                    #'model:' #makeAlignTopLeft
+                )
+                 #(#ActionButtonSpec
+                    #'name:' 'alignTR'
+                    #'layout:' #(#Rectangle 201 176 213 188)
+                    #'label:' ''
+                    #'tabable:' false
+                    #'model:' #makeAlignTopRight
+                )
+                 #(#ActionButtonSpec
+                    #'name:' 'alignBL'
+                    #'layout:' #(#Rectangle 145 206 157 218)
+                    #'label:' ''
+                    #'tabable:' false
+                    #'model:' #makeAlignBottomLeft
+                )
+                 #(#ActionButtonSpec
+                    #'name:' 'alignTC'
+                    #'layout:' #(#Rectangle 173 176 185 188)
+                    #'label:' ''
+                    #'tabable:' false
+                    #'model:' #makeAlignTopCenter
+                )
+                 #(#ActionButtonSpec
+                    #'name:' 'alignBC'
+                    #'layout:' #(#Rectangle 173 207 185 219)
+                    #'label:' ''
+                    #'tabable:' false
+                    #'model:' #makeAlignBottomCenter
+                )
+                 #(#ActionButtonSpec
+                    #'name:' 'alignLC'
+                    #'layout:' #(#Rectangle 145 191 157 203)
+                    #'label:' ''
+                    #'tabable:' false
+                    #'model:' #makeAlignLeftCenter
+                )
+                 #(#ActionButtonSpec
+                    #'name:' 'alignRC'
+                    #'layout:' #(#Rectangle 201 191 213 203)
+                    #'label:' ''
+                    #'tabable:' false
+                    #'model:' #makeAlignRightCenter
+                )
+                 #(#ActionButtonSpec
+                    #'name:' 'alignC'
+                    #'layout:' #(#Rectangle 173 191 185 203)
+                    #'label:' ''
+                    #'tabable:' false
+                    #'model:' #makeAlignCenter
+                )
               )
           )
       )
-
-    "Modified: 28.2.1997 / 13:17:26 / cg"
 !
 
 specificationExtent
@@ -719,7 +783,7 @@
                 )
                  #(#PopUpListSpec
                     #'name:' 'popUpList1'
-                    #'layout:' #(#LayoutFrame 75 0.0 7 0 -5 1.0 30 0)
+                    #'layout:' #(#LayoutFrame 75 0.0 9 0 -5 1.0 32 0)
                     #'label:' 'popup'
                     #'backgroundColor:' #(#Color 66.9993 66.9993 66.9993)
                     #'initiallyInvisible:' false
@@ -728,7 +792,7 @@
                 )
                  #(#LabelSpec
                     #'name:' 'label1'
-                    #'layout:' #(#AlignmentOrigin 55 0 82 0 1 0)
+                    #'layout:' #(#AlignmentOrigin 52 0 82 0 1 0)
                     #'label:' 'left'
                     #'backgroundColor:' #(#Color 66.9993 66.9993 66.9993)
                     #'initiallyInvisible:' false
@@ -738,7 +802,7 @@
                 )
                  #(#LabelSpec
                     #'name:' 'label2'
-                    #'layout:' #(#AlignmentOrigin 55 0 109 0 1 0)
+                    #'layout:' #(#AlignmentOrigin 52 0 109 0 1 0)
                     #'label:' 'top'
                     #'backgroundColor:' #(#Color 66.9993 66.9993 66.9993)
                     #'initiallyInvisible:' false
@@ -852,7 +916,7 @@
                 )
                  #(#ActionButtonSpec
                     #'name:' 'button8'
-                    #'layout:' #(#LayoutFrame 119 0 135 0 138 0 153 0)
+                    #'layout:' #(#LayoutFrame 119 0 141 0 138 0 159 0)
                     #'label:' ''
                     #'backgroundColor:' #(#Color 66.9993 66.9993 66.9993)
                     #'tabable:' false
@@ -860,7 +924,7 @@
                 )
                  #(#ActionButtonSpec
                     #'name:' 'button9'
-                    #'layout:' #(#LayoutFrame 216 0 135 0 235 0 153 0)
+                    #'layout:' #(#LayoutFrame 216 0 141 0 235 0 159 0)
                     #'label:' ''
                     #'backgroundColor:' #(#Color 66.9993 66.9993 66.9993)
                     #'tabable:' false
@@ -868,7 +932,7 @@
                 )
                  #(#LabelSpec
                     #'name:' 'label5'
-                    #'layout:' #(#AlignmentOrigin 55 0 135 0 1 0)
+                    #'layout:' #(#AlignmentOrigin 52 0 141 0 1 0)
                     #'label:' 'all'
                     #'backgroundColor:' #(#Color 66.9993 66.9993 66.9993)
                     #'initiallyInvisible:' false
@@ -879,8 +943,6 @@
               )
           )
       )
-
-    "Modified: 28.2.1997 / 13:21:27 / cg"
 !
 
 specificationPoint
@@ -1466,20 +1528,14 @@
 fetchAlignmentOrigin
     "fetch alignmentOrigin
     "
-    |aLayout org|
+    |aLayout|
 
     aLayout := currentView geometryLayout.
-    org := currentView computeOrigin.
-
-    (layoutAspects at:#absLeft) value:(org x).
-    (layoutAspects at:#absTop)  value:(org y).
 
     (layoutAspects at:#leftAlignmentFraction) value:(aLayout leftAlignmentFraction).
     (layoutAspects at:#topAlignmentFraction)  value:(aLayout topAlignmentFraction).
 
     self fetchLayoutOrigin
-
-    "Modified: 28.2.1997 / 13:00:36 / cg"
 !
 
 fetchExtent
@@ -1677,6 +1733,70 @@
 
 !UIPropertyView methodsFor:'private make layout'!
 
+makeAlignBottomCenter
+    self makeAlignLeft:0.5 top:1
+
+!
+
+makeAlignBottomLeft
+    self makeAlignLeft:0 top:1
+
+!
+
+makeAlignBottomRight
+    self makeAlignLeft:1 top:1
+
+!
+
+makeAlignCenter
+    self makeAlignLeft:0.5 top:0.5
+
+!
+
+makeAlignLeft:leftFraction top:topFraction
+    |lA tA lO tO|
+
+    lA := (layoutAspects at:#leftAlignmentFraction) value ? 0.
+    tA := (layoutAspects at:#topAlignmentFraction) value ? 0.
+
+    (layoutAspects at:#leftAlignmentFraction) value:leftFraction.
+    (layoutAspects at:#topAlignmentFraction)  value:topFraction.
+
+    lO := (layoutAspects at:#leftOffset) value.
+    tO := (layoutAspects at:#topOffset) value.
+
+    lO := lO + (currentView computeExtent x * (leftFraction - lA)).
+    tO := tO + (currentView computeExtent y * (topFraction - tA)).
+
+    (layoutAspects at:#leftOffset) value:lO.
+    (layoutAspects at:#topOffset) value:tO.
+!
+
+makeAlignLeftCenter
+    self makeAlignLeft:0 top:0.5
+
+!
+
+makeAlignRightCenter
+    self makeAlignLeft:1 top:0.5
+
+!
+
+makeAlignTopCenter
+    self makeAlignLeft:0.5 top:0
+
+!
+
+makeAlignTopLeft
+    self makeAlignLeft:0 top:0
+
+!
+
+makeAlignTopRight
+    self makeAlignLeft:1 top:0
+
+!
+
 makeLayout:what xOrY:xOrY offset:aBool
     |layout extent fraction offset fractSymb offsetSymb|