The Trunk: System-fbs.534.mcz

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

The Trunk: System-fbs.534.mcz

commits-2
Frank Shearar uploaded a new version of System to project The Trunk:
http://source.squeak.org/trunk/System-fbs.534.mcz

==================== Summary ====================

Name: System-fbs.534
Author: fbs
Time: 21 May 2013, 4:22:14.108 pm
UUID: b993e4a6-6557-4586-9aad-cf0143d58a41
Ancestors: System-fbs.533

Move unto MorphicExtras the things that are MorphicExtras. Flaps-referencing methods, in this case.

=============== Diff against System-fbs.533 ===============

Item was removed:
- ----- Method: RealEstateAgent class>>reduceByFlaps: (in category 'utilities') -----
- reduceByFlaps: aScreenRect
- "Return a rectangle that won't interfere with default shared flaps"
-
- Flaps sharedFlapsAllowed ifFalse: [^ aScreenRect copy].
- (Flaps globalFlapTabsIfAny allSatisfy:
- [:ft | ft flapID = 'Painting' translated or: [ft edgeToAdhereTo == #bottom]])
- ifTrue: [^ aScreenRect withHeight: aScreenRect height - 18]
- ifFalse: [^ aScreenRect insetBy: 18]!

Item was removed:
- ----- Method: RealEstateAgent class>>strictlyStaggeredInitialFrameFor:initialExtent: (in category 'framing') -----
- strictlyStaggeredInitialFrameFor: aStandardSystemView initialExtent: initialExtent
-
- self error: 'please use #strictlyStaggeredInitialFrameFor:initialExtent:world:'!

Item was removed:
- ----- Method: RealEstateAgent class>>strictlyStaggeredInitialFrameFor:initialExtent:world: (in category 'framing') -----
- strictlyStaggeredInitialFrameFor: aStandardSystemView initialExtent: initialExtent world: aWorld
- "This method implements a staggered window placement policy that I (di) like.
- Basically it provides for up to 4 windows, staggered from each of the 4 corners.
- The windows are staggered so that there will always be a corner visible."
-
- | allowedArea grid initialFrame otherFrames cornerSel corner delta putativeCorner free maxLevel |
-
- allowedArea :=(self maximumUsableAreaInWorld: aWorld)
- insetBy: (self scrollBarSetback @ self screenTopSetback extent: 0@0).
- (Smalltalk isMorphic and: [Flaps sharedFlapsAllowed]) ifTrue:
- [allowedArea := self reduceByFlaps: allowedArea].
- "Number to be staggered at each corner (less on small screens)"
- maxLevel := allowedArea area > 300000 ifTrue: [3] ifFalse: [2].
- "Amount by which to stagger (less on small screens)"
- grid := allowedArea area > 500000 ifTrue: [40] ifFalse: [20].
- initialFrame := 0@0 extent: ((initialExtent
- "min: (allowedArea extent - (grid*(maxLevel+1*2) + (grid//2))))
- min: 600@400")).
- otherFrames := Smalltalk isMorphic
- ifTrue: [(SystemWindow windowsIn: aWorld satisfying: [:w | w isCollapsed not])
- collect: [:w | w bounds]]
- ifFalse: [ScheduledControllers scheduledWindowControllers
- select: [:aController | aController view ~~ nil]
- thenCollect: [:aController | aController view isCollapsed
- ifTrue: [aController view expandedFrame]
- ifFalse: [aController view displayBox]]].
- 0 to: maxLevel do:
- [:level |
- 1 to: 4 do:
- [:ci | cornerSel := #(topLeft topRight bottomRight bottomLeft) at: ci.
- corner := allowedArea perform: cornerSel.
- "The extra grid//2 in delta helps to keep title tabs distinct"
- delta := (maxLevel-level*grid+(grid//2)) @ (level*grid).
- 1 to: ci-1 do: [:i | delta := delta rotateBy: #right centerAt: 0@0]. "slow way"
- putativeCorner := corner + delta.
- free := true.
- otherFrames do:
- [:w |
- free := free & ((w perform: cornerSel) ~= putativeCorner)].
- free ifTrue:
- [^ (initialFrame align: (initialFrame perform: cornerSel)
- with: putativeCorner)
- translatedAndSquishedToBeWithin: allowedArea]]].
- "If all else fails..."
- ^ (self scrollBarSetback @ self screenTopSetback extent: initialFrame extent)
- translatedAndSquishedToBeWithin: allowedArea!