[Search for users] [Overall Top Noters] [List of all Conferences] [Download this site]

Conference bulova::decw_jan-89_to_nov-90

Title:DECWINDOWS 26-JAN-89 to 29-NOV-90
Notice:See 1639.0 for VMS V5.3 kit; 2043.0 for 5.4 IFT kit
Moderator:STAR::VATNE
Created:Mon Oct 30 1989
Last Modified:Mon Dec 31 1990
Last Successful Update:Fri Jun 06 1997
Number of topics:3726
Total number of notes:19516

2163.0. "VMS Upgrade BUG in USER DEFINED WIDGET" by FREZEN::PROJECTS () Mon Jan 29 1990 17:00

	I just upgraded from VMS 5.2 to 5.3

	My application is now crashing when my user defined widget tries to do
	some calculations after initialization.

	I've so far proved that Initialize is being called prior to the binding
	of user configured UIL attributes to the user defined widget.

	This wasn't the case on the previous version of VMS.

	Does anyone know why this is like this now or if the calling sequence
	in Decwindows has changed at all?


	The code was originally written in Decwindows 1.0 and now we have the
	latest.


	Much Appreciated
T.RTitleUserPersonal
Name
DateLines
2163.1DECWIN::KLEINTue Jan 30 1990 14:2223
>>	I've so far proved that Initialize is being called prior to the binding
>>	of user configured UIL attributes to the user defined widget.

I suspect that DRM has changed and is calling XtSetValues to set some resources
that previously were supplied on the Create.

It is, in general, allowed for the widget creation layer (application or DRM)
to gradually build up the widget's resources.  It is only a requirement that
all necessary resources have been set by the time that they are needed 
by a Special Routine or by the Realize proc.  Similarly, all
Special Routines need to be able to deal with being called before the
widget has been realized, as you are probably well aware.  But it is
all part of the same story.

So, I would say that the widget is probably at fault in this case because
it cannot tolerate an incomplete resource list at the create time.  It
should defer the calculations until all the required resources have
been supplied, or, better still, until the result of the calculation
is actually needed.

Which resource(s) are you finding to be deferred to XtSetValues in V2?

-steve-
2163.2VMS Upgrade BUG in USER DEFINED WIDGETFREZEN::PROJECTSTue Jan 30 1990 14:3729
  Thanx for the reply...



  > Which resource(s) are you finding to be deferred to XtSetValues in V2?

   	Resources that I have defined myself that are user configurable
	and widget specific (for the user_defined widget) and they are
	set in the UIL file created by other modules that have chosen to
	utilize this user_defined widget.

  > It should defer the calculations until all the required resources have
  > been supplied, or, better still, until the result of the calculation
  > is actually needed.

  	When are the UIL resources suppose to be assigned to the subclass
	structure... before the widgets Initialize routine or after?

	From what I see it is after the Initialize and I'm curious if they
	intended it to be like this. The release notes for V5.3 don't
	indicate any changes for this.

	I can make a work around for now... It just better sense to me that
	user provided configurations for a widget should be available at
	Initialize time so that special functions can be performed such as
	scaling.

	...Ken
2163.3VMS Upgrade BUG in USER DEFINED WIDGETFREZEN::PROJECTSTue Jan 30 1990 14:4328
        A further note...


        None of my UIL files are compiling either... I'm getting this stuff
        throughout my whole UIL setup.



                        separator = gadget;
                        *
%UIL-E-SYNTAX, unexpected NAME token seen - parsing resumes after ";"
                 line: 18  file:
USER:[000000]ICE_UI.UIL;2

                S_MAIN_WINDOW : dialog_box {
                                *
%UIL-E-SYNTAX, unexpected NAME token seen - parsing resumes after ";"
                 line: 143  file:
USER:[000000]ICE_UI.UIL;2

[End of file]





  
2163.4Depends on the "type"DECWIN::KLEINTue Jan 30 1990 15:4615
>>  	When are the UIL resources suppose to be assigned to the subclass
>>	structure... before the widgets Initialize routine or after?

It depends on the "type" of the resource.  If it is type "widget", then
DRM may use XtSetValues to set the resource.  This is necessary
to avoid forward references to widgets that haven't been created yet.
It is possible that other resources are also deferred.

What are the "types" of the resources that you are having trouble with?

Given that you can't even compile the UIL file, I think that that is
the first problem you should deal with.  Any clues on that one?
Wanna just post the UIL here and we'll have a go at it?

-steve-
2163.5my experience hereCALL::SWEENEYPatrick Sweeney in New YorkTue Jan 30 1990 19:0715
    I have a user-defined widget with a user-defined resource.  This is
    what I observe in V2 and I have no comparison with V1.  This is also
    VMS:
    
    My widget creation procedure is called with an argcount of 2, width and
    height, of the parent (which is a shell).  Other arguments are defined
    in UIL and in the resource defaults file but are not in the list passed
    to the create procedure.
    
    By the time my realize procedure is called all arguments (core and
    those specific to the widget class) are correctly set.  The resources
    are "int" and "widget" in my case.
    
    Reinforcing the previous reply: widgets should be robust enough to be
    created without the specification of any arguments.
2163.6VMS Upgrade BUG in USER DEFINED WIDGETFREZEN::PROJECTSThu Feb 01 1990 09:1022

	Sorry it took 2 days to respond... I've been busy.

	Ignore my further note on the UIL compilation. Someone just installed
	a new pointer to MOTIF UIL compiler and blew me away from DEC'S UIL
	compiler.... it's all set now.

	Back to the initial problem... I am certain that there is a difference
	between the VMS 5.1 with DECwindows 1.0 and VMS 5.3 with DECwindows 2.0
	in respect to "WHEN" defined resources for a user defined widget are
	assigned the appropriate values, to the subclasses core struct, that 
	the user supplies thru the UIL file.

	With the VMS 5.1 configuration they are assigned before the widgets
	initialize routine where as in the new configuration they are 
	assigned after the widgets Initialize routine.

	I was hoping to find out more on this so I could implement my code
	to be fool proof from version to version.

	Any help much obliged
2163.7Did you not hear or do you not like the answer?DECWIN::KLEINThu Feb 01 1990 10:1516
>>	I was hoping to find out more on this so I could implement my code
>>	to be fool proof from version to version.

I feel like I'm talking into a black hole.  Have you read the previous
responses to your note?  They suggest the approach you should take, which
is to allow your widget to tolerate incomplete resource lists until
the time it is realized.  Prior to realization, the widget must maintain
a logical state, but not a physical one.  This means that anything having
to do with the window itself, like its size, colors, etc, must be
hands-off until the widget is realized.

I asked about the types of resources that you are having trouble with.
You keep saying there is a problem but you don't give any more information.
Please post the UIL if you want more help.
 
-steve-
2163.8VMS Upgrade BUG in USER DEFINED WIDGETFREZEN::PROJECTSMon Feb 05 1990 10:549
	I guess all I'm interested in is what has changed in DECwindows
	and why it has changed if it were intentional.

	If it were'nt intentional then I want to know if I have come upon
	a DECwindows problem.


	Much appreciated
2163.9Try the V5.3 release notesAGBEAR::HORNERA.G.Bear, Old fashion teddy bearMon Feb 05 1990 12:297
    You should probably read the V5.3 release notes then.  At least half
    of this document was devoted to DECwindows V2.  I don't know if it
    ever formally made it into the V5.3 doc set, but during field test,
    there was even a seperate set of release notes especially for
    DECwindows V2.

              Dave
2163.10VMS Upgrade BUG in USER DEFINED WIDGETFREZEN::PROJECTSMon Feb 05 1990 15:158
	How can one acquire this V2 Decwindows release notes.

	All I have are the VMS 5.3 release notes and they refer to decwindows
	changes but avoid going into detail.


	Much appreciated Ken
2163.11Couldn't find them, you might try theseAGBEAR::HORNERA.G.Bear, Old fashion teddy bearTue Feb 06 1990 08:4032
    I looked back at several of the systems that I copy VMS releases from,
    and didn't see anything that looked like exclusive DECwindows release
    notes any more.  There are new versions of a lot of the DECwindows
    manuals however, they might help.  Here is a listing from RESOLV

    Directory RESOLV""::SYS$KITS:[VMS053]

    CDA_MANUAL.DECW$BOOK;1                 5687  11-DEC-1989 18:25:07.00
    DCL_DICT_V53.DECW$BOOK;1               5335  11-DEC-1989 17:52:11.00
    DECW_DEVICE_DRIVER_MAN.DECW$BOOK;1      907  11-DEC-1989 17:52:26.00
    DECW_TRANSPORT_MANUAL.DECW$BOOK;1      1763  11-DEC-1989 18:25:55.00
    DECW_USERS_GUIDE.DECW$BOOK;1             64  11-DEC-1989 17:52:48.00
    DESKTOP_APPS_GD.DECW$BOOK;1            7200  11-DEC-1989 17:54:40.00
    NEWFEATURES_V53.DECW$BOOK;1            1820  11-OCT-1989 12:13:56.00
    NEWFEATURES_V53.DECW$BOOKSHELF;1          1   5-OCT-1989 13:08:12.00
    PROGRAMMING_SUPPLEMENT.DECW$BOOK;1     4035  11-DEC-1989 18:26:00.00
    RELEASE_NOTES.DECW$BOOK;1               620  13-OCT-1989 13:02:44.00
    RELEASE_NOTES.DECW$BOOKSHELF;1            1  13-OCT-1989 13:24:20.00
    SCSI_SUPPORT.DECW$BOOK;1               1463  11-DEC-1989 17:53:22.00
    SYSTEM_SERVICES_REF.DECW$BOOK;1        4026  11-DEC-1989 18:23:37.00
    TOOLKIT_ROUTINES_REF.DECW$BOOK;1       4909  11-DEC-1989 18:23:49.00
    UIL_REF_MAN.DECW$BOOK;1                1028  11-DEC-1989 18:26:00.00
    UPGRADE_INSTALL.DECW$BOOK;1             939   4-OCT-1989 14:30:01.00
    UPGRADE_INSTALL.DECW$BOOKSHELF;1          1   4-OCT-1989 14:31:19.00
    XLIB_PROG_GD_C.DECW$BOOK;1             3265  11-DEC-1989 17:54:04.00
    XLIB_PROG_GD_VAX.DECW$BOOK;1           3049  11-DEC-1989 17:22:51.00
    XLIB_ROUTINES_REF.DECW$BOOK;1          4564  11-DEC-1989 17:24:37.00

    I believe that these new manuals are also on the January 1990 CDROM
    disk for the bookreader.

              Dave