On Tue, Jun 26, 2007 at 09:47:29PM +0100, 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?
I tried exploring the morph, and also browsing the class protocol (select the object in the inspector/explorer, and press cmd-p). I limited the inheritance chain to StringMorph, and examined the "event handlers" method category. I looked at the mouseUp handler (mouse up is the usual place where actions are invoked), and the last line looked promising: "self invokeWithEvent: t1". I highlighted that and pressed cmd-m to jump to that method. The last few lines looked like the real work. So I put a "self halt." right above the Cursor normal showWhile: [...] block and saved (cmd-s). Now, whenever I hit a menu item, I get a debugger ready to execute the menu command. Whenever you are done, hit any menu item, remove the "self halt." in the debugger window, save, and proceed. Hope that helps. -- Matthew Fulmer -- http://mtfulmer.wordpress.com/ Help improve Squeak Documentation: http://wiki.squeak.org/squeak/808 _______________________________________________ Beginners mailing list Beginners@lists.squeakfoundation.org http://lists.squeakfoundation.org/mailman/listinfo/beginners