package jetbrains.mps.ide.depanalyzer; /*Generated by MPS */ import jetbrains.mps.ide.ui.tree.MPSTreeNode; import jetbrains.mps.project.Project; import jetbrains.mps.ide.icons.IconManager; import org.jetbrains.mps.openapi.module.SModuleReference; import org.jetbrains.mps.openapi.module.SModule; import jetbrains.mps.openapi.navigation.ProjectPaneNavigator; public class DependencyTreeNode extends MPSTreeNode { private DepLink myLink; private Project myProject; public DependencyTreeNode(Project mpsProject, DepLink link) { super(link); myLink = link; myProject = mpsProject; setIcon(IconManager.getIconFor(getModule())); String linktype = (link.linktype == null ? "" : "<i>" + link.linktype.toString() + "</i> "); setNodeIdentifier(link.linktype + link.module.getModuleName()); setText("<html>" + linktype + link.module.getModuleName() + "</html>"); } public DepLink getLink() { return myLink; } public SModuleReference getModuleReference() { return myLink.module; } /** * * @deprecated use {@link jetbrains.mps.ide.depanalyzer.DependencyTreeNode#getModuleReference() } instead (otherwise there's hidden assumption about model access) */ @Deprecated public SModule getModule() { return myLink.module.resolve(myProject.getRepository()); } public void setDepLeaf() { String linktype = (myLink.linktype == null ? "" : "<i>" + myLink.linktype.toString() + "</i> "); setText("<html>" + linktype + "<b>" + myLink.module.getModuleName() + "</b></html>"); } @Override public void doubleClick() { new ProjectPaneNavigator(myProject).select(myLink.module); } }