package com.intellij.lang.javascript.flex.presentation;
import com.intellij.ide.projectView.PresentationData;
import com.intellij.ide.projectView.ProjectViewNode;
import com.intellij.ide.projectView.ViewSettings;
import com.intellij.ide.util.treeView.AbstractTreeNode;
import com.intellij.lang.javascript.psi.ecmal4.JSQualifiedNamedElement;
import com.intellij.openapi.project.Project;
import com.intellij.openapi.vfs.VirtualFile;
import com.intellij.util.PlatformIcons;
import org.jetbrains.annotations.NotNull;
import java.util.Collection;
import java.util.List;
public class SwfPackageElementNode extends ProjectViewNode<String> {
private final String myDisplayText;
private final List<JSQualifiedNamedElement> myElements;
private final int myFrom;
private final int myTo;
public SwfPackageElementNode(Project project,
String aPackage,
String displayText,
ViewSettings viewSettings,
List<JSQualifiedNamedElement> elements,
int from,
int to) {
super(project, aPackage, viewSettings);
myDisplayText = displayText;
myElements = elements;
myFrom = from;
myTo = to;
}
@Override
public boolean contains(@NotNull VirtualFile file) {
return SwfProjectViewStructureProvider.nodeContainsFile(this, file);
}
@NotNull
@Override
public Collection<? extends AbstractTreeNode> getChildren() {
return SwfProjectViewStructureProvider.getChildrenForPackage(getValue(), myElements, myFrom, myTo, myProject, getSettings());
}
@Override
protected void update(PresentationData presentation) {
presentation.setPresentableText(myDisplayText);
presentation.setIcon(PlatformIcons.PACKAGE_ICON);
}
@Override
public int getTypeSortWeight(boolean sortByType) {
return 3;
}
}