Transparent Window labels &New Squeak UI Style

Stefan Matthias Aust sma at kiel.netsurf.de
Tue Jan 12 00:05:58 UTC 1999


>What do you think about different windows styles within squeak (like
>in VisualWorks or Java's Swing) including a special Squeak UI Look 
>considering the display depth?

I really like that idea and thought about it myself already, however I
wouldn't try to hack this into one of the existing UI frameworks but create
a new one. Sounds silly at the moment, but here're my reasons:

1/ MVC should be kept to assure compatibiliy for all who don't care.
2/ MVC is IMHO too complex and bloaded with dubious methods to decide
   where to add a pluggable look and still kep compatibility.
3/ MVC has major design flaws. In no specific order:  Dynamic resing is 
   too limited: layout managers as in Dolphin or Java or VA or Motif or
   OpenView or NextStep are much better.  The widget don't support 
   keyboard natigation: no keyboard focus, no nativation.  Not event
   driven: difficult to add scripting.  Widget set too small.
4/ Morphic changes too fast.  It's a playfield of active development
   is still evolving. Again protocols are bloaded with undocumented
   methods.  It might be possible to create a a side version tree,
   starting from some cleaned up code as both other flaws of MVC are
   fixed.
5/ Morphic isn't fast enough and needs too much space on small systems
   like palmtops etc.
6/ Creating a UI framework is fun :-)

I think, one can learn a lot of from both VisualWork's chamelion view and
Swing.  Swing can be used to learn how to create a well documented
interface between widget and facade. Other things can be learned from VW.

The goal should be to create a very small and minimal framework. Not much
larger than the old MVC.  I already started to implement one, but as time
is very limited and there's so many other things to try, I never got
something really working.

I tried to create a framework from scratch, however using something I'd
call the essence of Morphic (which is basically everything I recognize from
the Self 4.0 paper and with all methods deleted I don't know or understand
their purpose ;-) it might be possible, too.  This would already provide
some double buffering canvas and simple morphs which get the usual events.
The Morph #drawOn: method would delegate the real work to facade objects.
A framework for layouting using pluggable manager and for replacing facades
had to be added of course.


bye
--
Stefan Matthias Aust  //  Are you ready to discover the twilight zone?





More information about the Squeak-dev mailing list