blob: 8899736cf1dfecb1821151e1c440773c772a878b [file] [log] [blame]
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();
}
}