Morph browser discussion

Norton, Chris chrisn at Kronos.com
Tue Nov 23 16:13:03 UTC 1999


Hi Folks!

~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Doug Way wrote:
E.g. it would be nice to be able to explore a prototypical (or real)
instance of a class while simultaneously viewing its methods, etc.  (But in
a manageable way!)

[And Stefan Rieken added:]
Object: aSpecialMorph

Methods:

-> from class Object:
-> from class Morph:
-> from class SpecialMorph:

Variables:

-> from class Object:
-> from class Morph:
-> from class SpecialMorph:

....where -> stands for a new treeview list item. Would be quite manageable,
I think, and would show the class relationship too, without ignoring that it
is an object in the first place, and not a class.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Now you're cooking!  I have wanted a way to quickly view method definitions
and object variables (instance, class instance and class) from something
like the ObjectExplorer (or from the Browser) for a long while.  Right now,
the only way to get a list of the complete protocol for a class is to spawn
the protocol browser, which is really not very user friendly.  How about
adding a submenu to each object under exploration that has class related
information about that object?  The name of the submenu would be the
object's class name.  Under the class submenu, you would find a class
instance variables submenu, a class variables submenu, and a protocol
submenu.  Under the protocol submenu you would find instance protocol and
class protocol.  In each protocol submenu, you would find an alphabetically
arranged list of all of the methods that this object can understand.  Next
to each method name, in parenthesis, would be the name of the class that
implements the method.  Thus, the following (partial) tree of instance
methods would be available for Morph:

V Morph class
    V instance methods
        > ->  (Object)
        > =  (Object)
        > == (Object)
        > abandon (Morph)
        > actAsExecutor (Object)
.... etc.
    > class methods

Using an expandable view into the selected object, the developer can quickly
see what methods may be called on the object (very handy!).  Opening the
method submenu could offer a number of things like: senders, implementers,
spawn a browser on this method, etc.

Of course, the user should also be able to see the complete protocol in
terms of the method categories that own the methods as well.  But that would
require a bit of thinking & I've got to get back to work!

[in the spirit of Bob] Cheers!

---==> Chris





More information about the Squeak-dev mailing list