[squeak-dev] The Trunk: Morphic-nice.383.mcz
commits at source.squeak.org
commits at source.squeak.org
Tue Mar 16 20:44:05 UTC 2010
Nicolas Cellier uploaded a new version of Morphic to project The Trunk:
http://source.squeak.org/trunk/Morphic-nice.383.mcz
==================== Summary ====================
Name: Morphic-nice.383
Author: nice
Time: 16 March 2010, 9:42:29.168 pm
UUID: 0e2d679f-6b2b-474f-88d0-b770f847c40a
Ancestors: Morphic-cmm.382
Minor clean-up:
1) merge some super initialize from Pharo
2) avoid cascading super (from Pharo)
3) avoid a few outer temp assignment in blocks
4) avoid (isKindOf: BlockContext) in menu enablement block
=============== Diff against Morphic-cmm.382 ===============
Item was changed:
----- Method: PasteUpMorph>>grabFloodFromScreen: (in category 'world menu') -----
grabFloodFromScreen: evt
"Allow the user to plant a flood seed on the Display, and create a new drawing morph from the resulting region. Attach the result to the hand."
| screenForm exterior p1 box |
+ p1 := Cursor crossHair showWhile: [Sensor waitButton].
- Cursor crossHair showWhile: [p1 := Sensor waitButton].
box := Display floodFill: Color transparent at: p1.
exterior := ((Display copy: box) makeBWForm: Color transparent) reverse.
self world invalidRect: box; displayWorldSafely.
(box area > (Display boundingBox area // 2))
ifTrue: [^ UIManager default notify: 'Sorry, the region was too big'].
(exterior deepCopy reverse anyShapeFill reverse) "save interior bits"
displayOn: exterior at: 0 at 0 rule: Form and.
screenForm := Form fromDisplay: box.
screenForm eraseShape: exterior.
screenForm isAllWhite ifFalse:
[evt hand attachMorph: (self drawingClass withForm: screenForm)]!
Item was changed:
----- Method: PolygonMorph>>midpoint (in category 'attachments') -----
midpoint
"Answer the midpoint along my segments"
| middle |
+ middle := self totalLength.
- middle := 0.
- self lineSegmentsDo: [ :a :b | middle := middle + (a dist: b) ].
middle < 2 ifTrue: [ ^ self center ].
middle := middle / 2.
self lineSegmentsDo: [ :a :b | | dist |
dist := (a dist: b).
middle < dist
ifTrue: [ ^(a + ((b - a) * (middle / dist))) asIntegerPoint ].
middle := middle - dist.
].
self error: 'can''t happen'!
Item was changed:
----- Method: CircleMorph>>initialize (in category 'parts bin') -----
initialize
+ super initialize.
+ self extent: 40 at 40;
- ^super initialize
- extent: 40 at 40;
color: Color green lighter;
yourself!
Item was changed:
----- Method: BalloonCanvas>>initialize (in category 'initialize') -----
initialize
+ super initialize.
aaLevel := 1.
deferred := false.!
Item was changed:
----- Method: LayoutProperties>>initialize (in category 'initialize') -----
initialize
+ super initialize.
hResizing := vResizing := #rigid.
disableLayout := false.!
Item was changed:
----- Method: BalloonCanvas>>ifNoTransformWithIn: (in category 'private') -----
ifNoTransformWithIn: box
"Return true if the current transformation does not affect the given bounding box"
| delta |
+ transform ifNil: [^true].
- "false ifFalse:[^false]."
- transform isNil ifTrue:[^true].
delta := (transform localPointToGlobal: box origin) - box origin.
^(transform localPointToGlobal: box corner) - box corner = delta!
Item was changed:
----- Method: SystemWindow>>convertAlignment (in category 'layout') -----
convertAlignment
"Primarily Jesse Welton's code to convert old system windows to ones with modern layout scheme"
- | frame |
self layoutPolicy: ProportionalLayout new.
(paneMorphs isNil
or: [paneRects isNil or: [paneMorphs size ~= paneRects size]])
ifFalse:
[self addLabelArea.
self putLabelItemsInLabelArea.
self setFramesForLabelArea.
paneMorphs with: paneRects
do:
[:m :r |
+ | frame |
frame := LayoutFrame new.
frame
leftFraction: r left;
rightFraction: r right;
topFraction: r top;
bottomFraction: r bottom.
m layoutFrame: frame.
m
hResizing: #spaceFill;
vResizing: #spaceFill]].
labelArea isNil
ifTrue:
[self addLabelArea.
self putLabelItemsInLabelArea.
self setFramesForLabelArea.
paneMorphs ifNotNil:
[paneMorphs do:
[:m |
+ | frame |
frame := m layoutFrame ifNil: [LayoutFrame new].
frame topOffset: (frame topOffset ifNil: [0]) - self labelHeight.
frame bottomFraction ~= 1.0
ifTrue:
[frame bottomOffset: (frame bottomOffset ifNil: [0]) - self labelHeight]]]].
label ifNotNil:
+ [| frame |
+ frame := LayoutFrame new.
- [frame := LayoutFrame new.
frame
leftFraction: 0.5;
topFraction: 0;
leftOffset: label width negated // 2.
label layoutFrame: frame].
collapseBox ifNotNil:
+ [| frame |
+ frame := LayoutFrame new.
- [frame := LayoutFrame new.
frame
rightFraction: 1;
topFraction: 0;
rightOffset: -1;
topOffset: 1.
collapseBox layoutFrame: frame].
stripes ifNotNil:
+ [| frame |
+ frame := LayoutFrame new.
- [frame := LayoutFrame new.
frame
leftFraction: 0;
topFraction: 0;
rightFraction: 1;
leftOffset: 1;
topOffset: 1;
rightOffset: -1.
stripes first layoutFrame: frame.
stripes first height: self labelHeight - 2.
stripes first hResizing: #spaceFill.
frame := LayoutFrame new.
frame
leftFraction: 0;
topFraction: 0;
rightFraction: 1;
leftOffset: 3;
topOffset: 3;
rightOffset: -3.
stripes last layoutFrame: frame.
stripes last height: self labelHeight - 6.
stripes last hResizing: #spaceFill].
menuBox ifNotNil:
+ [| frame |
+ frame := LayoutFrame new.
- [frame := LayoutFrame new.
frame
leftFraction: 0;
leftOffset: 19;
topFraction: 0;
topOffset: 1.
menuBox layoutFrame: frame].
closeBox ifNotNil:
+ [| frame |
+ frame := LayoutFrame new.
- [frame := LayoutFrame new.
frame
leftFraction: 0;
leftOffset: 4;
topFraction: 0;
topOffset: 1.
closeBox layoutFrame: frame]!
Item was changed:
----- Method: Morph>>setRotationCenter (in category 'menus') -----
setRotationCenter
| p |
self world displayWorld.
+ p := Cursor crossHair showWhile:
+ [Sensor waitButton].
- Cursor crossHair showWhile:
- [p := Sensor waitButton].
Sensor waitNoButton.
self setRotationCenterFrom: (self transformFromWorld globalPointToLocal: p).
!
Item was changed:
----- Method: UpdatingMenuItemMorph>>enablementSelector: (in category 'enablement') -----
enablementSelector: aSelector
+ enablementSelector := aSelector isBlock
- enablementSelector := (aSelector isKindOf: BlockContext)
ifTrue: [aSelector copyForSaving]
ifFalse: [aSelector] !
More information about the Squeak-dev
mailing list
|