I am building a browser extension to add a tab to the notebook in a class hierarchy browser.
That's the easy part, even though the browser is not designed to facilitate that.
Fortunately, the Version History Graph provides an example of that and I was fairly easily able to add my new tab.
The problem is when I am laying out the GUI on that tab, XmATTACHWIDGET that should attach two forms seems to behave unexpectedly and I don't understand why. I have done a lot of forms layouts in ABT with all sorts of relative arrangements and it always worked as I expected.
An inspect shows me this for an upper form with a lower form.
CwForm(AttributeGeneralInformationSubcanvas x:0 y:0 w:320 h:101)
CwForm(PolicySpecificSubcanvas x:0 y:0 w:615 h:221)
These are the top* properties of the lower form. It clearly attaches to the upper form.
3
CwForm(AttributeGeneralInformationSubcanvas x:0 y:0 w:320 h:101)
0
0
The code to position the lower form is:
policySpecificSubcanvasForm
setValuesBlock:
[:w |
w
topAttachment: XmATTACHWIDGET;
topWidget: attributeGeneralInformationSubcanvasForm;
topOffset: 0;
leftAttachment: XmATTACHFORM;
bottomAttachment: XmATTACHFORM;
rightAttachment: XmATTACHFORM];
manageChild.
Everywhere I have attached to widgets, top has attached to the bottom of the referenced widget.
Yet, the lower form does have the correct height (and width), but its position is just plain wrong. At least, wrong according to my definition of wrong.
Does anyone have an idea of what might be going wrong? The fact that the ABT tools "get it right" and "all the browser windows get it right" has me thinking I have made an error, but I have no idea what that error could be.
Thanks,
Richard