<body><div id="__MailbirdStyleContent" style="font-size: 12pt;font-family: calibri;color: #000000">
There seem to be some issues with these changes:<div><br></div><div><span style="font-family: tahoma, verdana;font-size: 13px;line-height: 19.5px">... self world ifNil: [self world] ...</span></div><div><span style="font-family: tahoma, verdana;font-size: 13px;line-height: 19.5px">... </span><span style="font-family: tahoma, verdana;font-size: 13px;line-height: 19.5px">PluggableButtonMorph class>>roundedButtonCorners: ... </span><span style="font-family: tahoma, verdana;font-size: 13px;line-height: 19.5px">self world ...</span></div><div><span style="font-family: tahoma, verdana;font-size: 13px;line-height: 19.5px"><br></span></div><div><span style="font-family: tahoma, verdana;font-size: 13px;line-height: 19.5px">Best,</span></div><div><span style="font-family: tahoma, verdana;font-size: 13px;line-height: 19.5px">Marcel</span></div><div class="mb_sig"></div><blockquote class="history_container" type="cite" style="border-left-style:solid;border-width:1px; margin-top:20px; margin-left:0px;padding-left:10px;">
<p style="color: #AAAAAA; margin-top: 10px;">Am 15.11.2017 04:38:04 schrieb commits@source.squeak.org <commits@source.squeak.org>:</p>David T. Lewis uploaded a new version of Morphic to project The Trunk:<br>http://source.squeak.org/trunk/Morphic-dtl.1363.mcz<br><br>==================== Summary ====================<br><br>Name: Morphic-dtl.1363<br>Author: dtl<br>Time: 14 November 2017, 10:37:09.320992 pm<br>UUID: 7f7d0c07-f3aa-4caf-b01a-84dd44f4d893<br>Ancestors: Morphic-dtl.1362<br><br>Remove unnecessary references to global World.<br><br>=============== Diff against Morphic-dtl.1362 ===============<br><br>Item was changed:<br> ----- Method: Morph>>delete (in category 'submorphs-add/remove') -----<br> delete<br> "Remove the receiver as a submorph of its owner and make its <br> new owner be nil."<br> <br> | aWorld |<br> self removeHalo.<br> <br> self isInWorld ifTrue: [<br> self disableSubmorphFocusForHand: self activeHand.<br> self activeHand<br> releaseKeyboardFocus: self;<br> releaseMouseFocus: self].<br> <br> "Preserve world reference for player notificaiton. See below."<br>+ aWorld := self world ifNil: [self world].<br>- aWorld := self world ifNil: [World].<br> <br> owner ifNotNil:[<br> self privateDelete.<br> self player ifNotNil: [:player |<br> player noteDeletionOf: self fromWorld: aWorld]].!<br><br>Item was changed:<br> ----- Method: Morph>>openNear: (in category 'initialization') -----<br> openNear: aRectangle <br> self<br> openNear: aRectangle<br>+ in: self world!<br>- in: World!<br><br>Item was changed:<br> ----- Method: Morph>>openNearMorph: (in category 'initialization') -----<br> openNearMorph: aMorph <br> self<br> openNear: aMorph boundsInWorld<br>+ in: (aMorph world ifNil: [ self world ])!<br>- in: (aMorph world ifNil: [ World ])!<br><br>Item was changed:<br> ----- Method: Morph>>outermostWorldMorph (in category 'structure') -----<br> outermostWorldMorph<br> <br> | outer |<br>+ self world ifNotNil: [ :world |^world].<br>- World ifNotNil:[^World].<br> self flag: #arNote. "stuff below is really only for MVC"<br> outer := self outermostMorphThat: [ :x | x isWorldMorph].<br> outer ifNotNil: [^outer].<br> self isWorldMorph ifTrue: [^self].<br> ^nil!<br><br>Item was changed:<br> ----- Method: Morph>>preferredKeyboardBounds (in category 'event handling') -----<br> preferredKeyboardBounds<br> <br>+ ^ self bounds: self bounds in: self world.<br>- ^ self bounds: self bounds in: World.<br> !<br><br>Item was changed:<br> ----- Method: Morph>>preferredKeyboardPosition (in category 'event handling') -----<br> preferredKeyboardPosition<br> <br>+ ^ (self bounds: self bounds in: self world) topLeft.<br>- ^ (self bounds: self bounds in: World) topLeft.<br> !<br><br>Item was changed:<br> ----- Method: PluggableButtonMorph class>>roundedButtonCorners: (in category 'preferences') -----<br> roundedButtonCorners: aBoolean<br> <br> RoundedButtonCorners := aBoolean.<br>+ World invalidRect: self world bounds from: self world.!<br>- World invalidRect: World bounds from: World.!<br><br>Item was changed:<br> ----- Method: PluggableListMorph>>canBeEncroached (in category 'testing') -----<br> canBeEncroached<br> "Answer whether my bottom edge can be encroached by horizontal smart-splitter. If my list is larger than my outermost containing window, go ahead and report true since moving a splitter will never allow my entire list to be displayed. In that case go ahead and be encroachable to allow lower truncated text-panes to be exposed, but leave a reasonable height (70) to ensure at least few items are displayed."<br> ^ self height > 24 and:<br> [ | outermostContainer |<br> outermostContainer := self outermostMorphThat:<br>+ [ : e | e owner = self world ].<br>- [ : e | e owner = World ].<br> listMorph height + 8 < self="" height=""><br> [ outermostContainer notNil and: [ listMorph height > (outermostContainer height / 1.2) and: [ self height > 70 ] ] ] ]!<br><br>Item was changed:<br> ----- Method: SearchBar>>layoutScratchPad (in category 'private') -----<br> layoutScratchPad<br>+ | world pos width |<br>+ world := Project current world.<br>+ world mainDockingBars do:<br>- | pos width |<br>- World mainDockingBars do:<br> [ : each | each searchBarMorph ifNotNil:<br> [ : searchBar | pos := searchBar bottomLeft.<br> width := searchBar width ] ].<br>+ width ifNil: [ width := 250. pos := world topRight - (width @ 5) ].<br>- width ifNil: [ width := 250. pos := World topRight - (width @ 5) ].<br> scratchPad<br> width: width ;<br> position: pos ;<br> startStepping: #deleteUnlessHasFocus at: Time millisecondClockValue arguments: nil stepTime: 3000!<br><br>Item was changed:<br> ----- Method: SimpleHierarchicalListMorph class>>submorphsExample (in category 'examples') -----<br> submorphsExample<br>+ "display a hierarchical list of the current world plus its submorphs plus its submorphs' submorphs etc."<br>+ "SimpleHierarchicalListMorph submorphsExample"<br>- "display a hierarchical list of the World plus its submorphs plus its submorphs' submorphs etc."<br>- "[SimpleHierarchicalListMorph submorphsExample]"<br> | morph |<br> morph :=<br> SimpleHierarchicalListMorph<br>+ on: [ Array with: (MorphWithSubmorphsWrapper with: Project current world) ]<br>- on: [ Array with: (MorphWithSubmorphsWrapper with: World) ]<br> list: #value<br> selected: nil<br> changeSelected: nil<br> menu: nil<br> keystroke: nil.<br> <br> morph openInWindow!<br><br>Item was changed:<br> ----- Method: SystemWindow class>>bringWindowUnderHandToFront (in category 'top window') -----<br> bringWindowUnderHandToFront<br> "This only works when All Windows Active is enabled."<br>+ (self windowsIn: Project current world) do: [ : each | each isLookingFocused ifTrue: [ ^ each beKeyWindow ]]!<br>- (self windowsIn: World) do: [ : each | each isLookingFocused ifTrue: [ ^ each beKeyWindow ]]!<br><br>Item was changed:<br> ----- Method: SystemWindow>>anyOpenWindowLikeMe (in category 'open/close') -----<br> anyOpenWindowLikeMe<br> <br> self class reuseWindows ifFalse: [ ^Array empty ].<br> ^ SystemWindow<br>+ windowsIn: self world <br>- windowsIn: World <br> satisfying: <br> [ : each |<br> each model class = self model class<br> and: [ (each model respondsTo: #representsSameBrowseeAs:) <br> and: [ each model representsSameBrowseeAs: self model ] ] ]<br> !<br><br>Item was changed:<br> ----- Method: TextMorph>>preferredKeyboardPosition (in category 'editing') -----<br> preferredKeyboardPosition<br> | default rects |<br>+ default := (self bounds: self bounds in: self world) topLeft.<br>- default := (self bounds: self bounds in: World) topLeft.<br> paragraph<br> ifNil: [^ default].<br> rects := paragraph selectionRects.<br> rects size = 0<br> ifTrue: [^ default].<br> ^ rects first bottomLeft!<br><br>Item was changed:<br> ----- Method: TheWorldMainDockingBar>>allVisibleWindows (in category 'submenu - windows') -----<br> allVisibleWindows<br>+ ^SystemWindow windowsIn: Project current world satisfying: [ :w | w visible ]!<br>- ^SystemWindow windowsIn: World satisfying: [ :w | w visible ]!<br><br>Item was changed:<br> ----- Method: TheWorldMainDockingBar>>loadProject (in category 'menu actions') -----<br> loadProject<br> <br>+ Project current world worldMenu loadProject!<br>- World worldMenu loadProject!<br><br>Item was changed:<br> ----- Method: TheWorldMainDockingBar>>previousProjectMenuItemOn: (in category 'submenu - projects') -----<br> previousProjectMenuItemOn: menu<br> <br> menu addItem: [ :item |<br> item<br> contents: 'Previous Project' translated;<br> help: 'Return to the most-recently-visited project' translated;<br>+ target: Project current world;<br>- target: World;<br> selector: #goBack ]!<br><br>Item was changed:<br> ----- Method: TheWorldMainDockingBar>>quitSqueak (in category 'menu actions') -----<br> quitSqueak<br> <br> ^Smalltalk<br> snapshot: (<br> UserDialogBoxMorph <br> confirm: 'Save changes before quitting?' translated <br> orCancel: [ ^self ]<br>+ at: Project current world center)<br>- at: World center)<br> andQuit: true<br> <br> !<br><br>Item was changed:<br> ----- Method: TheWorldMainDockingBar>>saveProjectMenuItemOn: (in category 'submenu - projects') -----<br> saveProjectMenuItemOn: menu<br> <br> menu addItem: [ :item |<br> item<br> contents: 'Save Project' translated;<br> help: 'Save this project on a file' translated;<br>+ target: Project current world;<br>- target: World;<br> selector: #saveOnFile ]!<br><br>Item was changed:<br> ----- Method: TheWorldMenu>>quitSession (in category 'commands') -----<br> quitSession<br> <br> Smalltalk<br> snapshot: (UserDialogBoxMorph <br> confirm: 'Save changes before quitting?' translated <br> orCancel: [^ self]<br>+ at: Project current world center)<br>- at: World center)<br> andQuit: true!<br><br>Item was changed:<br> ----- Method: ThumbnailImageMorph>>mouseDown: (in category 'event handling') -----<br> mouseDown: evt<br> <br> <br> imagePopupMorph center: (self localPointToGlobal: evt position).<br>+ imagePopupMorph bounds: (imagePopupMorph bounds translatedAndSquishedToBeWithin: self world bounds).<br>- imagePopupMorph bounds: (imagePopupMorph bounds translatedAndSquishedToBeWithin: World bounds).<br> imagePopupMorph openInWorld<br> !<br><br><br>
</blockquote>
</div></body>