Well, intentions are hard to figure sometimes. Whose intentions? When?

Of course, if you follow things back a step, you might uncover

Preferences personalizedWorldMenu

and see if that satisfies requirements.


On 2/24/18 9:05 AM, H. Hirzel wrote:
Yes, implementation is easy but my question is how it should be done
in a way that conforms to the intention of the framework code.  A
"recommended good solution".

What about using a project preference?

It needs the method PasteUpMorph buildWorldMenu: evt from May 2000

    buildWorldMenu: evt
	^(TheWorldMenu new
		world: self
		project: (self project ifNil: [Project current])       "mvc??"
		hand: evt hand) buildWorldMenu.


to be replaced with


        buildWorldMenu: evt
        |project worldMenuClassSymbol|

        project := self project ifNil: [Project current]  "mvc??".

        worldMenuClassSymbol := project
projectPreferenceFlagDictionary at:
#worldMenuClassSymbol ifAbsent: [#TheWorldMenu].

    ^((Smalltalk at:  worldMenuClassSymbol) new
		world: self
		project: project
		hand: evt hand) buildWorldMenu.


Detailed description:     http://wiki.squeak.org/squeak/1047