--- a/UIPropertyView.st Fri Feb 28 18:04:09 1997 +0100
+++ b/UIPropertyView.st Fri Feb 28 20:25:14 1997 +0100
@@ -1469,14 +1469,13 @@
layoutType notNil ifTrue:[
self modified:true.
+ self perform:(('fetch', layoutType asString) asSymbol).
spec := ('specification', layoutType asString) asSymbol.
spec := self class perform:spec.
].
self showSpec:spec.
self changed:#layoutType.
].
-
- "Modified: 28.2.1997 / 13:07:10 / cg"
!
layoutTypeList
@@ -1491,7 +1490,7 @@
showAndFetchLayout
"fetch and show layout specification assigned to current view
"
- |type|
+ |type spec|
self modified:false.
modified := true.
@@ -1500,11 +1499,25 @@
type := builderView class layoutType:currentView.
type notNil ifTrue:[
- layoutAspects do:[:aValue| aValue value:nil ].
- self perform:(('fetch', type asString) asSymbol)
+ self perform:(('fetch', type asString) asSymbol).
+
+ type notNil ifTrue:[
+ spec := ('specification', type asString) asSymbol.
+ spec := self class perform:spec.
+ ]
]
].
- self layoutType:type.
+
+ type ~~ layoutType ifTrue:[
+ layoutType := type.
+ self changed:#layoutType
+ ].
+ self showSpec:spec.
+
+ type ~~ layoutType ifTrue:[
+ layoutType := type.
+ self changed:#layoutType
+ ].
modified := false.
!
@@ -1528,20 +1541,40 @@
fetchAlignmentOrigin
"fetch alignmentOrigin
"
- |aLayout|
+ |layout type extent|
+
+ type := builderView class layoutType:currentView.
+ layout := currentView geometryLayout.
- aLayout := currentView geometryLayout.
+ layout isLayout ifTrue:[
+ (layoutAspects at:#leftOffset) value:(layout leftOffset).
+ (layoutAspects at:#leftFraction) value:(layout leftFraction).
+ (layoutAspects at:#topOffset) value:(layout topOffset).
+ (layoutAspects at:#topFraction) value:(layout topFraction).
- (layoutAspects at:#leftAlignmentFraction) value:(aLayout leftAlignmentFraction).
- (layoutAspects at:#topAlignmentFraction) value:(aLayout topAlignmentFraction).
+ type == #AlignmentOrigin ifTrue:[
+ (layoutAspects at:#leftAlignmentFraction) value:(layout leftAlignmentFraction).
+ (layoutAspects at:#topAlignmentFraction) value:(layout topAlignmentFraction).
+ ^ self
+ ]
+ ] ifFalse:[
+ layout := currentView computeOrigin.
- self fetchLayoutOrigin
+ (layoutAspects at:#leftOffset) value:(layout x).
+ (layoutAspects at:#leftFraction) value:0.
+ (layoutAspects at:#topOffset) value:(layout y).
+ (layoutAspects at:#topFraction) value:0.
+ ].
+ (layoutAspects at:#leftAlignmentFraction) value:0.
+ (layoutAspects at:#topAlignmentFraction) value:0.
+
+
!
fetchExtent
|extent|
- extent := currentView extent.
+ extent := currentView computeExtent.
(layoutAspects at:#leftOffset) value:(extent x).
(layoutAspects at:#rightOffset) value:(extent y).
!
@@ -1549,93 +1582,56 @@
fetchLayoutFrame
"fetch layoutFrame
"
- |aLayout org|
+ |layout|
- aLayout := currentView geometryLayout.
- org := currentView computeOrigin.
-
- (layoutAspects at:#absLeft) value:(org x).
- (layoutAspects at:#absTop) value:(org y).
+ layout := builderView class asLayoutFrameFromView:currentView.
- (layoutAspects at:#leftOffset) value:(aLayout leftOffset).
- (layoutAspects at:#leftFraction) value:(aLayout leftFraction).
- (layoutAspects at:#topOffset) value:(aLayout topOffset).
- (layoutAspects at:#topFraction) value:(aLayout topFraction).
- (layoutAspects at:#rightOffset) value:(aLayout rightOffset).
- (layoutAspects at:#bottomOffset) value:(aLayout bottomOffset).
- (layoutAspects at:#rightFraction) value:(aLayout rightFraction).
- (layoutAspects at:#bottomFraction) value:(aLayout bottomFraction).
-
- "Modified: 28.2.1997 / 12:58:37 / cg"
+ (layoutAspects at:#leftOffset) value:(layout leftOffset).
+ (layoutAspects at:#leftFraction) value:(layout leftFraction).
+ (layoutAspects at:#topOffset) value:(layout topOffset).
+ (layoutAspects at:#topFraction) value:(layout topFraction).
+ (layoutAspects at:#rightOffset) value:(layout rightOffset).
+ (layoutAspects at:#bottomOffset) value:(layout bottomOffset).
+ (layoutAspects at:#rightFraction) value:(layout rightFraction).
+ (layoutAspects at:#bottomFraction) value:(layout bottomFraction).
!
fetchLayoutOrigin
"fetch layoutOrigin
"
- |extent aLayout leftFraction topFraction leftOffset topOffset org|
+ |layout|
- extent := currentView extent.
- aLayout := currentView geometryLayout.
- org := currentView computeOrigin.
-
- (layoutAspects at:#absLeft) value:(org x).
- (layoutAspects at:#absTop) value:(org y).
+ layout := builderView class asLayoutFrameFromView:currentView.
- leftFraction := aLayout leftFraction.
- topFraction := aLayout topFraction.
- leftOffset := aLayout leftOffset.
- topOffset := aLayout topOffset.
+ (layoutAspects at:#leftOffset) value:(layout leftOffset).
+ (layoutAspects at:#leftFraction) value:(layout leftFraction).
+ (layoutAspects at:#topOffset) value:(layout topOffset).
+ (layoutAspects at:#topFraction) value:(layout topFraction).
- (layoutAspects at:#leftOffset) value:leftOffset.
- (layoutAspects at:#leftFraction) value:leftFraction.
- (layoutAspects at:#topOffset) value:topOffset.
- (layoutAspects at:#topFraction) value:topFraction.
-
- (layoutAspects at:#rightFraction) value:leftFraction.
- (layoutAspects at:#rightOffset) value:(leftOffset + extent x).
- (layoutAspects at:#bottomFraction) value:topFraction.
- (layoutAspects at:#bottomOffset) value:(topOffset + extent y).
-
- "Modified: 28.2.1997 / 12:58:49 / cg"
!
fetchPoint
"fetch point
"
- |e x y p|
-
- p := currentView geometryLayout.
- x := p x.
- y := p y.
- e := currentView computeExtent.
+ |origin|
- (layoutAspects at:#absLeft) value:x.
- (layoutAspects at:#absTop) value:y.
-
- (layoutAspects at:#leftOffset) value:x.
- (layoutAspects at:#topOffset) value:y.
- (layoutAspects at:#rightOffset) value:(x + e x).
- (layoutAspects at:#bottomOffset) value:(y + e y).
-
- "Modified: 28.2.1997 / 12:59:26 / cg"
+ origin := currentView computeOrigin.
+ (layoutAspects at:#absLeft) value:(origin x).
+ (layoutAspects at:#absTop) value:(origin y).
!
fetchRectangle
"fetch rectangle
"
- |aRectangle|
+ |origin corner|
- aRectangle := currentView geometryLayout.
-
- (layoutAspects at:#absLeft) value:(aRectangle left).
- (layoutAspects at:#absTop) value:(aRectangle top).
+ origin := currentView computeOrigin.
+ corner := currentView computeCorner.
- (layoutAspects at:#leftOffset) value:(aRectangle left).
- (layoutAspects at:#rightOffset) value:(aRectangle right).
- (layoutAspects at:#topOffset) value:(aRectangle top).
- (layoutAspects at:#bottomOffset) value:(aRectangle bottom).
-
- "Modified: 28.2.1997 / 12:59:09 / cg"
+ (layoutAspects at:#leftOffset) value:(origin x).
+ (layoutAspects at:#rightOffset) value:(corner x).
+ (layoutAspects at:#topOffset) value:(origin y).
+ (layoutAspects at:#bottomOffset) value:(corner y).
! !
!UIPropertyView methodsFor:'private layout write'!
@@ -1753,23 +1749,24 @@
!
-makeAlignLeft:leftFraction top:topFraction
- |lA tA lO tO|
+makeAlignLeft:leftAlignmentFraction top:topAlignmentFraction
+ |lAF tAF lO tO ext|
- lA := (layoutAspects at:#leftAlignmentFraction) value ? 0.
- tA := (layoutAspects at:#topAlignmentFraction) value ? 0.
-
- (layoutAspects at:#leftAlignmentFraction) value:leftFraction.
- (layoutAspects at:#topAlignmentFraction) value:topFraction.
+ lAF := (layoutAspects at:#leftAlignmentFraction) value ? 0.
+ tAF := (layoutAspects at:#topAlignmentFraction) value ? 0.
+ ext := currentView computeExtent.
- lO := (layoutAspects at:#leftOffset) value.
- tO := (layoutAspects at:#topOffset) value.
+ (layoutAspects at:#leftAlignmentFraction) value:leftAlignmentFraction.
+ (layoutAspects at:#topAlignmentFraction) value:topAlignmentFraction.
+
+ lO := (layoutAspects at:#leftOffset) value ? 0.
+ tO := (layoutAspects at:#topOffset) value ? 0.
- lO := lO + (currentView computeExtent x * (leftFraction - lA)).
- tO := tO + (currentView computeExtent y * (topFraction - tA)).
+ lO := lO + (ext x * (leftAlignmentFraction - lAF)).
+ tO := tO + (ext y * (topAlignmentFraction - tAF)).
- (layoutAspects at:#leftOffset) value:lO.
- (layoutAspects at:#topOffset) value:tO.
+ (layoutAspects at:#leftOffset) value:(lO rounded).
+ (layoutAspects at:#topOffset) value:(tO rounded).
!
makeAlignLeftCenter
@@ -1798,41 +1795,27 @@
!
makeLayout:what xOrY:xOrY offset:aBool
- |layout extent fraction offset fractSymb offsetSymb|
+ |extent fraction offset fractSymb offsetSymb|
- currentView isNil ifTrue:[
- ^ self
- ].
- layout := currentView geometryLayout.
-
- layout isLayout ifFalse:[
- ^ self
- ].
+ extent := (currentView superView computeExtent) perform:xOrY.
fractSymb := (what, 'Fraction') asSymbol.
offsetSymb := (what, 'Offset') asSymbol.
- ( (layout respondsTo:fractSymb)
- and:[layout respondsTo:offsetSymb]
- ) ifTrue:[
-
- fraction := layout perform:fractSymb.
- offset := layout perform:offsetSymb.
- extent := (currentView superView computeExtent) perform:xOrY.
+ fraction := (layoutAspects at:fractSymb) value.
+ offset := (layoutAspects at:offsetSymb) value.
- aBool ifTrue:[
- offset := offset + ((fraction * extent) asInteger).
- (layoutAspects at:offsetSymb) value:offset.
- (layoutAspects at:fractSymb) value:0.
- ] ifFalse:[
- fraction := (fraction + (offset / extent)) asFloat.
+ aBool ifTrue:[
+ offset := offset + ((fraction * extent) asInteger).
+ fraction := 0.
+ ] ifFalse:[
+ fraction := (fraction + (offset / extent)) asFloat.
- (fraction > 1.0) ifTrue:[ fraction := 1.0 ].
- (fraction < 0.0) ifTrue:[ fraction := 0.0 ].
-
- (layoutAspects at:offsetSymb) value:0.
- (layoutAspects at:fractSymb) value:fraction.
- ]
- ]
+ (fraction > 1.0) ifTrue:[ fraction := 1.0 ].
+ (fraction < 0.0) ifTrue:[ fraction := 0 ].
+ offset := 0.
+ ].
+ (layoutAspects at:offsetSymb) value:offset.
+ (layoutAspects at:fractSymb) value:fraction.
!