mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
extract SdkPathEditor subclass from PathEditor (to make it easier to use it for editing lists of paths in places which are unrelated to an SDK)
This commit is contained in:
@@ -62,7 +62,7 @@ import java.util.Set;
|
||||
public class SdkEditor implements Configurable, Place.Navigator {
|
||||
private static final Logger LOG = Logger.getInstance("#com.intellij.openapi.projectRoots.ui.SdkEditor");
|
||||
private Sdk mySdk;
|
||||
private final Map<OrderRootType, PathEditor> myPathEditors = new HashMap<OrderRootType, PathEditor>();
|
||||
private final Map<OrderRootType, SdkPathEditor> myPathEditors = new HashMap<OrderRootType, SdkPathEditor>();
|
||||
|
||||
private TextFieldWithBrowseButton myHomeComponent;
|
||||
private final Map<SdkType, AdditionalDataConfigurable> myAdditionalDataConfigurables = new HashMap<SdkType, AdditionalDataConfigurable>();
|
||||
@@ -131,7 +131,7 @@ public class SdkEditor implements Configurable, Place.Navigator {
|
||||
myTabbedPane = new TabbedPaneWrapper(myDisposable);
|
||||
for (OrderRootType type : OrderRootType.getAllTypes()) {
|
||||
if (mySdk == null || showTabForType(type)) {
|
||||
final PathEditor pathEditor = OrderRootTypeUIFactory.FACTORY.getByKey(type).createPathEditor(mySdk);
|
||||
final SdkPathEditor pathEditor = OrderRootTypeUIFactory.FACTORY.getByKey(type).createPathEditor(mySdk);
|
||||
if (pathEditor != null) {
|
||||
myTabbedPane.addTab(pathEditor.getDisplayName(), pathEditor.createComponent());
|
||||
myPathEditors.put(type, pathEditor);
|
||||
@@ -201,7 +201,7 @@ public class SdkEditor implements Configurable, Place.Navigator {
|
||||
myInitialPath = mySdk.getHomePath();
|
||||
final SdkModificator sdkModificator = mySdk.getSdkModificator();
|
||||
sdkModificator.setHomePath(getHomeValue().replace(File.separatorChar, '/'));
|
||||
for (PathEditor pathEditor : myPathEditors.values()) {
|
||||
for (SdkPathEditor pathEditor : myPathEditors.values()) {
|
||||
pathEditor.apply(sdkModificator);
|
||||
}
|
||||
ApplicationManager.getApplication().runWriteAction(new Runnable() { // fix SCR #29193
|
||||
@@ -219,7 +219,7 @@ public class SdkEditor implements Configurable, Place.Navigator {
|
||||
public void reset(){
|
||||
if (mySdk == null){
|
||||
setHomePathValue("");
|
||||
for (PathEditor pathEditor : myPathEditors.values()) {
|
||||
for (SdkPathEditor pathEditor : myPathEditors.values()) {
|
||||
pathEditor.reset(null);
|
||||
}
|
||||
}
|
||||
|
||||
+3
-3
@@ -23,7 +23,7 @@ package com.intellij.openapi.roots.ui.configuration.libraryEditor;
|
||||
import com.intellij.openapi.fileChooser.FileChooserDescriptorFactory;
|
||||
import com.intellij.openapi.project.ProjectBundle;
|
||||
import com.intellij.openapi.projectRoots.Sdk;
|
||||
import com.intellij.openapi.projectRoots.ui.PathEditor;
|
||||
import com.intellij.openapi.projectRoots.ui.SdkPathEditor;
|
||||
import com.intellij.openapi.roots.AnnotationOrderRootType;
|
||||
import com.intellij.openapi.roots.ui.OrderRootTypeUIFactory;
|
||||
import com.intellij.openapi.util.IconLoader;
|
||||
@@ -43,8 +43,8 @@ public class AnnotationsOrderRootTypeUIFactory implements OrderRootTypeUIFactory
|
||||
return ProjectBundle.message("sdk.configure.annotations.tab");
|
||||
}
|
||||
|
||||
public PathEditor createPathEditor(Sdk sdk) {
|
||||
return new PathEditor(ProjectBundle.message("sdk.configure.annotations.tab"), AnnotationOrderRootType.getInstance(),
|
||||
public SdkPathEditor createPathEditor(Sdk sdk) {
|
||||
return new SdkPathEditor(ProjectBundle.message("sdk.configure.annotations.tab"), AnnotationOrderRootType.getInstance(),
|
||||
FileChooserDescriptorFactory.createSingleFolderDescriptor());
|
||||
}
|
||||
}
|
||||
|
||||
+3
-3
@@ -23,7 +23,7 @@ package com.intellij.openapi.roots.ui.configuration.libraryEditor;
|
||||
import com.intellij.openapi.fileChooser.FileChooserDescriptor;
|
||||
import com.intellij.openapi.project.ProjectBundle;
|
||||
import com.intellij.openapi.projectRoots.Sdk;
|
||||
import com.intellij.openapi.projectRoots.ui.PathEditor;
|
||||
import com.intellij.openapi.projectRoots.ui.SdkPathEditor;
|
||||
import com.intellij.openapi.roots.OrderRootType;
|
||||
import com.intellij.openapi.roots.ui.OrderRootTypeUIFactory;
|
||||
import com.intellij.openapi.util.IconLoader;
|
||||
@@ -33,8 +33,8 @@ import javax.swing.*;
|
||||
public class ClassesOrderRootTypeUIFactory implements OrderRootTypeUIFactory {
|
||||
private static final Icon ICON = IconLoader.getIcon("/nodes/compiledClassesFolder.png");
|
||||
|
||||
public PathEditor createPathEditor(Sdk sdk) {
|
||||
return new PathEditor(ProjectBundle.message("sdk.configure.classpath.tab"), OrderRootType.CLASSES, new FileChooserDescriptor(true, true, true, false, true, true));
|
||||
public SdkPathEditor createPathEditor(Sdk sdk) {
|
||||
return new SdkPathEditor(ProjectBundle.message("sdk.configure.classpath.tab"), OrderRootType.CLASSES, new FileChooserDescriptor(true, true, true, false, true, true));
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
+3
-4
@@ -20,13 +20,12 @@
|
||||
*/
|
||||
package com.intellij.openapi.roots.ui.configuration.libraryEditor;
|
||||
|
||||
import com.intellij.openapi.fileChooser.FileChooserDescriptor;
|
||||
import com.intellij.openapi.fileChooser.FileChooserDescriptorFactory;
|
||||
import com.intellij.openapi.project.ProjectBundle;
|
||||
import com.intellij.openapi.projectRoots.JavaSdk;
|
||||
import com.intellij.openapi.projectRoots.JavaSdkVersion;
|
||||
import com.intellij.openapi.projectRoots.Sdk;
|
||||
import com.intellij.openapi.projectRoots.ui.PathEditor;
|
||||
import com.intellij.openapi.projectRoots.ui.SdkPathEditor;
|
||||
import com.intellij.openapi.projectRoots.ui.Util;
|
||||
import com.intellij.openapi.roots.JavadocOrderRootType;
|
||||
import com.intellij.openapi.roots.ui.OrderRootTypeUIFactory;
|
||||
@@ -38,7 +37,7 @@ import javax.swing.*;
|
||||
public class JavadocOrderRootTypeUIFactory implements OrderRootTypeUIFactory {
|
||||
private static final Icon ICON = IconLoader.getIcon("/nodes/javaDocFolder.png");
|
||||
|
||||
public PathEditor createPathEditor(Sdk sdk) {
|
||||
public SdkPathEditor createPathEditor(Sdk sdk) {
|
||||
return new JavadocPathsEditor(sdk);
|
||||
}
|
||||
|
||||
@@ -52,7 +51,7 @@ public class JavadocOrderRootTypeUIFactory implements OrderRootTypeUIFactory {
|
||||
return ProjectBundle.message("library.javadocs.node");
|
||||
}
|
||||
|
||||
static class JavadocPathsEditor extends PathEditor {
|
||||
static class JavadocPathsEditor extends SdkPathEditor {
|
||||
private final Sdk mySdk;
|
||||
|
||||
public JavadocPathsEditor(Sdk sdk) {
|
||||
|
||||
+4
-4
@@ -23,9 +23,9 @@ package com.intellij.openapi.roots.ui.configuration.libraryEditor;
|
||||
import com.intellij.openapi.fileChooser.FileChooserDescriptor;
|
||||
import com.intellij.openapi.project.ProjectBundle;
|
||||
import com.intellij.openapi.projectRoots.Sdk;
|
||||
import com.intellij.openapi.roots.ui.OrderRootTypeUIFactory;
|
||||
import com.intellij.openapi.projectRoots.ui.PathEditor;
|
||||
import com.intellij.openapi.projectRoots.ui.SdkPathEditor;
|
||||
import com.intellij.openapi.roots.OrderRootType;
|
||||
import com.intellij.openapi.roots.ui.OrderRootTypeUIFactory;
|
||||
import com.intellij.openapi.roots.ui.configuration.PathUIUtils;
|
||||
import com.intellij.openapi.util.IconLoader;
|
||||
import com.intellij.openapi.vfs.VirtualFile;
|
||||
@@ -36,8 +36,8 @@ import java.awt.*;
|
||||
public class SourcesOrderRootTypeUIFactory implements OrderRootTypeUIFactory {
|
||||
private static final Icon ICON = IconLoader.getIcon("/nodes/sourceFolder.png");
|
||||
|
||||
public PathEditor createPathEditor(Sdk sdk) {
|
||||
return new PathEditor(ProjectBundle.message("sdk.configure.sourcepath.tab"), OrderRootType.SOURCES, new FileChooserDescriptor(true, true, true, false, true, true)) {
|
||||
public SdkPathEditor createPathEditor(Sdk sdk) {
|
||||
return new SdkPathEditor(ProjectBundle.message("sdk.configure.sourcepath.tab"), OrderRootType.SOURCES, new FileChooserDescriptor(true, true, true, false, true, true)) {
|
||||
@Override
|
||||
protected VirtualFile[] adjustAddedFileSet(final Component component, final VirtualFile[] files) {
|
||||
return PathUIUtils.scanAndSelectDetectedJavaSourceRoots(component, files);
|
||||
|
||||
Reference in New Issue
Block a user