Nicolas Cellier uploaded a new version of Morphic to project The Trunk:
http://source.squeak.org/trunk/Morphic-nice.706.mcz==================== Summary ====================
Name: Morphic-nice.706
Author: nice
Time: 15 December 2013, 10:59:13.392 pm
UUID: 7ae1b1be-cd95-4faa-ad45-0a3e353a3307
Ancestors: Morphic-nice.705
Presence of Flaps (if any) is now already taken into account in RealEstateAgent maximumUsableArea.
So avoid using reducedByFlaps:.
This reduces dependency on MorphicExtras, and is a small step toward a clean unloading.
=============== Diff against Morphic-nice.705 ===============
Item was changed:
----- Method: Morph>>openModal: (in category 'polymorph') -----
openModal: aSystemWindow
"Open the given window locking the receiver until it is dismissed.
Answer the system window.
Restore the original keyboard focus when closed."
|area mySysWin keyboardFocus|
keyboardFocus := self activeHand keyboardFocus.
mySysWin := self isSystemWindow ifTrue: [self] ifFalse: [self ownerThatIsA: SystemWindow].
mySysWin ifNil: [mySysWin := self].
mySysWin modalLockTo: aSystemWindow.
+ area := RealEstateAgent maximumUsableArea.
- ( RealEstateAgent respondsTo: #reduceByFlaps: )
- ifTrue:[
- area := RealEstateAgent reduceByFlaps: RealEstateAgent maximumUsableArea]
- ifFalse:[
- area := RealEstateAgent maximumUsableArea].
aSystemWindow extent: aSystemWindow initialExtent.
aSystemWindow position = (0@0)
ifTrue: [aSystemWindow
position: self activeHand position - (aSystemWindow extent // 2)].
aSystemWindow
bounds: (aSystemWindow bounds translatedToBeWithin: area).
[ToolBuilder default runModal: aSystemWindow openAsIs]
ensure: [mySysWin modalUnlockFrom: aSystemWindow.
self activeHand newKeyboardFocus: keyboardFocus].
^aSystemWindow!
Item was changed:
----- Method: SystemWindow>>fullScreen (in category 'menu') -----
fullScreen
"Zoom Window to Full World size with possible DeskMargins"
"SystemWindow fullScreen"
| left right possibleBounds |
left := right := 0.
self paneMorphs
do: [:pane | ((pane isKindOf: ScrollPane)
and: [pane retractableScrollBar])
ifTrue: [pane scrollBarOnLeft
ifTrue: [left := left max: pane scrollBarThickness]
ifFalse: [right := right max: pane scrollBarThickness]]].
possibleBounds := (RealEstateAgent maximumUsableAreaInWorld: self world)
insetBy: (left @ 0 corner: right @ 0).
+ Preferences fullScreenLeavesDeskMargins
- ((Flaps sharedFlapsAllowed
- and: [Project current flapsSuppressed not])
- or: [Preferences fullScreenLeavesDeskMargins])
ifTrue: [possibleBounds := possibleBounds insetBy: 22].
self bounds: possibleBounds!