mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
Correctly handle checkbox state changes in New Project | Gradle (IDEA-188755)
This commit is contained in:
+1
-1
@@ -285,7 +285,7 @@ public class AddSupportForFrameworksPanel implements Disposable {
|
||||
|
||||
private Collection<FrameworkSupportNodeBase> createNodes(List<FrameworkSupportInModuleProvider> providers,
|
||||
Set<String> associated,
|
||||
final Set<String> preselected) {
|
||||
final Collection<String> preselected) {
|
||||
Map<String, FrameworkSupportNode> nodes = new HashMap<>();
|
||||
Map<FrameworkGroup<?>, FrameworkGroupNode> groups = new HashMap<>();
|
||||
List<FrameworkSupportNodeBase> roots = new ArrayList<>();
|
||||
|
||||
@@ -3,6 +3,7 @@ package org.jetbrains.plugins.gradle.service.project.wizard;
|
||||
|
||||
import com.intellij.framework.addSupport.FrameworkSupportInModuleProvider;
|
||||
import com.intellij.ide.util.newProjectWizard.AddSupportForFrameworksPanel;
|
||||
import com.intellij.ide.util.newProjectWizard.FrameworkSupportNodeBase;
|
||||
import com.intellij.ide.util.newProjectWizard.impl.FrameworkSupportModelBase;
|
||||
import com.intellij.ide.util.projectWizard.ModuleBuilder;
|
||||
import com.intellij.ide.util.projectWizard.ModuleWizardStep;
|
||||
@@ -22,11 +23,10 @@ import org.jetbrains.plugins.gradle.frameworkSupport.GradleFrameworkSupportProvi
|
||||
import org.jetbrains.plugins.gradle.frameworkSupport.KotlinDslGradleFrameworkSupportProvider;
|
||||
|
||||
import javax.swing.*;
|
||||
import javax.swing.event.ChangeEvent;
|
||||
import javax.swing.event.ChangeListener;
|
||||
import java.awt.*;
|
||||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
import java.util.Set;
|
||||
|
||||
/**
|
||||
* @author Vladislav.Soroka
|
||||
@@ -55,7 +55,8 @@ public class GradleFrameworksWizardStep extends ModuleWizardStep implements Disp
|
||||
myFrameworksPanel =
|
||||
new AddSupportForFrameworksPanel(Collections.emptyList(), model, true, null);
|
||||
|
||||
setGradleFrameworkSupportProviders();
|
||||
setGradleFrameworkSupportProviders(Collections.singleton(
|
||||
"java"/*KotlinDslGradleJavaFrameworkSupportProvider.ID*/));
|
||||
|
||||
Disposer.register(this, myFrameworksPanel);
|
||||
myFrameworksPanelPlaceholder.add(myFrameworksPanel.getMainPanel());
|
||||
@@ -70,32 +71,28 @@ public class GradleFrameworksWizardStep extends ModuleWizardStep implements Disp
|
||||
|
||||
((CardLayout)myOptionsPanel.getLayout()).show(myOptionsPanel, "frameworks card");
|
||||
|
||||
kdslCheckBox.addChangeListener(new ChangeListener() {
|
||||
@Override
|
||||
public void stateChanged(ChangeEvent e) {
|
||||
builder.setUseKotlinDsl(kdslCheckBox.isSelected());
|
||||
kdslCheckBox.addActionListener((actionEvent) -> {
|
||||
builder.setUseKotlinDsl(kdslCheckBox.isSelected());
|
||||
|
||||
if (kdslCheckBox.isSelected()) {
|
||||
setKotlinDslGradleFrameworkSupportProviders();
|
||||
} else {
|
||||
setGradleFrameworkSupportProviders();
|
||||
}
|
||||
Set<String> selectedNodeIds = ContainerUtil.map2Set(myFrameworksPanel.getSelectedNodes(), FrameworkSupportNodeBase::getId);
|
||||
if (kdslCheckBox.isSelected()) {
|
||||
setKotlinDslGradleFrameworkSupportProviders(selectedNodeIds);
|
||||
} else {
|
||||
setGradleFrameworkSupportProviders(selectedNodeIds);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
private void setKotlinDslGradleFrameworkSupportProviders() {
|
||||
private void setKotlinDslGradleFrameworkSupportProviders(Set<String> selectedNodeIds) {
|
||||
List<FrameworkSupportInModuleProvider> providers = ContainerUtil.newArrayList();
|
||||
Collections.addAll(providers, KotlinDslGradleFrameworkSupportProvider.EP_NAME.getExtensions());
|
||||
myFrameworksPanel.setProviders(providers, Collections.emptySet(), Collections.singleton(
|
||||
"java"/*KotlinDslGradleJavaFrameworkSupportProvider.ID*/));
|
||||
myFrameworksPanel.setProviders(providers, Collections.emptySet(), selectedNodeIds);
|
||||
}
|
||||
|
||||
private void setGradleFrameworkSupportProviders() {
|
||||
private void setGradleFrameworkSupportProviders(Set<String> selectedNodeIds) {
|
||||
List<FrameworkSupportInModuleProvider> providers = ContainerUtil.newArrayList();
|
||||
Collections.addAll(providers, GradleFrameworkSupportProvider.EP_NAME.getExtensions());
|
||||
myFrameworksPanel
|
||||
.setProviders(providers, Collections.emptySet(), Collections.singleton("java"/*GradleJavaFrameworkSupportProvider.ID*/));
|
||||
myFrameworksPanel.setProviders(providers, Collections.emptySet(), selectedNodeIds);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
Reference in New Issue
Block a user