> > Yes that is a screenshot. MessageTrace is just a subclass of the > classic MessageSet which, when the user highlights a chunk of code in > the bottom pane and presses i(m)plementors, rather than opening a new > window or pane, the implementors are listed in the top-half of the > same browser, indented below the currently selected message. > > Likewise, when the user selects (s)enders on a message in the upper > pane, it outdents those senders above the selected message. Multiple > paths of flow can be built. > > Since it does not do type-inference, heavily overloaded selectors will > cause many extra senders/implementors to be put into the browser -- so > to handle this the UI merely allows the user to easily trim unwanted > messages with a couple of simple gestures (swipe select + Command-d). > > The result is a single window that encapsulates the method flow of a > single piece of functionality (e.g., a "Trace") that the user can > comprehend because of the way it is presented. > > Try it out in Squeak is the best way to appreciate it. The code for > it is not complicated I'm sure it could be adapted into Pharo..
Thanks for the explanation. I will try it in squeak because when I thought about that browser I was concerned with the senders/multiple implementors display. Stef
