package com.intellij.lang.javascript.flex.artifacts;
import com.intellij.ide.projectView.PresentationData;
import com.intellij.openapi.module.Module;
import com.intellij.openapi.module.ModuleType;
import com.intellij.packaging.elements.PackagingElement;
import com.intellij.packaging.ui.ArtifactEditorContext;
import com.intellij.packaging.ui.PackagingSourceItem;
import com.intellij.packaging.ui.SourceItemPresentation;
import com.intellij.packaging.ui.SourceItemWeights;
import com.intellij.ui.SimpleTextAttributes;
import org.jetbrains.annotations.NotNull;
import java.util.Collections;
import java.util.List;
public class FlashModuleSourceItem extends PackagingSourceItem {
private final Module myModule;
public FlashModuleSourceItem(final Module module) {
myModule = module;
}
@Override
@NotNull
public List<? extends PackagingElement<?>> createElements(@NotNull ArtifactEditorContext context) {
return Collections.emptyList();
}
@Override
public SourceItemPresentation createPresentation(final @NotNull ArtifactEditorContext context) {
return new SourceItemPresentation() {
@Override
public String getPresentableName() {
return myModule.getName();
}
@Override
public void render(final @NotNull PresentationData presentationData,
final SimpleTextAttributes mainAttributes,
final SimpleTextAttributes commentAttributes) {
presentationData.setIcon(ModuleType.get(myModule).getIcon());
presentationData.addText(myModule.getName(), mainAttributes);
}
public int getWeight() {
return SourceItemWeights.MODULE_WEIGHT - 1;
}
};
}
public boolean equals(Object obj) {
return obj instanceof FlashModuleSourceItem && myModule.equals(((FlashModuleSourceItem)obj).myModule);
}
public int hashCode() {
return myModule.hashCode();
}
public Module getModule() {
return myModule;
}
}