[Newbies] How do you find which code runs when you click
on something?
Bert Freudenberg
bert at freudenbergs.de
Thu Jun 28 06:56:12 UTC 2007
What I usually do to find out is selecting a string (like, in an
error message, or shift-click the label of a button or menu item, or
just typing it somewhere) and pressing Ctrl-E. This shows me all
methods that use that string, and if it was sufficiently unique it's
easy to spot which method was involved. From there, it's the usual
senders/implementors image surfing to find out what happens next.
- Bert -
On Jun 28, 2007, at 4:14 , David Mitchell wrote:
> Others gave the general approach and how to easily add code to menus.
>
> I also tear apart menus, like you describe. Here's what I do:
>
> Explore morph and then look at target, selector, and arguments.
> Usually the selector is doMenuItem:with: and the arguments have the
> menu item and a symbol that becomes the message send. Check
> implementors of the symbol.
>
> Also, since most of the UI is "translated" you can find most of the
> messages that build the UI by looking at senders (alt+n) of
> translated.
>
> Ian Oversby wrote:
>
>> Hi,
>>
>> I'm trying to find out which code is run when I click on something
>> in Squeak. I've tried selecting the menu from the middle button
>> and then selecting debug -> explore morph. Is this the best
>> way? Does it work for all morphs? How can I add new menu
>> items which run arbitrary code?
>>
>> Thanks,
>>
>> Ian
More information about the Beginners
mailing list