package jetbrains.mps.build.mps.pluginSolution.plugin; /*Generated by MPS */ import org.jetbrains.mps.openapi.module.SModule; import java.util.List; import jetbrains.mps.internal.collections.runtime.ListSequence; import java.util.ArrayList; import javax.swing.Icon; import jetbrains.mps.project.AbstractModule; import jetbrains.mps.vfs.IFile; import com.intellij.openapi.vfs.VirtualFile; import jetbrains.mps.ide.vfs.VirtualFileUtils; import jetbrains.mps.ide.icons.IdeIcons; public class ModuleData implements NodeData { private final SModule myModule; private NodeData myParent; public ModuleData(SModule module) { this.myModule = module; } @Override public String getText() { return this.myModule.getModuleName(); } @Override public List<NodeData> getChildren() { return ListSequence.fromList(new ArrayList<NodeData>()); } @Override public Icon getIcon(boolean expanded) { if (this.myModule instanceof AbstractModule) { IFile file = ((AbstractModule) this.myModule).getDescriptorFile(); if (file != null) { VirtualFile virtualFile = VirtualFileUtils.getProjectVirtualFile(file); if (virtualFile != null) { return virtualFile.getFileType().getIcon(); } } } return IdeIcons.LANGUAGE_ICON; } public SModule getModule() { return this.myModule; } @Override public boolean canHaveChildren() { return false; } @Override public void addChildren(NodeData nodeData) { } @Override public NodeData getParent() { return this.myParent; } @Override public void setParent(NodeData parent) { this.myParent = parent; } }