vix@ubvax.UB.Com (Paul Vixie) (03/26/88)
Since the VPaned widget docs talk about its ability to resize itself when new panes are added after the VPane has been (managed,mapped,realized), I decided to try a different scheme for the menus I'm trying to build: Shell VPaned Box Command Command ... Box Command Command ... Box Command Command ... The Box-full-of-Commands are added one-by-one as items are selected from menus; the result is supposed to be a new pane for each menu, growing down- ward. This works perfectly for the first two menus. The top one, when created, gets a VPane border beneath it with no resize knob since it's the only pane. I've arranged things so that when a command is selected from this menu, another menu is added to the VPane, causing a resize knob to appear on the pane border seperating it from the top menu, and a border to appear below the second menu (with a resize knob). All fine. ============================== File Edit Quit (no this is not the real menu) ---------------------------X-- (X = resize knob) Add Change Delete quit ---------------------------X-- (blank space) ============================== Then I select something on this second menu, which causes a third menu to be created and added to the VPaned widget. This is where odd things happen. ============================== File Edit Quit (no this is not the real menu) ---------------------------X-- (X = resize knob) ---------------------------X-- Planes Trains Automobiles (third menu, just added) ---------------------------X-- (blank space) ============================== Note that the second menu is now invisible. The resize knobs are so adjacent that they touch. Grabbing the resize knob and moving it downward, I can make the second menu visible -- so I know (a) that it's still there, and (b) that the insertion_order is correct and that the third menu was added to the end of the VPaned child list rather than inserted in the middle somewhere. In a previous note, I asked this list for patches to the Xt for Suns -- noone has volunteered so far. Perhaps this odd behaviour is caused by one such bug. I don't have any non-Sun server or client machines to try this on, so I don't really know how to approach it. Maybe there's an argument to XtCreateManagedWidget for the submenus that I need but don't know about. Enlightenment appreciated. -- Paul Vixie Consultant Work: 408-562-7798 vix@ub.com vix%ubvax@uunet.uu.net Ungermann-Bass Home: 415-647-7023 {amdahl,ptsfa,pyramid,uunet}!ubvax!vix Santa Clara, CA <<I do not speak for Ungermann-Bass>>
swick@ATHENA.MIT.EDU (Ralph R. Swick) (03/29/88)
The VPaned widget has some fairly intricate heuristics to try to fill it's entire height by stretching one or more of the panes, since it wasn't originally planned that there be empty space allowed below the bottom pane. There's every chance of an odd interaction between these heuristics and your constraint specifications. If you send me a short test case, perhaps I'll look into it and see if the situation can be improved without breaking old code. I like the structure you're attempting to build, and I have a couple of proposals for compatible extentions to the constraint specifications. -Ralph