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);
}
}