Nifty O 'Scamper' Goodie

Stefan Matthias Aust sma at 3plus4.de
Sat Feb 19 12:18:56 UTC 2000


At 21:33 17.02.00 +0000, Bijan Parsia wrote:

> > I had a toddler-style Smalltalk breakthrough today.

I agree with Warren that - if you don't want to use the textual World menu 
"open..." - a graphical (read: easier to use) application launcher would an 
improvement.  There's already quite a few applications which all too well 
hidden.

>I also recall that some folks had a "doit" button goodie (i.e., you could
>embed a bit of workspace code in a button on the desktop). Put the launch
>code in there, and you're done.

Yes, even if you could replace the button's text with some graphics.  Put 
this into the right alignment morph, wrapp it with a scrolling pane (is 
that possible, I think not - Java's swing is better here), drop this into a 
book morph, ignore the ugly view and voilá, the application launcher is 
ready ;-)

Back to the buttons, I'd really like to see something like this in Squeak 
but to be honest I postponed the current implementation for inclusion in 
the update stream because IMHO it doesn't feel right yet and I couldn't 
really come up with the reason why. So please let me think loud here:

Do we really need a workspace?  Perhaps all I want is to click on the 
screen background and a text cursor occurs which allows me to type (or 
paste) something.  If I press enter, the text is transfomed into a 
clickable button.  Experts might want to change whether this button should 
trigger a printit or inspectit.  The default is doit.  As with my other 
long reply, the problem is where to put the result of printit?  OPen a new 
floating window?  Attached to the mouse or not?  Print it to the 
transcript?  What happens if the transcript isn't open?  Whatever, the user 
should be able to replace the textual representation with a picture.   The 
code might be still visible as a bubble help, I don't know.  Perhaps, the 
bubble help should be better customizable as a free text.  Then one need be 
able to open an editor on the button and modify the buttonized expression.

Now, I'd like to read or write variable in these buttons but add 
non-trivial (multi-line) code to it.  Shall all buttons share the 
variables?  How can I inspect, result or manipulate this 
variables?  Actually, these buttons now become instant functions.  I'd like 
go have a way to call this functions without pression the button, let's say 
using a console tool to enter the function's name.  Yes, I want non-methods 
in squeak (implemented as methods of a Function class but nobody 
knows).  The goal is to get the beginner instant-success as in Python when 
you try

def fac(n):
   if n==0: return 1
   else: return n*fac(n-1)

fac(10)

and it works.  Comments?


bye
--
Stefan Matthias Aust  //  ...dancing on the Darkside of the Moon





More information about the Squeak-dev mailing list