[comp.sys.amiga.tech] Intuition Interface Builders ?

sheffler@colt.CS.CMU.EDU (Thomas Sheffler) (06/15/90)

Are there any good ways to build robust interfaces?  I've examined the
sources to many different PD programs and have seen no good examples.
By its very nature, C is not a great language for encapsulation or
data hiding, and it seems that most interfaces are built from tons of
initialized data structures with ampersands linking them together.
Then, the messages sent for each gadget are handled individually
with lots of special cases.

Some of the tools I've come across for building interfaces are:
	PowerWindows 	- I've only heard about
	Req		- a requester builder (PD)
	CanDo		- I don't know much about, but it seems that
			it's like a hypercard application builder.

I'm aware of the fact that 2.0 has the new 'gadgets.library', but I
believe that this will only shortcut the use of most common types of
gadgets, while not really opening up the possibility of easy design
and management of new gadgets.

It seems that some sort of object-oriented language for describing
gadgets and interfaces would be in order.  Such a beast would take care
of complicated update procedures (inter-related gadgets) and
allow the program writer to concentrate on issues other than
processing INTUI-MESSAGES.  This might involve a separation of the
program into two parts: the interface handler, and the guts of what
the application is doing.  Other window systems are moving in this
direction - so this is not that far-fetched.

Any ideas/comments?

	-Tom

test@sparc1 (06/16/90)

     I've just gotten started using CANDO.  It's a very slick hypermedia
program designed for the Amiga (what-- not ported from Messy-DOS?) that appears
to do the vast majority of what Hypercard does, with a lot of extra features,
like variably-sized windows, and the stacks that you create can be compiled
into a freely-distributable program (although some stacks may make use of a
library that comes with CANDO; if you use this library, you have to make
arrangements with INOVAtronics).  It's not as versatile as a programming
language, obviously, but it has a well-designed scripting language, and
scripts can be created that are carried out under specific situations:
when a card is first put on the screen, after the card is on the screen,
when the card is removed, when the mouse is clicked on a button, when the
mouse button is released while on a card's button... and lots more besides.
The company has a (non-toll-free) support line; when I've called, my questions
were answered by the person who answered the phone-- I've never had THAT
experience before!  All in all, it's a great program for less than $100
(mail order price, that is), if you don't need absolute control over every
aspect of what's on the screen-- the shape of the gadgets, etc.  

Dave Witzany
witzany@sparc1.isgs.uiuc.edu