[squeak-dev] About customizing Squeak -> custom world menu?
H. Hirzel
hannes.hirzel at gmail.com
Sat Feb 24 17:18:00 UTC 2018
On 2/24/18, Bob Arning <arning315 at comcast.net> wrote:
> Or you could...
>
> World on: #mouseDown send: #putUpSomeOtherMenu: to: World
This would be a better solution since it does involve adding a method
but not changing a method of the base image.
I tested it with adding #buildWorldMenu4: to PasteUpMorph
buildWorldMenu4: evt
|project |
project := self project ifNil: [Project current] "mvc??".
^(TheWorldMenu4 new
world: self
project: project
hand: evt hand) buildWorldMenu.
I executed
World on: #mouseDown send: #putUpSomeOtherMenu: to: World
But the new world menu did not come up.
So far
http://wiki.squeak.org/squeak/1047
is the working solution I found for customizing the red button [1] menu
--Hannes
[1] Red button -- http://wiki.squeak.org/squeak/1904 - usually the
left mouse button.
>
> 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
>>
>
>
More information about the Squeak-dev
mailing list
|