[alt.toolkits.xview] Can't get a subframe to become unobscured by other windows

howard@arisia.Xerox.COM (Milton G. Howard) (10/20/90)

I am using version 1.x of the XView toolkit and the corresponding
version of olwm.  

Question:  Page 68, section 4.3.2 (The Pushpin) of the O'Reilly book
           (XView Programming Manual) has a "Hello World" example,
	   example 4-6.  The last two sentences of the second paragraph
	   read,
	   
	   "Selecting Hello while the frame is already up causes the
	   command frame to be raised to the top of the window tree.
	   This is useful in case the command frame gets obscured by
	   other windows."

	   the problem is that when the command frame with the 
	   "Push Me" button is obscured by other windows, pushing the
	   "Hello" button in the base frame does NOTHING in regards
	   to raising this window to the top of the window tree.  Am
	   I missing something?!?!?  I have a much more complex window
	   tree than this in an application that I am developing and I have
	   the same problem (I typed in this simple example to prove to 
	   myself that even this example didn't work).

	   Again, please let me know if I am missing something.  Is there
	   some other attribute that must be set in order to bring the 
	   subframe to the top of the window tree?  Is my olwm broken?
	   Any suggestions?


A short code sample or explanation would be MUCH appreciated.
Please e-mail me directly since unfortunately I don't have time
to read this newsgroup as often as I would like.

Thanks in advance,


//Milton

e-mail address: MHoward.osbu_north@xerox.com OR
		howard@parc.xerox.com

argv@turnpike.Eng.Sun.COM (Dan Heller) (10/23/90)

In article <13356@arisia.Xerox.COM> howard@arisia.Xerox.COM (Milton G. Howard) writes:
> 	   the problem is that when the command frame with the 
> 	   "Push Me" button is obscured by other windows, pushing the
> 	   "Hello" button in the base frame does NOTHING in regards
> 	   to raising this window to the top of the window tree.

You can raise an arbitrary window to the top of the stack using:

XRaiseWindow(xv_get(object, XV_DISPLAY), xv_get(object, XV_XID));

If the window is not even mapped, you use XMapRaised() instead.
--
dan
----------------------------------------------------
O'Reilly && Associates   argv@sun.com / argv@ora.com
Opinions expressed reflect those of the author only.