How to find methods used in a menu
Last updated at 10:40 am UTC on 7 August 2017
(Moved from Adding fonts)
On the theory that teaching a person to fish is better than giving someone a fish, I'll answer the question again, but in a different way, for the benefit of other newbies like myself who are wondering how to find undocumented information given the dearth of Squeak documentation. Don't be scared about messing with the system in this way – the ability to do this is one of the key FEATURES of Squeak. And don't be intimidated – if a mere lawyer such as myself can do this much damage, imagine what you high-end technical types can do!
Anyway, here's how I found the aforementioned "answer-in-part":
Messing around with the system, It occurred to me that the menu generated by Command-shift-6 might in the browser text fields might lead me to the code in which I was interested. So I noted the string "Link to comment," in that menu and did a search for method strings including that text (select the string, then press Command-Shift-E).
This brought me to the method 'changeEmphais' in ParagraphEditor.
Asking who called changeEmphasis (Command-Shift-N) brought me to the method initializeCmdKeyShortCuts and initializeShiftCmdKeyShortCuts of class ParagraphEditor class.
These procedures gave me a roadmap for the code I needed to find, and ultimately studying methods changeEmphasis and changeStyle, and a wee bit of experimentation taught me what I related above.
For the near term, at least, that is what newbies need to do to find information. However, Squeak (and the Smalltalk-80 system from which it derives) is an enormous system, and to their credit, the guys who built it and the community have already done a banner job documenting so much as they have. The Old Smalltalk books are VERY helpful to fill in the gaps, and I recommend them to anyone seriously interested in the system. In the meanwhile, we have to wait for folks with some time on their hands to document things. And while we do, browsing around as I did above is not only a decent way to learn what isn't yet documented, but also a great way to learn how to code in and use Smalltalk.