package jetbrains.mps.vcs.changesmanager.roots;
/*Generated by MPS */
import jetbrains.mps.vcs.changesmanager.NodeFileStatusMapping;
import jetbrains.mps.project.MPSProject;
import jetbrains.mps.vcs.changesmanager.CurrentDifferenceRegistry;
import jetbrains.mps.nodefs.NodeVirtualFileSystem;
import com.intellij.openapi.vcs.FileStatusManager;
import org.jetbrains.mps.openapi.model.SNode;
import jetbrains.mps.plugins.relations.RelationDescriptor;
import jetbrains.mps.internal.collections.runtime.ListSequence;
import jetbrains.mps.plugins.projectplugins.ProjectPluginManager;
public class NodeFileStatusMappingExt extends NodeFileStatusMapping {
public NodeFileStatusMappingExt(MPSProject project, CurrentDifferenceRegistry registry, NodeVirtualFileSystem nodeFileSystem) {
super(project, registry, nodeFileSystem);
}
@Override
protected void statusChanged(FileStatusManager fsm, SNode currentNode) {
super.statusChanged(fsm, currentNode);
for (RelationDescriptor d : ListSequence.fromList(myProject.getComponent(ProjectPluginManager.class).getTabDescriptors())) {
SNode baseNode = d.getBaseNode(currentNode);
if (baseNode != null && baseNode != currentNode) {
fsm.fileStatusChanged(myNodeFileSystem.getFileFor(myMPSProject.getRepository(), baseNode));
break;
}
}
}
}