package tv.dyndns.kishibe.qmaclone.client.setting.theme; import tv.dyndns.kishibe.qmaclone.client.packet.PacketThemeQuery; import tv.dyndns.kishibe.qmaclone.client.setting.PanelSettingThemeQuery; import com.google.common.base.Preconditions; import com.google.gwt.view.client.AsyncDataProvider; import com.google.gwt.view.client.HasData; public class ThemeQueryProvider extends AsyncDataProvider<PacketThemeQuery> { private final PanelSettingThemeQuery presenter; private final String theme; private HasData<PacketThemeQuery> lastDisplay; public ThemeQueryProvider(PanelSettingThemeQuery presenter, String theme) { this.presenter = Preconditions.checkNotNull(presenter); this.theme = Preconditions.checkNotNull(theme); } @Override protected void onRangeChanged(HasData<PacketThemeQuery> display) { lastDisplay = display; refresh(); } public void refresh() { presenter.onThemeQueryRequested(theme, lastDisplay); } }