From eba4fa09ef93e529acd827dadff57b68fee8bf98 Mon Sep 17 00:00:00 2001 From: Dmitry Avdeev Date: Mon, 1 Oct 2012 18:34:50 +0400 Subject: [PATCH] hyperlinks & descriptions --- .../openapi/module/JavaModuleType.java | 8 +++++- .../templates/GithubBasedProjectTemplate.java | 12 ++++++++- .../GithubBasedTemplatesFactory.java | 2 +- .../templates/GithubProjectGeneratorPeer.form | 26 ++++++++++++------- .../templates/GithubProjectGeneratorPeer.java | 19 +++++++++++--- 5 files changed, 51 insertions(+), 16 deletions(-) diff --git a/java/java-impl/src/com/intellij/openapi/module/JavaModuleType.java b/java/java-impl/src/com/intellij/openapi/module/JavaModuleType.java index d1cc04c042bc..f2c9e1830b4f 100644 --- a/java/java-impl/src/com/intellij/openapi/module/JavaModuleType.java +++ b/java/java-impl/src/com/intellij/openapi/module/JavaModuleType.java @@ -37,8 +37,14 @@ import java.util.ArrayList; public class JavaModuleType extends ModuleType { + public static ModuleType getModuleType() { + return ModuleTypeManager.getInstance().findByID(JAVA_MODULE); + } + + private static final String JAVA_MODULE = "JAVA_MODULE"; + public JavaModuleType() { - this("JAVA_MODULE"); + this(JAVA_MODULE); } protected JavaModuleType(@NonNls String id) { diff --git a/platform/lang-impl/src/com/intellij/platform/templates/GithubBasedProjectTemplate.java b/platform/lang-impl/src/com/intellij/platform/templates/GithubBasedProjectTemplate.java index 6833e8b894b3..0c7a4d5bfdaf 100644 --- a/platform/lang-impl/src/com/intellij/platform/templates/GithubBasedProjectTemplate.java +++ b/platform/lang-impl/src/com/intellij/platform/templates/GithubBasedProjectTemplate.java @@ -15,6 +15,8 @@ */ package com.intellij.platform.templates; +import com.intellij.openapi.module.ModuleType; +import com.intellij.openapi.module.ModuleTypeManager; import org.jetbrains.annotations.NotNull; /** @@ -27,17 +29,20 @@ public class GithubBasedProjectTemplate extends AbstractGithubTagDownloadedProje private String myGithubRepositoryName; private String myHomepageUrl; private String myDescription; + private final String myModuleType; public GithubBasedProjectTemplate(String displayName, String githubUserName, String githubRepositoryName, String homepageUrl, - String description) { + String description, + String moduleType) { myDisplayName = displayName; myGithubUserName = githubUserName; myGithubRepositoryName = githubRepositoryName; myHomepageUrl = homepageUrl; myDescription = description; + myModuleType = moduleType; } @NotNull @@ -66,4 +71,9 @@ public class GithubBasedProjectTemplate extends AbstractGithubTagDownloadedProje public String getDescription() { return myDescription; } + + @Override + public ModuleType getModuleType() { + return ModuleTypeManager.getInstance().findByID("JAVA_MODULE"); + } } diff --git a/platform/lang-impl/src/com/intellij/platform/templates/GithubBasedTemplatesFactory.java b/platform/lang-impl/src/com/intellij/platform/templates/GithubBasedTemplatesFactory.java index 04b0ab50403b..4ecd25a0d2b9 100644 --- a/platform/lang-impl/src/com/intellij/platform/templates/GithubBasedTemplatesFactory.java +++ b/platform/lang-impl/src/com/intellij/platform/templates/GithubBasedTemplatesFactory.java @@ -28,6 +28,6 @@ public class GithubBasedTemplatesFactory implements ProjectTemplatesFactory { @NotNull @Override public ProjectTemplate[] createTemplates() { - return new ProjectTemplate[]{new GithubBasedProjectTemplate("Web Application", null, "JetBrains/idea-templates", null, null)}; + return new ProjectTemplate[]{new GithubBasedProjectTemplate("Web Application", null, "JetBrains/idea-templates", null, null, "JAVA_MODULE")}; } } diff --git a/platform/lang-impl/src/com/intellij/platform/templates/GithubProjectGeneratorPeer.form b/platform/lang-impl/src/com/intellij/platform/templates/GithubProjectGeneratorPeer.form index 80050ffed46f..72356112763f 100644 --- a/platform/lang-impl/src/com/intellij/platform/templates/GithubProjectGeneratorPeer.form +++ b/platform/lang-impl/src/com/intellij/platform/templates/GithubProjectGeneratorPeer.form @@ -1,6 +1,6 @@
- + @@ -10,7 +10,7 @@ - + @@ -19,17 +19,17 @@ - + - + - + @@ -37,7 +37,7 @@ - + @@ -47,15 +47,15 @@ - + - + - + @@ -63,7 +63,13 @@ - + + + + + + + diff --git a/platform/lang-impl/src/com/intellij/platform/templates/GithubProjectGeneratorPeer.java b/platform/lang-impl/src/com/intellij/platform/templates/GithubProjectGeneratorPeer.java index 79ce0b292fa0..5a8d166a30f3 100644 --- a/platform/lang-impl/src/com/intellij/platform/templates/GithubProjectGeneratorPeer.java +++ b/platform/lang-impl/src/com/intellij/platform/templates/GithubProjectGeneratorPeer.java @@ -7,6 +7,7 @@ import com.intellij.openapi.ui.ValidationInfo; import com.intellij.platform.WebProjectGenerator; import com.intellij.ui.HyperlinkLabel; import com.intellij.ui.ListCellRendererWrapper; +import com.intellij.ui.components.JBLabel; import com.intellij.util.ObjectUtils; import com.intellij.util.containers.ContainerUtil; import com.intellij.util.ui.UIUtil; @@ -34,6 +35,8 @@ public class GithubProjectGeneratorPeer implements WebProjectGenerator.Generator private HyperlinkLabel myHyperlink; private JLabel myErrorMessage; private JButton myReloadButton; + private JBLabel myHomepageLabel; + private JBLabel myDescriptionLabel; public GithubProjectGeneratorPeer(@NotNull AbstractGithubTagDownloadedProjectGenerator generator) { String ghUserName = generator.getGithubUserName(); @@ -42,9 +45,19 @@ public class GithubProjectGeneratorPeer implements WebProjectGenerator.Generator "master", String.format("https://github.com/%s/%s/zipball/master", ghUserName, ghRepoName) ); - myHyperlink.setHyperlinkText(generator.getHomepageUrl()); - myHyperlink.setHyperlinkTarget(generator.getHomepageUrl()); - myHyperlink.revalidate(); + String url = generator.getHomepageUrl(); + if (url != null) { + myHomepageLabel.setVisible(true); + myHyperlink.setVisible(true); + myHyperlink.setHyperlinkText(url); + myHyperlink.setHyperlinkTarget(url); + myHyperlink.revalidate(); + } + else { + myHomepageLabel.setVisible(false); + myHyperlink.setVisible(false); + } + myDescriptionLabel.setText(generator.getDescription()); myComboBox.setRenderer(new ListCellRendererWrapper() { @Override