mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
hide "facets" in Project Settings and do not show facet detection step in wizard if facets aren't available
This commit is contained in:
@@ -4,11 +4,18 @@
|
||||
|
||||
package com.intellij.ide.util.importProject;
|
||||
|
||||
import com.intellij.facet.FacetType;
|
||||
import com.intellij.facet.FacetTypeRegistry;
|
||||
import com.intellij.facet.autodetecting.FacetDetector;
|
||||
import com.intellij.facet.autodetecting.UnderlyingFacetSelector;
|
||||
import com.intellij.facet.impl.autodetecting.FacetDetectorForWizardRegistry;
|
||||
import com.intellij.facet.impl.autodetecting.FacetDetectorRegistryEx;
|
||||
import com.intellij.facet.impl.autodetecting.facetsTree.DetectedFacetsTreeComponent;
|
||||
import com.intellij.facet.impl.ui.FacetDetectionProcessor;
|
||||
import com.intellij.ide.util.newProjectWizard.ProjectFromSourcesBuilder;
|
||||
import com.intellij.ide.util.projectWizard.AbstractStepWithProgress;
|
||||
import com.intellij.openapi.application.ApplicationNamesInfo;
|
||||
import com.intellij.openapi.fileTypes.FileType;
|
||||
import com.intellij.openapi.module.Module;
|
||||
import com.intellij.openapi.module.ModuleType;
|
||||
import com.intellij.openapi.progress.ProgressIndicator;
|
||||
@@ -16,8 +23,11 @@ import com.intellij.openapi.progress.ProgressManager;
|
||||
import com.intellij.openapi.project.ProjectBundle;
|
||||
import com.intellij.openapi.roots.ModifiableRootModel;
|
||||
import com.intellij.openapi.util.Comparing;
|
||||
import com.intellij.openapi.util.Ref;
|
||||
import com.intellij.openapi.vfs.VirtualFileFilter;
|
||||
import com.intellij.ui.ScrollPaneFactory;
|
||||
import org.jetbrains.annotations.NonNls;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
|
||||
import javax.swing.*;
|
||||
import java.awt.*;
|
||||
@@ -118,6 +128,33 @@ public abstract class FacetDetectionStep extends AbstractStepWithProgress<Map<Mo
|
||||
return myIcon;
|
||||
}
|
||||
|
||||
public static boolean isEnabled(@NotNull ModuleType moduleType) {
|
||||
for (FacetType<?,?> facetType : FacetTypeRegistry.getInstance().getFacetTypes()) {
|
||||
if (facetType.isSuitableModuleType(moduleType)) {
|
||||
final Ref<Boolean> hasDetector = Ref.create(false);
|
||||
//noinspection unchecked
|
||||
facetType.registerDetectors(new FacetDetectorRegistryEx(new FacetDetectorForWizardRegistry() {
|
||||
public void register(@NotNull FileType fileType,
|
||||
@NotNull VirtualFileFilter virtualFileFilter,
|
||||
@NotNull FacetDetector facetDetector) {
|
||||
hasDetector.set(true);
|
||||
}
|
||||
|
||||
public void register(FileType fileType,
|
||||
@NotNull VirtualFileFilter virtualFileFilter,
|
||||
FacetDetector facetDetector,
|
||||
UnderlyingFacetSelector underlyingFacetSelector) {
|
||||
hasDetector.set(true);
|
||||
}
|
||||
}, null));
|
||||
if (hasDetector.get()) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
@NonNls
|
||||
public String getHelpId() {
|
||||
return "reference.dialogs.new.project.fromCode.facets";
|
||||
|
||||
+9
-7
@@ -53,13 +53,15 @@ public class CreateFromSourcesMode extends WizardMode {
|
||||
sequence.addCommonStep(new ModulesDetectionStep(projectBuilder, moduleInsight, icon, "reference.dialogs.new.project.fromCode.page2"));
|
||||
sequence.addCommonStep(factory.createProjectJdkStep(context));
|
||||
|
||||
FacetDetectionStep facetDetectionStep = new FacetDetectionStep(icon, StdModuleTypes.JAVA) {
|
||||
protected List<ModuleDescriptor> getModuleDescriptors() {
|
||||
return projectBuilder.getModules();
|
||||
}
|
||||
};
|
||||
projectBuilder.addConfigurationUpdater(facetDetectionStep);
|
||||
sequence.addCommonStep(facetDetectionStep);
|
||||
if (FacetDetectionStep.isEnabled(StdModuleTypes.JAVA)) {
|
||||
FacetDetectionStep facetDetectionStep = new FacetDetectionStep(icon, StdModuleTypes.JAVA) {
|
||||
protected List<ModuleDescriptor> getModuleDescriptors() {
|
||||
return projectBuilder.getModules();
|
||||
}
|
||||
};
|
||||
projectBuilder.addConfigurationUpdater(facetDetectionStep);
|
||||
sequence.addCommonStep(facetDetectionStep);
|
||||
}
|
||||
|
||||
return sequence;
|
||||
}
|
||||
|
||||
+3
-1
@@ -205,7 +205,9 @@ public class ProjectStructureConfigurable extends BaseConfigurable implements Se
|
||||
}
|
||||
|
||||
private void addFacetsConfig() {
|
||||
addConfigurable(myFacetStructureConfigurable);
|
||||
if (FacetStructureConfigurable.isEnabled()) {
|
||||
addConfigurable(myFacetStructureConfigurable);
|
||||
}
|
||||
}
|
||||
|
||||
private void addJdkListConfig() {
|
||||
|
||||
+4
@@ -57,6 +57,10 @@ public class FacetStructureConfigurable extends BaseStructureConfigurable {
|
||||
return ShowSettingsUtil.getInstance().findProjectConfigurable(project, FacetStructureConfigurable.class);
|
||||
}
|
||||
|
||||
public static boolean isEnabled() {
|
||||
return FacetTypeRegistry.getInstance().getFacetTypes().length > 0;
|
||||
}
|
||||
|
||||
protected void loadTree() {
|
||||
myTree.setRootVisible(false);
|
||||
myTree.setShowsRootHandles(true);
|
||||
|
||||
Reference in New Issue
Block a user