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