package com.yoursway.ide.views.project;
import com.yoursway.ide.application.controllers.ViewComponent;
import com.yoursway.ide.application.model.Project;
import com.yoursway.ide.application.view.View;
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 ProjectTreeController implements ViewCallback, ViewComponent {
private final Project project;
private final View view;
public ProjectTreeController(ViewFactory viewFactory, ViewDefinition viewDefinition, Project project) {
if (project == null)
throw new NullPointerException("project is null");
this.project = project;
this.view = viewFactory.bindView(viewDefinition, this);
}
public void bindPresentation(final ViewPresentation presentation) {
new ProjectTreeInstanceController(project, new ProjectTreeViewFactory() {
public ProjectTreeView bind(ProjectTreeViewCallback callback) {
return new ProjectTreeViewImpl(presentation, callback);
}
});
}
}