Path: utzoo!utgpu!jarvis.csri.toronto.edu!cs.utexas.edu!uunet!brunix!mks From: mks@cs.brown.edu (Mark Stern) Newsgroups: comp.windows.x Subject: Athena Form Widget weirdness Message-ID: <30429@brunix.UUCP> Date: 23 Feb 90 22:49:13 GMT Sender: news@brunix.UUCP Reply-To: mks@cs.brown.edu (Mark Stern) Organization: Brown University Department of Computer Science Lines: 42 (I'm not sure if this is the correct newsgroup, but here goes...) 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. The button doesn't move to the correct place. I look at the code for the Form widget, and decide to reach into the internals and set a flag (I know, a big no-no): set_form_layout_flag (w) Widget w; { register FormWidget fw = (FormWidget) w; fw->form.needs_relayout = TRUE; /* forcibly set to TRUE */ } If I call this routine before XawDoFormLayout, everything is peachy-keen. Well, am I doing something wrong on the programmatic interface level? I've checked O'Reilly Vol 5, the Athena docs, and even tried calling XawFormDoLayout(w,FALSE) to supposedly increment an internal counter, but the Form code doesn't seem to pay attention to it, either. -- Mark ------------------------------------------------------------------------------ | mks@cs.brown.edu Box 1910, Dept. of Computer Science Mark Stern | mks@browncs.bitnet Brown University | uunet!brunix!mks Providence, RI 02912