[comp.windows.x] Athena & XUI widgets together

bourkej@ul.ie (02/19/91)

I am forwarding this for a friend ....

 
	I am a new X-Windows users. I am writing an application which
uses the XUI widget set on a VaxStation. I am also trying to use
the Athena widget set in conjunction with XUI. My aim is to create
an Athena List widget as a child of a XUI popup attached dialog box.
Is it possible to do this and how do I specify that I want an Athena
widget as opposed to a XUI widget ?  I am using UIL modules to create
my XUI widgets.

Thanx.

Steve.
<8713782@ul.ie>

taylort@decus.com.au (Trevor Taylor) (02/26/91)

In article <16631.27c0083f@ul.ie>, bourkej@ul.ie writes:
> 	I am a new X-Windows users. I am writing an application which
> uses the XUI widget set on a VaxStation. I am also trying to use
> the Athena widget set in conjunction with XUI. My aim is to create
> an Athena List widget as a child of a XUI popup attached dialog box.
> Is it possible to do this and how do I specify that I want an Athena
> widget as opposed to a XUI widget ?  I am using UIL modules to create
> my XUI widgets.

You can use both XUI and Athena widgets together, but there is
one proviso -- the names of the widget classes conflict. To get
around this problem, compile all the Athena widgets using an
include file which uses #define to redefine all the names, e.g.

#define listClassRec     Xaw_listClassRec
#define listWidgetClass  Xaw_listWidgetClass
etc. for all other widgets

Also, if you are trying to create an object library of
Athena widgets, then you need to change the declarations
as follows:

globaldef {"XAWlistclassrec"} noshare
ListClassRec listClassRec = { ... };

The globaldef is necessary to make sure that the object
modules are picked up from the library. (The PSECT name
inside the quotes need not match the variable name.)
In the public header file, you need to add globalref, e.g.:

globalref WidgetClass listWidgetClass;

BTW, Athena widgets are not supplied by DEC. I assume that
you got them from somewhere else. Getting them working is
fairly easy, but not a job for a novice.

/*--------------------------------------------------------------------*/
/*    Trevor Taylor               E-Mail: TaylorT@decus.com.au        */
/*    P.O. Box 155                        T.Taylor@praxa.com.au       */
/*    Aspley 4034                 Phone:  +(61) 7 369-8100            */
/*    Australia                   Fax:    +(61) 7 369-0722            */
/*--------------------------------------------------------------------*/