[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

823.0. "XtPopdown causes a loss of functionality." by ASD::ROSSI () Tue May 23 1989 15:24

My application creates several popup shells each with a main window & menu bar.
If I create and popup the shells A, B & C then call XtPopdown on shell B
I can no longer use the menu bar on shell C but the one on A still works.
Does anyone have any experience with this?  Basically, if I call XtPopdown 
on any shell, all shells that had been poped up after it have unusable 
menu bars.

The shells are created with XtCreatePopupShell and are of class
topLevelShellWidgetClass I fetch a main window for each shell from uil.
It is always the same fetch command(using different shells as the parent). 
I use the UID definition of the main window and its subtree as a 
template fetching over and over agian for each shell created. 

I'll move this note to the UIL conference as well.

Any thoughts would be appreciated.

T.RTitleUserPersonal
Name
DateLines
823.1Most likely not a uil problem. 63679::ROSSIThu May 25 1989 16:3211
RE: -1 The probelm still exists. Has anyone seen this before?
I have many shells, Most with completely unrelated menu bars and widgets
yet when I call XtPopdown on any shell widget, all the widgets (menu bars push
buttons etc ) on any shell that was created after the one poped down are 
completely unusable. 

I guess I don't understand how these widgets are all related. Could someone 
try and explain? I was expecting any widgets whos's parent was not the shell
that was poped down to be unaffected by the popdown. Why isn't this the
case?

823.2ASD::ROSSIWed May 31 1989 09:4730
I have not solved this problem.

    Why are my main menu widgets and their children dependent on shell
widget that are not their parents?

                         AA. applicationShellWidgetClass (Never popped up)
                                     /   |  \
                                    /    |   \                                         
           A.topLevelShellWidgetClass    B..     C..
                         |               |       |
                         |               |       |
              main window widgets        ...     ...
                         |               |       |
              menu bars etc.             ...     ...

    Is it posible that they are? I didn't think so. I think I am building
an application with the above structure. Why would a call to XtPopdown(A)
make menu bars on B and C unusable if the structure is as I have drawn it 
above? When reading the documentation for XtPopdown or up it states that
it checks the shell's popped_up field and then sets this field. what is the
c binding for this field so I can check it with get values? I didn't find it
in Intrinsic Routines 2.3 Shell Widget Attributes. Is this problem for real?
Is the above structure wrong? Whenever I want a new shell I call
XtCreatePopupShell("Fred",topLevelShellWidgetClass,args,cnt); Should
I try another routine like XtCreateApplicationShell or XtCreateManagedWidget
and not use the XtPopup routines? The documantation says that XtCreatePopupShell
attaches the shell to the parent's list of popup shells directly rather
than using insert_child. What is the difference? I think I need some help. 
 

823.3Solved.TOTALY::ROSSIFri Jun 02 1989 15:2614
RE:0 

    Ok folks, here is the solution. After a short talk with Leo I set the grab
for XtPopup to XtGrabNone instead of XtGrabNonexclusive. This solved the
problem of poping down one shell and causing any shells after it to loose the
ability to receive events.

    Is this a bug? I'm not sure. In my case the results were undesirable. 

Thanx Leo.


- Gus.

823.4PSW::WINALSKICareful with that VAX, EugeneSat Jun 03 1989 18:377
>    Ok folks, here is the solution. After a short talk with Leo I set the grab
>for XtPopup to XtGrabNone instead of XtGrabNonexclusive.

What does your program do if Leo isn't around to be talked to?  :-)

--PSW

823.5huh?ASD::ROSSISun Jun 04 1989 22:418
>> What does your program do if Leo isn't around to be talked to?  

Sends him mail then hibernates. What were you expecting? It used to send
out Publishers Clearing House sweeps stakes tickets but that was CPU 
intensive. It occasionally works out cold fusion experiments and an all
points shortest path algorithm for visiting downtown Boston locations 
while avoiding street mimes.