Path: utzoo!utgpu!jarvis.csri.toronto.edu!clyde.concordia.ca!mcgill-vision!bloom-beacon!EXPO.LCS.MIT.EDU!kit From: kit@EXPO.LCS.MIT.EDU (Chris D. Peterson) Newsgroups: comp.windows.x Subject: Re: Athena Form Widget weirdness Message-ID: <9003012000.AA22120@expo.lcs.mit.edu> Date: 1 Mar 90 20:00:10 GMT References: <30429@brunix.UUCP> Sender: daemon@athena.mit.edu (Mr Background) Organization: The Internet Lines: 44 > (I'm not sure if this is the correct newsgroup, but here goes...) You're in the right place. > I'm experimenting with the Athena Form widget, and notice that > XawDoFormLayout doesn't seem to behave as expected. Suppose > I have a callback that relocates a button (just for kicks): > void RandomCallBack() > { > Arg arg[1]; > XtSetArg(arg[0],XtNvertDistance,40); > XtSetValues(button, arg, 1); /* button is a global command Widget */ > XawFormDoLayout(form, TRUE); /* form is the parent of button */ > } > Nothing happens. There are two problems here, one conceptual, and one genuine bug. First the bug: When you perform an XtSetValues() on the XtNvertDistance Resource it should automagically update the Form widget. It doesn't do this. This is a bug. Now the conceptual problem: XawFormDoLayout() is meant to be used to stop layout processing for a while. This functionality can be used to make processing a large number of requests much faster. XawFormDoLayout() will not force the Form widget to completely relayout its children. How do you work around this problem? Short of fixing the code, you can't. You will just have to live with it until the next release. Chris D. Peterson MIT X Consortium Net: kit@expo.lcs.mit.edu Phone: (617) 253 - 9608 Address: MIT - Room NE43-213