[squeak-dev] The Inbox: Morphic-ct.1677.mcz
Eliot Miranda
eliot.miranda at gmail.com
Sun Aug 23 02:14:16 UTC 2020
Hi Christoph,
I haven't copied this to trunk. not because it looks bad (it doesn't),
but because I'm not qualified. Better someone who knows menus better than I
does the integration.
On Sat, Aug 22, 2020 at 10:35 AM <commits at source.squeak.org> wrote:
> A new version of Morphic was added to project The Inbox:
> http://source.squeak.org/inbox/Morphic-ct.1677.mcz
>
> ==================== Summary ====================
>
> Name: Morphic-ct.1677
> Author: ct
> Time: 22 August 2020, 7:34:52.856555 pm
> UUID: 094ccc97-c3f6-364c-a10d-7418b3482703
> Ancestors: Morphic-mt.1674
>
> Nuke backward compatibility for Squeak 2.x menus. This should really not
> be relevant any longer I think. ;-)
>
> Also minor refactoring to MenuItemMorph >> #invokeWithEvent:.
>
> =============== Diff against Morphic-mt.1674 ===============
>
> Item was changed:
> ----- Method: MenuItemMorph>>invokeWithEvent: (in category 'events')
> -----
> invokeWithEvent: evt
> "Perform the action associated with the given menu item."
>
> - | w |
> self isEnabled ifFalse: [^ self].
> +
> + (owner notNil and: [self isStayUpItem not]) ifTrue: [
> - target class == HandMorph ifTrue: [(self notObsolete) ifFalse: [^
> self]].
> - owner ifNotNil:[self isStayUpItem ifFalse:[
> self flag: #workAround. "The tile system invokes menus
> straightforwardly so the menu might not be in the world."
> + self world ifNotNil: [:world |
> - (w := self world) ifNotNil:[
> owner deleteIfPopUp: evt.
> "Repair damage before invoking the action for
> better feedback"
> + world displayWorldSafely]].
> +
> + selector ifNil: [^ self].
> +
> + Cursor normal showWhile: [
> + "show cursor in case item opens a new MVC window"
> + selector numArgs isZero
> + ifTrue: [target perform: selector]
> + ifFalse: [target perform: selector
> withArguments: (
> + selector numArgs = arguments size
> + ifTrue: [arguments]
> + ifFalse: [arguments
> copyWith: evt] )] ].!
> - w displayWorldSafely]]].
> - selector ifNil:[^self].
> - Cursor normal showWhile: [ | selArgCount | "show cursor in case
> item opens a new MVC window"
> - (selArgCount := selector numArgs) = 0
> - ifTrue:
> - [target perform: selector]
> - ifFalse:
> - [selArgCount = arguments size
> - ifTrue: [target perform: selector
> withArguments: arguments]
> - ifFalse: [target perform: selector
> withArguments: (arguments copyWith: evt)]]].!
>
> Item was removed:
> - ----- Method: MenuItemMorph>>notObsolete (in category 'private') -----
> - notObsolete
> - "Provide backward compatibility with messages being sent to the
> Hand. Remove this when no projects made prior to 2.9 are likely to be
> used. If this method is removed early, the worst that can happen is a
> notifier when invoking an item in an obsolete menu."
> -
> - (HandMorph canUnderstand: (selector)) ifTrue: [^ true]. "a
> modern one"
> -
> - self inform: 'This world menu is obsolete.
> - Please dismiss the menu and open a new one.'.
> - ^ false
> - !
>
>
>
--
_,,,^..^,,,_
best, Eliot
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.squeakfoundation.org/pipermail/squeak-dev/attachments/20200822/51d49c6e/attachment.html>
More information about the Squeak-dev
mailing list
|