package com.yoursway.experiments.birdseye.component;
import com.yoursway.ide.application.controllers.ViewComponent;
import com.yoursway.ide.application.model.Project;
import com.yoursway.ide.application.view.ViewCallback;
import com.yoursway.ide.application.view.ViewDefinition;
import com.yoursway.ide.application.view.ViewFactory;
import com.yoursway.ide.application.view.ViewPresentation;
public class BirdsEyeViewComponent implements ViewCallback, ViewComponent {
private final Project project;
public BirdsEyeViewComponent(ViewFactory viewFactory, ViewDefinition viewDefinition, Project project) {
if (project == null)
throw new NullPointerException("project is null");
this.project = project;
viewFactory.bindView(viewDefinition, this);
}
public void bindPresentation(final ViewPresentation presentation) {
new BirdsEyeViewController(project, new BirdsEyeViewFactory() {
public BirdsEyeView bind(BirdsEyeViewCallback callback) {
return new BirdsEyeViewImpl(presentation, callback);
}
});
}
}