package org.beanfabrics.swing.customizer.path;
import java.awt.Window;
import org.beanfabrics.context.Context;
import org.beanfabrics.swing.customizer.util.CustomizerUtil;
public class PathChooserController {
private PathChooserPM presentationModel;
private PathChooserDialog view;
private Context context;
private PathContext rootPathContext;
public PathChooserController(Context context, PathContext rootPathContext) {
this.context = context;
this.rootPathContext = rootPathContext;
}
public PathChooserPM getPresentationModel() {
if (presentationModel == null) {
presentationModel = new PathChooserPM();
presentationModel.getContext().addParent(context);
presentationModel.setPathContext(rootPathContext);
}
return presentationModel;
}
public PathChooserDialog getView() {
if (view == null) {
view = PathChooserDialog.create(getRootWindow());
view.setPresentationModel(getPresentationModel());
view.pack();
view.setLocationRelativeTo(view.getOwner());
}
return view;
}
private Window getRootWindow() {
return CustomizerUtil.locateRootWindow(context);
}
}