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


_______________________________________________
Beginners mailing list
Beginners@lists.squeakfoundation.org
http://lists.squeakfoundation.org/mailman/listinfo/beginners

Reply via email to