| package org.jetbrains.android.importDependencies; |
| |
| import com.intellij.ide.util.ElementsChooser; |
| import com.intellij.ide.util.projectWizard.importSources.JavaModuleSourceRoot; |
| import com.intellij.openapi.project.Project; |
| import com.intellij.openapi.ui.DialogWrapper; |
| import com.intellij.ui.components.JBLabel; |
| import org.jetbrains.android.util.AndroidBundle; |
| import org.jetbrains.annotations.NotNull; |
| |
| import javax.swing.*; |
| import java.awt.*; |
| import java.util.List; |
| |
| /** |
| * @author Eugene.Kudelevsky |
| */ |
| class ImportSourceRootsDialog extends DialogWrapper { |
| private final ElementsChooser<JavaModuleSourceRoot> mySourcePathsChooser; |
| |
| public ImportSourceRootsDialog(@NotNull Project project, @NotNull List<JavaModuleSourceRoot> sourceRoots) { |
| super(project, false); |
| |
| setTitle(AndroidBundle.message("android.import.dependencies.source.roots.dialog.title")); |
| |
| mySourcePathsChooser = new ElementsChooser<JavaModuleSourceRoot>(true) { |
| @Override |
| public String getItemText(@NotNull JavaModuleSourceRoot sourceRoot) { |
| final String packagePrefix = sourceRoot.getPackagePrefix(); |
| final String path = sourceRoot.getDirectory().getAbsolutePath(); |
| return packagePrefix.length() > 0 ? path + " (" + packagePrefix + ")" : path; |
| } |
| }; |
| mySourcePathsChooser.setElements(sourceRoots, true); |
| |
| init(); |
| } |
| |
| @Override |
| protected JComponent createCenterPanel() { |
| final JPanel panel = new JPanel(new BorderLayout()); |
| panel.setPreferredSize(new Dimension(350, 200)); |
| final JBLabel label = new JBLabel(AndroidBundle.message("android.import.dependencies.source.roots.dialog.label")); |
| label.setBorder(BorderFactory.createEmptyBorder(0, 0, 5, 0)); |
| panel.add(label, BorderLayout.NORTH); |
| panel.add(mySourcePathsChooser, BorderLayout.CENTER); |
| return panel; |
| } |
| |
| public List<JavaModuleSourceRoot> getMarkedElements() { |
| return mySourcePathsChooser.getMarkedElements(); |
| } |
| } |