/** * */ package org.openflexo.fps.controller; import org.openflexo.foundation.FlexoModelObject; import org.openflexo.fps.CVSFile; import org.openflexo.fps.view.CVSFileModuleView; import org.openflexo.view.ModuleView; import org.openflexo.view.controller.FlexoController; import org.openflexo.view.controller.model.FlexoPerspective; public abstract class FPSPerspective extends FlexoPerspective { /** * */ private final FPSController fpsController; public FPSPerspective(FPSController fpsController, String name) { super(name); this.fpsController = fpsController; } public abstract void setFilters(); @Override public boolean hasModuleViewForObject(FlexoModelObject object) { return true; } @Override public CVSFile getDefaultObject(FlexoModelObject proposedObject) { return null; } @Override public ModuleView<?> createModuleViewForObject(FlexoModelObject file, FlexoController controller) { if (file instanceof CVSFile) { return new CVSFileModuleView((CVSFile) file, (FPSController) controller); } else { return null; } } @Override public void notifyModuleViewDisplayed(ModuleView<?> moduleView) { this.fpsController.refreshFooter(); if (moduleView instanceof CVSFileModuleView) { ((CVSFileModuleView) moduleView).refresh(); } } }