If I comment out the add() call, no content is added at all, so I never get
a link that I can use to navigate to the next page.

On Thu, Feb 5, 2009 at 12:18 AM, Damien Picard <[email protected]>wrote:

> And if you only try to remove the currScreen ; is it removed ?
>
>
> 2009/2/5 Giles Baxter <[email protected]>
>
>> I realized I didn't need the two elements that came after the content.
>>
>> So I tried add instead of insert as you suggested, but I still get the
>> same behavior.
>>
>>
>> On Wed, Feb 4, 2009 at 11:49 PM, Giles Baxter <[email protected]>wrote:
>>
>>> Seems to be consistent.
>>>
>>> Here are the screenshots - don't know if that'll help.
>>> http://www.engr.uvic.ca/~gbaxter/tests.html<http://www.engr.uvic.ca/%7Egbaxter/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