[comp.windows.x] DIRT User Interface Management System and C++ Widgets

farmer@titan.tsd.arlut.utexas.edu (Gary Farmer) (12/15/90)

I am studying the Widget Creation Library, which allows the developer to save 
the interface specification in a resource file.  The basic philosophy is:  

1.  separate the user interface from the application

2.  read the user interface specification from a resource file, avoiding 
    recompilation.  

The Design in Real Time (DIRT) User Interface Management System takes advantage 
of this philosophy.  DIRT currently contains the Athena and UKC widget sets and 
is extensible to contain other widget sets.  However, I do not know if it is 
extensible to C++ widgets.  

1.  Is DIRT widget set extensible to C++ widgets?  

2.  Is DIRT widget set extensible to InterViews interactors?  

3.  Are there any known drop-and-drag User Interface Builders or Management 
    Systems that use C++ widgets?  

4.  Does anyone know the differences between the Solbourne and University of 
    Lowell C++ wrappers for Motif widgets?  

I have been trying to get on the dirt-user mailing list, but my requests have 
not gotten through.  Is the correct name dirt-user, dirt-users, dirt.users, or 
something else?  

Thank you in advance,

Gary Farmer
farmer@titan.tsd.arlut.utexas.edu

rlh2@ukc.ac.uk (R.L.Hesketh) (12/15/90)

In article <FARMER.90Dec14133152@titan.titan.tsd.arlut.utexas.edu> farmer@titan.tsd.arlut.utexas.edu (Gary Farmer) writes:

>The Design in Real Time (DIRT) User Interface Management System
>takes advantage 
>of this philosophy.  DIRT currently contains the Athena and UKC widget sets
>and 
>is extensible to contain other widget sets.  However, I do not know if it is 
>extensible to C++ widgets.  

I don't claim Dirt is a UIMS .. its a UI Builder and no where near full UIMS
status 8-).   However you are correct in saying that it can (and is) being
extended to include other widget classes .. most notably at the moment the Motif
and OpenLook widget sets.  The 2-D HP widget set is already supported, you
just need to define HP_WIDGETS at compile time.

>1.  Is DIRT widget set extensible to C++ widgets?  

I really doubt it.  What do you really mean by C++ widgets anyway?  C++
wrappers to Xt Intrinsic widgets or user interface objects that are written
in C++ manipulated by routines in a base class?

>2.  Is DIRT widget set extensible to InterViews interactors?  

Dirt works only with the Xt Toolkit Intrinsics at the moment.  The ideas used
in Dirt are, I believe, usable by any object-oriented (not merely object based)
user interface toolkit.  It really requires only the following things to be
supported by the O-O toolkit:

1)   Runtime generic creation/deletion of objects.  One (or a known limited
     number) routine can be called with the class of object required and it
     creates an instance of that class.  Xt has two; one for normal
     widgets/objects and one for shells .. although the one for shells is a
     thin layer on top of the general XtCreateWidget() call.

2)   Runtime generic attribute retrieval and setting.  Basically the
     SetValues/GetValues interface of the Xt Intrinsics.   Any attribute
     which can be set or examined should be accessable by one standard
     interface.

3)   Attribute type conversion facilities.  All attributes/resources saved by
     Dirt are in a string format used in resource databases.  A general
     conversion facility (XtConvertAndStore()) is required to allow
     conversion between types .. with the appropriate converters.
     Dirt adds a whole set of converters to convert from a type back into a
     String to allowing saving of resource settings.

These three functions allow any widget class written for the Xt Intrinsics to
be incorporated into Dirt, normally without any additions to Dirt's user
interface.  The rest of Dirt just presents a direct-manipulation interface 
or the editing of resources/attributes.

Producing an InterViews version of Dirt should be possible if InterViews
supports the above 3 functions.  I haven't looked deeply enough at InterViews
to see if its architecture allows this .. however ...

>3.  Are there any known drop-and-drag User Interface Builders or Management 
>    Systems that use C++ widgets?  

I believe there may be something for InterViews that was created using an
"editor-editor" called Unidraw developed by John Vlissides at Stanford.  There
are papers describing both Unidraw and Solbourne's OI Toolkit in the
Proceedings of the 4th Annual X Technical Conference (1990).

>4.  Does anyone know the differences between the Solbourne and University of 
>    Lowell C++ wrappers for Motif widgets?  

If you are talking about Solbourne's OI Toolkit then it is completely
different to Lowell's wrappers.  From what I have read, the OI Toolkit is a
complete C++ implementation of both Motif and OpenLook GUI styles choosable
at runtime no less.

>I have been trying to get on the dirt-user mailing list, but my requests have 
>not gotten through.  Is the correct name dirt-user, dirt-users, dirt.users, or 
>something else?  

To get on, the name is "dirt-users-request@ukc.ac.uk".  You have got through
to me but I have been unable to reply to you because of mailer problems and
my mail guru is in Columbia for Christmas (don't ask!).  I'll try to get back
to you in the New Year.

Richard Hesketh
Computing Officer, Computing Lab., University of Kent at Canterbury,
Canterbury, Kent, CT2 7NF, United Kingdom.
        Tel: +44 227 764000 ext 7620/7590      Fax: +44 227 762811