package edu.pdx.cs410J.gwt.client.mvp;
import com.google.gwt.event.dom.client.ChangeEvent;
import com.google.gwt.event.dom.client.ChangeHandler;
import com.google.gwt.user.client.ui.Composite;
import com.google.gwt.user.client.ui.ListBox;
import com.google.gwt.user.client.ui.Widget;
import java.util.List;
/**
* The UI for the list of movies.
*/
public class MovieListView extends Composite implements MovieListPresenter.Display {
private final ListBox movies;
public MovieListView() {
this.movies = new ListBox();
this.movies.setVisibleItemCount(10);
initWidget(this.movies);
}
@Override
public void setTitles(List<String> titles) {
movies.clear();
for (String title : titles) {
movies.addItem(title);
}
}
@Override
public void addMovieSelectedHandler(final MovieSelectedHandler handler) {
movies.addChangeHandler(new ChangeHandler() {
@Override
public void onChange(ChangeEvent changeEvent) {
handler.onMovieSelected(movies.getSelectedIndex());
}
});
}
@Override
public Widget asWidget() {
return this;
}
}