[squeak-dev] The Trunk: Morphic-mt.1547.mcz
Marcel Taeumel
marcel.taeumel at hpi.de
Mon Sep 30 13:48:07 UTC 2019
The ancestry was fine or else you wouldn't see that:
Ancestors: Morphic-mt.1546, Morphic-ct.1505, Morphic-ct.1506, Morphic-ct.1507, Morphic-ct.1514, Morphic-ct.1527, Morphic-ct.1530, Morphic-ct.1533, Morphic-ct.1535, Morphic-ct.1536
Those commits did not depend on each other, so I could review them side-by-side and push them all at once to avoid noise on the mailing list. Also, I could copy all your versions to the Trunk.
Best,
Marcel
Am 30.09.2019 11:41:00 schrieb Thiede, Christoph <christoph.thiede at student.hpi.uni-potsdam.de>:
Wow, thank you for your effort :-)
Did I handle the ancestry wrong again or is this excessive merging actually the usual workflow?
Von: Squeak-dev <squeak-dev-bounces at lists.squeakfoundation.org> im Auftrag von commits at source.squeak.org <commits at source.squeak.org>
Gesendet: Sonntag, 29. September 2019 19:05:47
An: squeak-dev at lists.squeakfoundation.org; packages at lists.squeakfoundation.org
Betreff: [squeak-dev] The Trunk: Morphic-mt.1547.mcz
Marcel Taeumel uploaded a new version of Morphic to project The Trunk:
http://source.squeak.org/trunk/Morphic-mt.1547.mcz [http://source.squeak.org/trunk/Morphic-mt.1547.mcz]
==================== Summary ====================
Name: Morphic-mt.1547
Author: mt
Time: 29 September 2019, 7:05:40.322524 pm
UUID: d35fe693-b8fc-574c-a20b-0b5ce37208ad
Ancestors: Morphic-mt.1546, Morphic-ct.1505, Morphic-ct.1506, Morphic-ct.1507, Morphic-ct.1514, Morphic-ct.1527, Morphic-ct.1530, Morphic-ct.1533, Morphic-ct.1535, Morphic-ct.1536
Merge, merge, merge. :-)
Morphic-ct.1505 - halo scale up in demo mode
Morphic-ct.1506 - window icons scale up in demo mode
Morphic-ct.1507 - bugfix open tool attached to mouse
Morphic-ct.1514 - dialog code clean-up
Morphic-ct.1527 - CollapsedMorph
Morphic-ct.1530 - comments
Morphic-ct.1533 - fix in MorphicProject (fillStyle)
Morphic-ct.1535 - fix in MorphicProject (background)
Morphic-ct.1536 - TextMorph constructors
=============== Diff against Morphic-mt.1546 ===============
Item was added:
+ ----- Method: CollapsedMorph class>>createReplacementFor:in: (in category 'instance creation') -----
+ createReplacementFor: aMorph in: anOwner
+
+ ^ self new
+ beReplacementFor: aMorph in: anOwner;
+ yourself!
Item was changed:
----- Method: CollapsedMorph>>beReplacementFor: (in category 'collapse/expand') -----
beReplacementFor: aMorph
+ "Encapsulate aMorph with the CollapsedMorph and display the latter"
+ | itsWorld |
- | itsWorld priorPosition |
(itsWorld := aMorph world) ifNil: [^self].
+ self beReplacementFor: aMorph in: itsWorld.!
- uncollapsedMorph := aMorph.
-
- self setLabel: aMorph externalName.
- aMorph delete.
- itsWorld addMorphFront: self.
- self collapseOrExpand.
- (priorPosition := aMorph valueOfProperty: #collapsedPosition ifAbsent: [nil])
- ifNotNil:
- [self position: priorPosition].
- !
Item was added:
+ ----- Method: CollapsedMorph>>beReplacementFor:in: (in category 'collapse/expand') -----
+ beReplacementFor: aMorph in: anOwner
+ "Encapsulate aMorph with the CollapsedMorph and display the latter in anOwner"
+
+ | priorPosition |
+ uncollapsedMorph := aMorph.
+
+ self setLabel: aMorph externalName.
+ aMorph delete.
+ self privateOwner: anOwner. "lest RealEstateAgent fail at positioning me"
+ self collapseOrExpand.
+ anOwner addMorphFront: self.
+ (priorPosition := aMorph valueOfProperty: #collapsedPosition ifAbsent: [nil])
+ ifNotNil: [self position: priorPosition].!
Item was added:
+ ----- Method: CollapsedMorph>>centerWithWrappees: (in category 'adjusting') -----
+ centerWithWrappees: aPoint
+
+ self center: aPoint.
+ uncollapsedMorph center: aPoint.!
Item was added:
+ ----- Method: CollapsedMorph>>uncollapsedMorph (in category 'accessing') -----
+ uncollapsedMorph
+
+ ^ uncollapsedMorph!
Item was changed:
----- Method: DialogWindow>>exploreInvocation (in category 'running') -----
exploreInvocation
+ self exclusive: false.
+ (self findInvocationContext stack collect: #method)
+ explore!
- | result context |
- self exclusive: false. "We want to explore."
-
- result := OrderedCollection new.
- context := self findInvocationContext.
-
- [context sender] whileNotNil: [
- result add: context method.
- context := context sender].
- result add: context method.
-
- result explore.!
Item was changed:
----- Method: HaloMorph>>addHandlesForWorldHalos (in category 'private') -----
addHandlesForWorldHalos
"Add handles for world halos, like the man said"
| box w |
w := self world ifNil:[target world].
self removeAllMorphs. "remove old handles, if any"
self bounds: target bounds.
box := w bounds insetBy: self handleSize // 2.
target addWorldHandlesTo: self box: box.
Preferences uniqueNamesInHalos ifTrue:
[innerTarget assureExternalName].
+ self
+ addNameBeneath: ((box insetBy: (0 at 0 corner: 0 at 10))
+ scaleBy: RealEstateAgent scaleFactor)
+ string: innerTarget externalName.
- self addNameBeneath: (box insetBy: (0 at 0 corner: 0 at 10)) string: innerTarget externalName.
growingOrRotating := false.
self layoutChanged.
self changed.
!
Item was changed:
----- Method: HaloMorph>>basicBox (in category 'private') -----
basicBox
+ | minSide outset anExtent aBox w |
- | aBox minSide anExtent w |
minSide := 4 * self handleSize.
+ outset := 8 * RealEstateAgent scaleFactor.
+ anExtent := (self extent + self handleSize + outset) max: minSide asPoint.
- anExtent := ((self width + self handleSize + 8) max: minSide) @
- ((self height + self handleSize + 8) max: minSide).
aBox := Rectangle center: self center extent: anExtent.
w := self world ifNil:[target outermostWorldMorph].
^ w
ifNil:
[aBox]
ifNotNil:
[aBox intersect: (w viewBox insetBy: self handleSize // 2)]
!
Item was changed:
----- Method: HaloMorph>>createHandleAt:color:iconName: (in category 'private') -----
createHandleAt: aPoint color: aColor iconName: iconName
| bou handle |
bou := Rectangle center: aPoint extent: self handleSize asPoint.
Preferences alternateHandlesLook
ifTrue: [handle := RectangleMorph newBounds: bou color: aColor.
handle useRoundedCorners.
self setColor: aColor toHandle: handle]
ifFalse: [handle := EllipseMorph newBounds: bou color: aColor].
handle borderWidth: 0;
wantsYellowButtonMenu: false.
""
iconName isNil
ifFalse: [| form |
form := ScriptingSystem formAtKey: iconName.
form isNil
ifFalse: [| image |
image := ImageMorph new.
+ image image: form scaleIconToDisplay.
- image image: form.
image color: aColor makeForegroundColor.
image lock.
handle addMorphCentered: image]].
""
^ handle!
Item was changed:
----- Method: HaloMorph>>handleSize (in category 'private') -----
handleSize
+ ^ (Preferences biggerHandles
- ^ Preferences biggerHandles
ifTrue: [30]
+ ifFalse: [16]) * RealEstateAgent scaleFactor!
- ifFalse: [16]!
Item was changed:
----- Method: Morph>>hResizing (in category 'layout-properties') -----
hResizing
"Layout specific. This property describes how the receiver should be resized with respect to its owner and its children. Possible values are:
#rigid - do not resize the receiver
#spaceFill - resize to fill owner's available space
+ #shrinkWrap - resize to fit children
- #shrinkWrap - resize to fit children
"
| props |
props := self layoutProperties.
^props ifNil:[#rigid] ifNotNil:[props hResizing].!
Item was changed:
----- Method: MorphicProject>>setAsBackground: (in category 'utilities') -----
setAsBackground: aFormOrColorOrFillStyle
"Set aForm as a background image."
| thisWorld newFill oldFill |
+ thisWorld := self world.
- thisWorld := self currentWorld.
oldFill := thisWorld fillStyle.
thisWorld fillStyle: aFormOrColorOrFillStyle.
newFill := thisWorld fillStyle.
newFill rememberCommand:
(Command new cmdWording: 'set background to a picture' translated;
undoTarget: thisWorld selector: #fillStyle: argument: oldFill;
redoTarget: thisWorld selector: #fillStyle: argument: newFill).
+ thisWorld setProperty: #hasCustomBackground toValue: true.!
- thisWorld setProperty: #hasCustomBackground toValue: true.
- !
Item was changed:
----- Method: MorphicProject>>setWorldBackground: (in category 'initialize') -----
setWorldBackground: force
((world hasProperty: #hasCustomBackground) and: [force not])
ifTrue: [^ self].
"If the user has a custom background, propagate it into the new project."
((Project current ~~ self and: [Project current isMorphic]) and: [Project current world hasProperty: #hasCustomBackground])
ifTrue: [
+ world fillStyle: Project current world fillStyle copy.
- world fillStyle: Project current world fillStyle.
world setProperty: #hasCustomBackground toValue: true]
ifFalse: [
world removeProperty: #hasCustomBackground.
world fillStyle: (self userInterfaceTheme background ifNil: [self class defaultFill])].!
Item was changed:
----- Method: PasteUpMorph>>setAsBackground: (in category 'visual properties') -----
setAsBackground: aFormOrColorOrFillStyle
+ | project |
+ (self outermostWorldMorph == self and: [(project := self project) isMorphic])
+ ifTrue: [project setAsBackground: aFormOrColorOrFillStyle]
- (self outermostWorldMorph == self and: [Project current isMorphic])
- ifTrue: [Project current setAsBackground: aFormOrColorOrFillStyle]
ifFalse: [self fillStyle: aFormOrColorOrFillStyle].!
Item was changed:
----- Method: SystemWindow>>createBox: (in category 'initialization') -----
createBox: aForm
"create a button with a form to be used in the label area"
| box |
box := SystemWindowButton new.
box color: Color transparent;
target: self;
useSquareCorners;
borderWidth: 0;
+ labelGraphic: aForm scaleIconToDisplay;
- labelGraphic: aForm;
extent: self boxExtent.
^ box!
Item was changed:
----- Method: SystemWindow>>justDroppedInto:event: (in category 'geometry') -----
justDroppedInto: aMorph event: anEvent
isCollapsed
ifTrue: [self position: ((self position max: 0 at 0) grid: 8 at 8).
collapsedFrame := self bounds]
ifFalse: [fullFrame := self bounds].
self beKeyWindow.
self hasDropShadow: Preferences menuAppearance3d. "See #startDragFromLabel:."
aMorph == self world ifTrue: [self assureLabelAreaVisible].
(Project uiManager openToolsAttachedToMouseCursor and: (self hasProperty: #initialDrop))
ifTrue: [
self removeProperty: #initialDrop.
(self submorphs detect: [:m | m isKindOf: BottomRightGripMorph] ifNone: [])
ifNotNil: [:grip |
grip
referencePoint: anEvent position;
setProperty: #targetHadDropShadow toValue: true "See MorphicToolBuilder >> #open:".
+ self
+ hasDropShadow: false;
+ lookFocused.
+ anEvent hand newMouseFocus: grip.]].
- self hasDropShadow: false.
- anEvent hand newMouseFocus: grip]].
^super justDroppedInto: aMorph event: anEvent!
Item was added:
+ ----- Method: TextMorph class>>string:fontName: (in category 'instance creation') -----
+ string: aString fontName: aName
+
+ ^ self
+ string: aString
+ fontName: aName
+ size: TextStyle defaultFont pixelSize!
Item was added:
+ ----- Method: TextMorph class>>string:fontName:size: (in category 'instance creation') -----
+ string: aString fontName: aName size: aSize
+
+ ^ self
+ string: aString
+ fontName: aName
+ size: aSize
+ wrap: false "...because we don't know the initial width to wrap..."
+ !
Item was added:
+ ----- Method: TextMorph class>>string:fontName:size:wrap: (in category 'instance creation') -----
+ string: aString fontName: aName size: aSize wrap: shouldWrap
+
+ ^ self new
+ string: aString fontName: aName size: aSize wrap: shouldWrap;
+ yourself!
Item was added:
+ ----- Method: TextMorph class>>string:size: (in category 'instance creation') -----
+ string: aString size: pixelSize
+
+ ^ self
+ string: aString
+ fontName: TextStyle defaultFont familyName
+ size: pixelSize!
Item was changed:
+ ----- Method: TextMorph>>fontName:pointSize: (in category 'initialization') -----
- ----- Method: TextMorph>>fontName:pointSize: (in category 'accessing') -----
fontName: fontName pointSize: fontSize
| newTextStyle |
newTextStyle := ((TextStyle named: fontName asSymbol) ifNil: [ TextStyle default ]) copy.
newTextStyle ifNil: [self error: 'font ', fontName, ' not found.'].
textStyle := newTextStyle.
text addAttribute: (TextFontChange fontNumber: (newTextStyle fontIndexOfPointSize: fontSize)).
+ self releaseParagraph.!
- paragraph ifNotNil: [paragraph textStyle: newTextStyle]!
Item was changed:
+ ----- Method: TextMorph>>fontName:size: (in category 'initialization') -----
- ----- Method: TextMorph>>fontName:size: (in category 'accessing') -----
fontName: fontName size: fontSize
| newTextStyle |
newTextStyle := ((TextStyle named: fontName asSymbol) ifNil: [ TextStyle default ]) copy.
textStyle := newTextStyle.
text addAttribute: (TextFontChange fontNumber: (newTextStyle fontIndexOfSize: fontSize)).
+ self releaseParagraph.!
- paragraph ifNotNil: [paragraph textStyle: newTextStyle]!
Item was changed:
----- Method: TextMorph>>string:fontName:size:wrap: (in category 'initialization') -----
string: aString fontName: aName size: aSize wrap: shouldWrap
shouldWrap
ifTrue: [self contentsWrapped: aString]
+ ifFalse: [self contentsAsIs: aString].
+
- ifFalse: [self contents: aString].
self fontName: aName size: aSize!
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.squeakfoundation.org/pipermail/squeak-dev/attachments/20190930/baeaa4dc/attachment.html>
More information about the Squeak-dev
mailing list
|