Using MVP...
Create a View interface that has ListView, DetailView, and
ThumbnailView implement it. Your presenter will take a default view
implementation. On change of view, apply the different implementation
to your view and update your view.
class Result {
String url;
String data1;
String data2;
...
}
interface View {
public displayResults(List<Result> results);
...
}
class ListView implements View {
displayResults(List<Result> results) {
for (result : results) {
// display each row.
}
}
...
}
...
class Presenter {
View currentView;
Presenter() {
this.listView = new ListView();
this.detailView = new DetailView();
this.currentView = listView; // Default.
}
onViewChange(enum viewType) {
switch viewType:
this.currentView = detailView;
...
view.displayResults(results); // Display results with new view.
}
}
On Aug 8, 11:54 am, d95sld95 <[email protected]> wrote:
> The wrapping is mainly to manage the attache/detach from the DOM.
> Since only one display (HasData) is shown at a time.
>
> I did notice however that adding two HasData to
> AbstractDataProvider.addDataDisplay(..) causes the
> onRangeChanged(HasData<T> display) to be called twice. That is most
> likely intentional but in my case I only have one of the displays
> visible at a time. So loading the data once is sufficient. I was
> hoping to deal with that in the wrapper as well.
--
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.