Hi Mash,
to answer the first question "what happens when revealCurrentPlace() is triggered"
I've bug a bit in GWTP's code to find out that this method will handle history token changes by doing this:
try {
if (historyToken.trim().equals("")) {
unlock();
revealDefaultPlace();
} else {
placeHierarchy = tokenFormatter.toPlaceRequestHierarchy(historyToken);
doRevealPlace(getCurrentPlaceRequest(), true);
}
} catch (TokenFormatException e) {
unlock();
error(historyToken);
NavigationEvent.fire(this, null);
}
So basically: if the new history token is empty -- it reveals the default place or else, it will try to reveal the place that matches the new token. If there's an error any of that, it'll reveal the error place.
Now about your comment about onReset() vs revealCurrentPlace(), I have a simple question, what kind of widget is it? Is it a PresenterWidget or just a regular GWT Widget?
Let me post a picture from the docs, explaining GWTP's lifecycle. If your widget is a PresenterWidget, you might want to identify what happens with GWTP's lifecycle in your scenario
so one of the reasons I think might explain why it works on revealCurrentPlace() but not onReset() is that revealCurrentPlace() triggers other steps of the lifecycle depending of if the presenter is bound and visible.
As for your last question, "how do I redraw X", that will depend on the type of widget itself (I'd need more details about your implementation). For example I know that GWT CellTable has an explicit redraw method. In other cases, I've seen some dirty hacks with ScheduleDeferred to redraw the Element.
I hope that this helps you. Don't hesistate posting some code so we can help you more. (Specifically the widget and the way you're adding your styles on it)
-- Joel