IDEADEV-40607: Artifact editing actions should be dumb​-​aware
[fedora-idea.git] / java / idea-ui / src / com / intellij / openapi / roots / ui / configuration / artifacts / AddCompositeElementActionGroup.java
blob4de13bd01c40e3b5f7a0d85a6a529f3a854ae49a
1 package com.intellij.openapi.roots.ui.configuration.artifacts;
3 import com.intellij.openapi.actionSystem.AnAction;
4 import com.intellij.openapi.actionSystem.AnActionEvent;
5 import com.intellij.openapi.project.DumbAwareAction;
6 import com.intellij.openapi.project.ProjectBundle;
7 import com.intellij.packaging.elements.CompositePackagingElementType;
8 import com.intellij.packaging.elements.PackagingElementFactory;
10 import java.util.List;
12 /**
13 * @author nik
15 public class AddCompositeElementActionGroup extends DumbAwareAction {
16 private final ArtifactEditorEx myArtifactEditor;
17 private final CompositePackagingElementType<?> myElementType;
19 public AddCompositeElementActionGroup(ArtifactEditorEx artifactEditor, CompositePackagingElementType elementType) {
20 super(ProjectBundle.message("artifacts.create.action", elementType.getPresentableName()));
21 myArtifactEditor = artifactEditor;
22 myElementType = elementType;
23 getTemplatePresentation().setIcon(elementType.getCreateElementIcon());
26 public void actionPerformed(AnActionEvent e) {
27 myArtifactEditor.addNewPackagingElement(myElementType);
30 public static void addCompositeCreateActions(List<AnAction> actions, final ArtifactEditorEx artifactEditor) {
31 for (CompositePackagingElementType packagingElementType : PackagingElementFactory.getInstance().getCompositeElementTypes()) {
32 actions.add(new AddCompositeElementActionGroup(artifactEditor, packagingElementType));