package edu.ualberta.med.biobank.mvp.presenter.impl;
import com.google.gwt.event.dom.client.ClickEvent;
import com.google.gwt.event.dom.client.ClickHandler;
import com.google.web.bindery.event.shared.EventBus;
import edu.ualberta.med.biobank.mvp.presenter.ICloseablePresenter;
import edu.ualberta.med.biobank.mvp.view.ICloseableView;
public abstract class AbstractCloseablePresenter<V extends ICloseableView>
extends AbstractPresenter<V>
implements ICloseablePresenter<V> {
private final CloseClickHandler closeClickHandler = new CloseClickHandler();
public AbstractCloseablePresenter(V view, EventBus eventBus) {
super(view, eventBus);
}
@Override
protected void onBind() {
registerHandler(view.getClose().addClickHandler(closeClickHandler));
}
@Override
public void close() {
unbind();
view.close();
}
private class CloseClickHandler implements ClickHandler {
@Override
public void onClick(ClickEvent event) {
close();
}
}
}