# HG changeset patch # User ca # Date 857157914 -3600 # Node ID 4e667db109105d4cfe5c9d8df2de8d7905eb2c26 # Parent e533f77871ddf59e6bca26a5c671b64d67705fcc checkin from browser diff -r e533f77871dd -r 4e667db10910 UIPropertyView.st --- 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. !