I'm totally lost as to how your (sample) app is expected to behave.

Still, "exam:5--student:4--menu:admin" represents "somewhere", some instance 
of some Place class that holds this "state". You'll have a PlaceTokenizer 
building this instance from that token.
then, when the place is given to any of the 3 ActivityMappers (one per 
region; sorry, I misread, and though you had 4 regions), each one will tell 
which activity to display in the region it controls.

So, the NorthActivityMapper will look at the place and return an 
ExamActivity for the 5th page (if I understood correctly); the 
WestActivityMapper will return an AdminMenuActivity (or whatever), and the 
CenterActivityMapper will return a StudentActivity for the 4th page.

When you want to navigate, you goTo a place that holds the whole state, so 
that each ActivityMapper will answer accordingly to what should be displayed 
in "their" region, adn the URL will be updated accordingly.
In your case, your place is kind of a "composite", where the "center 
activity" doesn't particularly care what is in the north region; so I'd 
suggest building the new place from the current one, just modifying the part 
that needs to change; something like:

   placeController.goTo(MyPlace.student(5, 
placeController.getCurrentPlace());

The student() factory method would then "copy" the exam:5 and menu:admin 
bits from the current place and set the "student" part to 5, so you really 
"goTo exam:5--student:5--menu:admin".

In brief, there would only be a single type of Place that can tell you 
exactly what should be "displayed"; and each ActivityMapper then use what it 
needs to know from the place to put the correct activity into the slot it 
manages.

-- 
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/-/IdeIkCvyUMcJ.
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