On Saturday, May 26, 2012 7:45:03 PM UTC+2, Ulas wrote:
>
> Hi,
>
> I have a LayoutPanel containing two custom widgets. The widgets both 
> extend ResizeComposite in order to be able to receive the onResize call. 
> The main idea is illustrated in the code below. The two widgets share the 
> same space and depending on user input they are shown in one of three 
> different ways: widget #1 taking up the entire width, widget #1 & #2 are 
> displayed side by side (sharing the available width 50/50) and widget #2 
> taking up the entire width.
>
> LayoutPanel viewPanel = new LayoutPanel();
> CustomWidgetExtendingResizeComposite1 custom1 = 
> new CustomWidgetExtendingResizeComposite1();
> CustomWidgetExtendingResizeComposite2 custom2 = 
> new CustomWidgetExtendingResizeComposite2();
> viewPanel.add(custom1;)
> viewPanel.add(custom2);
>
>
> public void onClick(String mode)
> {
>
> if (mode == "show widget #1")
>
> { 
>
> this.viewPanel.setWidgetLeftWidth( custom1  , 0, Unit.PCT, 0, Unit.PCT);
>
> this.viewPanel.setWidgetLeftWidth( custom2  , 0, Unit.PCT, 100, 
> Unit.PCT); 
>
> } 
>
> else if (mode == "show widget #1 and #2")
>
> {
>
> this.viewPanel.setWidgetLeftWidth( custom1  , 0, Unit.PCT, 50, Unit.PCT);
>
> this.viewPanel.setWidgetLeftWidth( custom2  , 50, Unit.PCT, 50, 
> Unit.PCT); 
>
> } 
>
> else if (mode == "show widget #2") 
> {
>
> this.viewPanel.setWidgetLeftWidth( custom1  , 0, Unit.PCT, 100, Unit.PCT);
>
> this.viewPanel.setWidgetLeftWidth( custom2  , 100, Unit.PCT, 0, 
> Unit.PCT); 
>
> } 
>
> }
>
> Now to the weird part: When the parent (viewPanel) fires the onResize 
> event it doesn't actually change the child widgets' size immidiately, but 
> only does so after a while. I know this because I've overriden the onResize 
> functions in both the custom widget classes and at the time of the onResize 
> they still have their old width values. However, if I introduce a timer 
> into my code that after a small time period (say 100 ms) manually fires the 
>  viewPanel's onResize function it works. By then the custom widgets have 
> both somehow had their width set to the correct valules.
>
> How can this be? Why don't the child widgets have their width values 
> changed immidiately when the parent fires their respective onResize 
> functions?
>

There are a few issues with LayoutPanel:
http://code.google.com/p/google-web-toolkit/issues/detail?id=7188
http://code.google.com/p/google-web-toolkit/issues/detail?id=5424

-- 
You received this message because you are subscribed to the Google Groups 
"Google Web Toolkit" group.
To view this discussion on the web visit 
https://groups.google.com/d/msg/google-web-toolkit/-/f_JxeOWPV1gJ.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/google-web-toolkit?hl=en.

Reply via email to