I encountered a situation where hosted mode and compiled mode behave
different.

I have an application (GWT 2.1) containing a TabLayoutPanel.  One of
the tabs (call it TabX) contains a Composite sub-class which loads a
ui.xml whose top-level is a SplitLayoutPanel.  This all works well.

The code behind TabX (my Composite sub-class) creates a Timer to
implement auto-refresh.  This works well.

The application has multiple sets of tabs.  When the tab set changes,
I remove all the tabs from the TabLayoutPanel and add new tabs with
newly created widgets.

After a tab is removed, the Timer is still running.  When the timer
fires, I check if the SplitLayoutPanel is still visible.  If not, then
I do not auto-refresh and do not reschedule the timer.  This works
great in hosted mode.

In compiled mode, the SplitLayoutPanel is still visible (isVisible()
returns true) so my timer continues to run in the background, doing
autorefresh.  These timers build up after navigating around the
application for awhile.

In compiled mode, even though isVisible() is still true, isAttached()
is false.  So I'll check both isVisible and isAttached.

So:   Why the different behavior in hosted and compiled mode?
And:  How can a widget be visible, but not attached?

I'd be interested in learning the underpinnings of GWT in compiled
mode.  How/when are widgets and objects deleted?  Reference
counting?   Relying on javascript collection/reaping?

Steve

-- 
You received this message because you are subscribed to the Google Groups 
"Google Web Toolkit" group.
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