Seems to be consistent.

Here are the screenshots - don't know if that'll help.
http://www.engr.uvic.ca/~gbaxter/tests.html

Only problem with the code you suggested is that I want to insert the
content at a specific point in mainInnerPanel.  If I use add, content will
be at the end...

On Wed, Feb 4, 2009 at 11:44 PM, Damien Picard <[email protected]>wrote:

> Your mainInnerPanel is a FlowPanel, right ?
>
> try something like that :
>
>     public void setCurrScreen(Widget content) {
>          mainInnerPanel.remove(currScreen);
>         mainInnerPanel.add(content);
>         currScreen = content;
>     }
>
> does the problem always appears ?
>
>
>
> 2009/2/5 Giles Baxter <[email protected]>
>
> Sure.  I used the Showcase sample as a template.  They have a tree where
>> the tree items map to different content widgets.
>>
>> I've created two Maps: one for history tokens and one for link texts.
>> Here are the two listeners that use them to figure out what screen to
>> display:
>>
>>     final HistoryListener historyListener = new HistoryListener() {
>>       public void onHistoryChanged(String historyToken) {
>>         Composite screen = exchangerTokens.get(historyToken);
>>         app.setCurrScreen(screen);
>>       }
>>     };
>>
>>     History.addHistoryListener(historyListener);
>>
>>     app.setListener(new ApplicationListener() {
>>         public void onHyperlinkClicked(Hyperlink link) {
>>           Composite content = exchangerScreenLinks.get(link.getText());
>>           if (content != null && !content.equals(app.getCurrScreen())) {
>>             History.newItem(getCurrScreenToken(content));
>>           }
>>         }
>>       });
>>
>> And here's the setCurrScreen method that calls insert();
>>
>>     public void setCurrScreen(Widget content) {
>>         int currScreenIndex = mainInnerPanel.getWidgetIndex(currScreen);
>>         if (currScreenIndex > -1) {
>>             // the screen widget referenced by currScreen was found in the
>> container
>>             mainInnerPanel.remove(currScreenIndex);
>>             mainInnerPanel.insert(content, currScreenIndex);
>>         }
>>         else {
>>             // the container had not yet been populated
>>             mainInnerPanel.insert(content, 1);
>>         }
>>         currScreen = content;
>>
>>     }
>>
>> On Wed, Feb 4, 2009 at 11:15 PM, Damien Picard 
>> <[email protected]>wrote:
>>
>>> Hi,
>>>
>>> Could you copy past your code ? I think that it is probably an error in
>>> your algorithm.
>>>
>>> Regards,
>>> Damien
>>>
>>> 2009/2/5 Giles <[email protected]>
>>>
>>>>
>>>> Hi,
>>>>
>>>> I'm trying to give the impression of navigating through a site by
>>>> updating a component contained in a FlowPanel.
>>>>
>>>> Each time I call myPanel.insert(myComponent, index), the contents of
>>>> myComponent are repeated.  I have some screenshots from running the
>>>> debugger in Eclipse if anyone thinks they can help.
>>>>
>>>> In this case, myComponent wraps another FlowPanel.  After inserting
>>>> into myPanel, the id of myComponent, the FlowPanel it wraps, and the
>>>> WidgetCollection inside the FlowPanel are the same.  But the id of the
>>>> Widget array inside the WidgetCollection changes, and now contains the
>>>> duplicated contents.
>>>>
>>>> I don't understand how the object being passed to insert() could be
>>>> modified like this.
>>>>
>>>> Thanks
>>>> Giles
>>>>
>>>>
>>>>
>>>
>>>
>>>
>>
>>
>>
>
> >
>

--~--~---------~--~----~------------~-------~--~----~
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