John, Sorry for the slow response -- I've had a browser window open for several days to respond, but I keep getting pulled off onto other things.
It sounds like this is indeed an ordering bug. It's hard to be sure precisely when IE's going to call onresize() (onmove() and onresize() are obscure non-standard events that aren't documented all that well). But what you're saying makes perfect sense, and I'll try to find a way to get the ordering straight. Would you mind entering an issue (or pointing me to it if you already have) that captures this? It may take me a little while to get a test case together and work out a solution. Please let me know anything you discover that might help. Thanks, joel. On Wed, Mar 31, 2010 at 5:51 AM, jd <[email protected]> wrote: > Does anyone think this is a bug? Or is it expected behaviour? > > On Mar 23, 10:40 pm, jd <[email protected]> wrote: > > Something else related to this problem: when a DockLayoutPanel is > > animated to resize its children, onResize() is called *before* the > > resize but my child component was expecting to examine its new size. > > > > The JavaDoc for onResize says "This method must be called whenever the > > implementor's size has been modified." > > > > "Has been modified" signifies that it should be called *after* the > > resize has occurred which would definitely be more useful and > > expected. > > > > Currently, onResize is not called at the end of the animation because > > the animations onComplete() calls Layout.layout() and not > > Layout.layout(0, callback). i.e. if the callback was passed then > > onResize() should also get called at the end of the animation. > > > > John > > > > On Mar 20, 12:31 pm, jd <[email protected]> wrote: > > > > > > > > > Hi, > > > > > I am experiencing a problem using a DockLayoutPanel with IE6 where a > > > child widgets RequiresResize.onResize() is fired before the > > > LayoutImplIE6 has updated the widgets width and height with new > > > values. > > > > > I have a child widget that needs to know when it is resized so it can > > > resize a nested MapWidget. I must do this because setting the maps > > > height to 100% does not work inside a DockLayoutPanel child in IE7 > > > because the element is positioned absolutely using top, bottom, left, > > > right. Using this same absolute positioning for the child map does > > > work in IE7 but obviously not in IE6. > > > > > My current solution is to implement RequiresResize and explicitly > > > resize the map to the dimensions of the container. This works well in > > > all browsers except IE6 because the container element has not yet been > > > resized by LayoutImplIE6 > > > > > It looks like this is due to the RootLayoutPanel registering its > > > window resize handler before the LayoutImplIE6 registers its handler. > > > > > I could work around this problem by either making the map a direct > > > child of the DockLayoutPanel which means that the browser specific > > > resize problems are handled by the Layout. > > > > > Alternatively, I could use another nested LayoutPanel or implement > > > browser specific resize logic myself. > > > > > But it seems that onResize() is designed for situations like this? > > > > > Thanks, > > > > > John > > -- > http://groups.google.com/group/Google-Web-Toolkit-Contributors > > To unsubscribe, reply using "remove me" as the subject. > -- http://groups.google.com/group/Google-Web-Toolkit-Contributors
