[squeak-dev] Re: The Inbox: Tools-mt.536.mcz

Chris Muller asqueaker at gmail.com
Mon Mar 2 02:47:54 UTC 2015


Neat.

> For such a tool to be more effective, we need to provide more drag
> operations in other tools such as:
>
> - Object Explorer
> - Senders/Implementors Browser
> - Versions Browser

You know with this drag-and-drop you could be on to something which
has been been itching me for a long time.  A Behavior Browser.
Imagine a normal HierarchyBrowser window but dedicated to a particular
*object* of that class -- so that when you select a method, in the
upper-right corner of the code-pane is a little button which will run
that method.  Clicking that button runs the method and displays a
little "result-icon" (maybe just the letter "R") next to the button.
The "R" (result-icon) encapsulates the return-value from running the
method and provides a context menu to inspect, explore or open into
its _own_ behavior browser.  The printString could also be displayed
in the code pane (temporarily until another method is selected).

Finally, when a keyword message is selected in the behavior browser,
Drop-Targets representing the arguments are provided.  The button to
run the method cannot be clicked until the user has dragged from the
"R" result-icons (e.g., from other browsers) into those *input*
Drop-Targets of that keyword message.

I feel this is the browser that is "missing" from Smalltalk-80 since
the beginning..

> If you want to get rid of the button bars and annotation panes, just disable
> them in the preferences. Due to code reuse, those are the same as for
> regular browsers.
>
> Do we want such a tool in the trunk?

Looks neat, very possibly.  So, the power this brings the user is the
ability to bring together any heterogeneous collection of objects,
methods, Morphs(?), into a Object Collection Tool (OCT) window.  I
assume it does not save and load into other images so this is meant as
a temporary "working organization" of objects and behaviors is that
right?

For example, I might want to open a OCT window, drag some objects and
related methods into it, and then be able to make some code changes to
the methods while observing the inspected results right there in the
same OCT.  Is this how it should be used or another way?

Thanks.

PS -- when I dragged a variable from an inspector I'm getting a Morph
instead of the object.

PPS -- What do you think of the Behavior Browser idea?


More information about the Squeak-dev mailing list