From 102be48d74d91526e7df60724314a18ed8f9b976 Mon Sep 17 00:00:00 2001 From: nik Date: Mon, 5 Oct 2009 14:46:41 +0400 Subject: [PATCH] jar artifact type added & ui fixes --- .../packaging/impl/artifacts/JarArtifactType.java | 42 ++++++++++++++++++++++ .../ElementWithManifestPropertiesPanel.form | 2 +- .../artifacts/ArtifactEditorImpl.java | 1 + .../artifacts/LayoutTreeComponent.java | 1 - .../artifacts/sourceItems/ArtifactSourceItem.java | 8 +++++ resources/src/META-INF/IdeaPlugin.xml | 3 +- 6 files changed, 54 insertions(+), 3 deletions(-) create mode 100644 java/compiler/impl/src/com/intellij/packaging/impl/artifacts/JarArtifactType.java diff --git a/java/compiler/impl/src/com/intellij/packaging/impl/artifacts/JarArtifactType.java b/java/compiler/impl/src/com/intellij/packaging/impl/artifacts/JarArtifactType.java new file mode 100644 index 0000000000..24c824655e --- /dev/null +++ b/java/compiler/impl/src/com/intellij/packaging/impl/artifacts/JarArtifactType.java @@ -0,0 +1,42 @@ +package com.intellij.packaging.impl.artifacts; + +import com.intellij.packaging.artifacts.ArtifactType; +import com.intellij.packaging.elements.CompositePackagingElement; +import com.intellij.packaging.elements.PackagingElement; +import com.intellij.packaging.elements.PackagingElementResolvingContext; +import com.intellij.packaging.impl.elements.ArchivePackagingElement; +import com.intellij.packaging.ui.PackagingSourceItem; +import org.jetbrains.annotations.NotNull; + +import javax.swing.*; + +/** + * @author nik + */ +public class JarArtifactType extends ArtifactType { + public JarArtifactType() { + super("jar", "Jar"); + } + + @NotNull + @Override + public Icon getIcon() { + return PlainArtifactType.ARTIFACT_ICON; + } + + @Override + public String getDefaultPathFor(@NotNull PackagingSourceItem sourceItem) { + return "/"; + } + + @Override + public String getDefaultPathFor(@NotNull PackagingElement element, @NotNull PackagingElementResolvingContext context) { + return "/"; + } + + @NotNull + @Override + public CompositePackagingElement createRootElement(@NotNull String artifactName) { + return new ArchivePackagingElement(artifactName + ".jar"); + } +} diff --git a/java/compiler/impl/src/com/intellij/packaging/impl/ui/properties/ElementWithManifestPropertiesPanel.form b/java/compiler/impl/src/com/intellij/packaging/impl/ui/properties/ElementWithManifestPropertiesPanel.form index 512f8265cb..fcc32a1565 100644 --- a/java/compiler/impl/src/com/intellij/packaging/impl/ui/properties/ElementWithManifestPropertiesPanel.form +++ b/java/compiler/impl/src/com/intellij/packaging/impl/ui/properties/ElementWithManifestPropertiesPanel.form @@ -1,7 +1,7 @@
- + diff --git a/java/idea-ui/src/com/intellij/openapi/roots/ui/configuration/artifacts/ArtifactEditorImpl.java b/java/idea-ui/src/com/intellij/openapi/roots/ui/configuration/artifacts/ArtifactEditorImpl.java index 4d73d18ba0..dc97004da9 100644 --- a/java/idea-ui/src/com/intellij/openapi/roots/ui/configuration/artifacts/ArtifactEditorImpl.java +++ b/java/idea-ui/src/com/intellij/openapi/roots/ui/configuration/artifacts/ArtifactEditorImpl.java @@ -157,6 +157,7 @@ public class ArtifactEditorImpl implements ArtifactEditorEx { rightTopPanel.add(new JLabel("Available Elements (drag'n'drop to layout tree)"), BorderLayout.SOUTH); rightPanel.add(rightTopPanel, BorderLayout.NORTH); rightPanel.add(ScrollPaneFactory.createScrollPane(mySourceItemsTree.getTree()), BorderLayout.CENTER); + rightPanel.add(new JPanel(), BorderLayout.SOUTH); rightPanel.setBorder(border); mySplitter.setSecondComponent(rightPanel); diff --git a/java/idea-ui/src/com/intellij/openapi/roots/ui/configuration/artifacts/LayoutTreeComponent.java b/java/idea-ui/src/com/intellij/openapi/roots/ui/configuration/artifacts/LayoutTreeComponent.java index c47ef8d502..9554cd2bc4 100644 --- a/java/idea-ui/src/com/intellij/openapi/roots/ui/configuration/artifacts/LayoutTreeComponent.java +++ b/java/idea-ui/src/com/intellij/openapi/roots/ui/configuration/artifacts/LayoutTreeComponent.java @@ -101,7 +101,6 @@ public class LayoutTreeComponent implements DnDTarget, Disposable { final JPanel emptyPanel = new JPanel(); myPropertiesPanelWrapper = new JPanel(new CardLayout()); - myPropertiesPanelWrapper.setBorder(BorderFactory.createEmptyBorder(5, 5, 5, 5)); myPropertiesPanelWrapper.add(EMPTY_CARD, emptyPanel); myPropertiesPanelWrapper.add(PROPERTIES_CARD, myPropertiesPanel); } diff --git a/java/idea-ui/src/com/intellij/openapi/roots/ui/configuration/artifacts/sourceItems/ArtifactSourceItem.java b/java/idea-ui/src/com/intellij/openapi/roots/ui/configuration/artifacts/sourceItems/ArtifactSourceItem.java index df24668a61..5b41de4f1a 100644 --- a/java/idea-ui/src/com/intellij/openapi/roots/ui/configuration/artifacts/sourceItems/ArtifactSourceItem.java +++ b/java/idea-ui/src/com/intellij/openapi/roots/ui/configuration/artifacts/sourceItems/ArtifactSourceItem.java @@ -5,6 +5,8 @@ import com.intellij.packaging.artifacts.ArtifactPointerManager; import com.intellij.packaging.artifacts.ArtifactPointer; import com.intellij.packaging.elements.PackagingElement; import com.intellij.packaging.elements.PackagingElementFactory; +import com.intellij.packaging.elements.PackagingElementOutputKind; +import com.intellij.packaging.impl.artifacts.JarArtifactType; import com.intellij.packaging.impl.ui.ArtifactElementPresentation; import com.intellij.packaging.ui.*; import org.jetbrains.annotations.NotNull; @@ -41,6 +43,12 @@ public class ArtifactSourceItem extends PackagingSourceItem { return obj instanceof ArtifactSourceItem && myArtifact.equals(((ArtifactSourceItem)obj).myArtifact); } + @NotNull + @Override + public PackagingElementOutputKind getKindOfProducedElements() { + return myArtifact.getArtifactType() instanceof JarArtifactType ? PackagingElementOutputKind.JAR_FILES : PackagingElementOutputKind.OTHER; + } + public int hashCode() { return myArtifact.hashCode(); } diff --git a/resources/src/META-INF/IdeaPlugin.xml b/resources/src/META-INF/IdeaPlugin.xml index 197b520772..83f9497ad6 100644 --- a/resources/src/META-INF/IdeaPlugin.xml +++ b/resources/src/META-INF/IdeaPlugin.xml @@ -242,7 +242,8 @@ - + + -- 2.11.4.GIT