mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
IDEADEV-40728: Artifacts editor: Choose library dialog: libraries could be sorted
This commit is contained in:
+1
-1
@@ -81,7 +81,7 @@ public abstract class FacetBasedPackagingElementType<E extends PackagingElement<
|
||||
|
||||
private class ChooseFacetsDialog extends ChooseElementsDialog<F> {
|
||||
private ChooseFacetsDialog(Project project, List<? extends F> items, String title, String description) {
|
||||
super(project, items, title, description);
|
||||
super(project, items, title, description, true);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -81,11 +81,6 @@ public class ClasspathPanel extends JPanel {
|
||||
private final EventDispatcher<OrderPanelListener> myListeners = EventDispatcher.create(OrderPanelListener.class);
|
||||
private PopupAction[] myPopupActions = null;
|
||||
private Icon[] myIcons = null;
|
||||
private static final Comparator<Module> MODULES_COMPARATOR = new Comparator<Module>() {
|
||||
public int compare(Module elem1, Module elem2) {
|
||||
return elem1.getName().compareToIgnoreCase(elem2.getName());
|
||||
}
|
||||
};
|
||||
private JButton myEditButton;
|
||||
|
||||
protected ClasspathPanel(Project project, ModifiableRootModel rootModel, final ModulesProvider modulesProvider) {
|
||||
@@ -691,7 +686,6 @@ public class ClasspathPanel extends JPanel {
|
||||
elements.add(module);
|
||||
}
|
||||
}
|
||||
Collections.sort(elements, MODULES_COMPARATOR);
|
||||
return elements;
|
||||
}
|
||||
|
||||
|
||||
+3
-3
@@ -79,7 +79,7 @@ public class ArtifactEditorContextImpl implements ArtifactEditorContext {
|
||||
}
|
||||
|
||||
public List<Artifact> chooseArtifacts(final List<? extends Artifact> artifacts, final String title) {
|
||||
ChooseArtifactsDialog dialog = new ChooseArtifactsDialog(getProject(), artifacts, title, "");
|
||||
ChooseArtifactsDialog dialog = new ChooseArtifactsDialog(getProject(), artifacts, title, null);
|
||||
dialog.show();
|
||||
return dialog.isOK() ? dialog.getChosenElements() : Collections.<Artifact>emptyList();
|
||||
}
|
||||
@@ -118,14 +118,14 @@ public class ArtifactEditorContextImpl implements ArtifactEditorContext {
|
||||
}
|
||||
|
||||
public List<Module> chooseModules(final List<Module> modules, final String title) {
|
||||
ChooseModulesDialog dialog = new ChooseModulesDialog(getProject(), modules, title, "");
|
||||
ChooseModulesDialog dialog = new ChooseModulesDialog(getProject(), modules, title, null);
|
||||
dialog.show();
|
||||
List<Module> selected = dialog.getChosenElements();
|
||||
return dialog.isOK() ? selected : Collections.<Module>emptyList();
|
||||
}
|
||||
|
||||
public List<Library> chooseLibraries(final List<Library> libraries, final String title) {
|
||||
ChooseLibrariesDialog dialog = new ChooseLibrariesDialog(getProject(), libraries, title, "");
|
||||
ChooseLibrariesDialog dialog = new ChooseLibrariesDialog(getProject(), libraries, title, null);
|
||||
dialog.show();
|
||||
return dialog.isOK() ? dialog.getChosenElements() : Collections.<Library>emptyList();
|
||||
}
|
||||
|
||||
+1
-5
@@ -13,11 +13,7 @@ import java.util.List;
|
||||
public class ChooseArtifactsDialog extends ChooseElementsDialog<Artifact> {
|
||||
|
||||
public ChooseArtifactsDialog(Project project, List<? extends Artifact> items, String title, String description) {
|
||||
super(project, items, title, description);
|
||||
}
|
||||
|
||||
public ChooseArtifactsDialog(JComponent component, String title, List<Artifact> items) {
|
||||
super(component, items, title, true);
|
||||
super(project, items, title, description, true);
|
||||
}
|
||||
|
||||
protected String getItemText(Artifact item) {
|
||||
|
||||
+2
-2
@@ -21,11 +21,11 @@ import java.util.List;
|
||||
public class ChooseModulesDialog extends ChooseElementsDialog<Module> {
|
||||
|
||||
public ChooseModulesDialog(Component parent, final List<Module> items, final String title) {
|
||||
super(parent, items, title);
|
||||
super(parent, items, title, null, true);
|
||||
}
|
||||
|
||||
public ChooseModulesDialog(final Project project, final List<? extends Module> items, final String title, final String description) {
|
||||
super(project, items, title, description);
|
||||
super(project, items, title, description, true);
|
||||
}
|
||||
|
||||
protected Icon getItemIcon(final Module item) {
|
||||
|
||||
-5
@@ -470,11 +470,6 @@ public class LibraryTableEditor implements Disposable {
|
||||
private void appendLibraryToModules(final ModuleStructureConfigurable rootConfigurable, final Library libraryToSelect) {
|
||||
final List<Module> modules = new ArrayList<Module>();
|
||||
modules.addAll(Arrays.asList(rootConfigurable.getModules()));
|
||||
Collections.sort(modules, new Comparator<Module>() {
|
||||
public int compare(final Module m1, final Module m2) {
|
||||
return m1.getName().compareToIgnoreCase(m2.getName());
|
||||
}
|
||||
});
|
||||
final ChooseModulesDialog dlg = new ChooseModulesDialog(myProject,
|
||||
modules, ProjectBundle.message("choose.modules.dialog.title"),
|
||||
ProjectBundle.message("choose.modules.dialog.description", libraryToSelect.getName()));
|
||||
|
||||
+1
-5
@@ -16,11 +16,7 @@ import java.util.List;
|
||||
public class ChooseLibrariesDialog extends ChooseElementsDialog<Library> {
|
||||
|
||||
public ChooseLibrariesDialog(Project project, List<? extends Library> items, String title, String description) {
|
||||
super(project, items, title, description);
|
||||
}
|
||||
|
||||
public ChooseLibrariesDialog(JComponent component, String title, List<Library> items) {
|
||||
super(component, items, title, true);
|
||||
super(project, items, title, description, true);
|
||||
}
|
||||
|
||||
protected String getItemText(final Library item) {
|
||||
|
||||
@@ -9,9 +9,7 @@ import org.jetbrains.annotations.Nullable;
|
||||
import javax.swing.*;
|
||||
import java.awt.*;
|
||||
import java.awt.event.*;
|
||||
import java.util.Collection;
|
||||
import java.util.Collections;
|
||||
import java.util.Comparator;
|
||||
import java.util.*;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
@@ -22,28 +20,26 @@ public abstract class ChooseElementsDialog<T> extends DialogWrapper {
|
||||
private String myDescription;
|
||||
|
||||
public ChooseElementsDialog(Project project, List<? extends T> items, String title, final String description) {
|
||||
this(project, items, title, description, false);
|
||||
}
|
||||
|
||||
public ChooseElementsDialog(Project project, List<? extends T> items, String title, final String description, boolean sort) {
|
||||
super(project, true);
|
||||
myDescription = description;
|
||||
initializeDialog(items, title);
|
||||
initializeDialog(items, title, sort);
|
||||
}
|
||||
|
||||
public ChooseElementsDialog(Component parent, List<T> items, String title) {
|
||||
this(parent, items, title, false);
|
||||
this(parent, items, title, null, false);
|
||||
}
|
||||
|
||||
public ChooseElementsDialog(Component parent, List<T> items, String title, final boolean sort) {
|
||||
public ChooseElementsDialog(Component parent, List<T> items, String title, @Nullable String description, final boolean sort) {
|
||||
super(parent, true);
|
||||
if (sort) {
|
||||
Collections.sort(items, new Comparator<T>() {
|
||||
public int compare(final T o1, final T o2) {
|
||||
return getItemText(o1).compareToIgnoreCase(getItemText(o2));
|
||||
}
|
||||
});
|
||||
}
|
||||
initializeDialog(items, title);
|
||||
myDescription = description;
|
||||
initializeDialog(items, title, sort);
|
||||
}
|
||||
|
||||
private void initializeDialog(final List<? extends T> items, final String title) {
|
||||
private void initializeDialog(final List<? extends T> items, final String title, boolean sort) {
|
||||
setTitle(title);
|
||||
myChooser = new ElementsChooser<T>(false) {
|
||||
protected String getItemText(@NotNull final T item) {
|
||||
@@ -52,7 +48,15 @@ public abstract class ChooseElementsDialog<T> extends DialogWrapper {
|
||||
};
|
||||
myChooser.setColorUnmarkedElements(false);
|
||||
|
||||
setElements(items, items.size() > 0 ? items.subList(0, 1) : Collections.<T>emptyList());
|
||||
List<? extends T> elements = new ArrayList<T>(items);
|
||||
if (sort) {
|
||||
Collections.sort(elements, new Comparator<T>() {
|
||||
public int compare(final T o1, final T o2) {
|
||||
return getItemText(o1).compareToIgnoreCase(getItemText(o2));
|
||||
}
|
||||
});
|
||||
}
|
||||
setElements(elements, elements.size() > 0 ? elements.subList(0, 1) : Collections.<T>emptyList());
|
||||
myChooser.getComponent().registerKeyboardAction(new ActionListener() {
|
||||
public void actionPerformed(ActionEvent e) {
|
||||
doOKAction();
|
||||
|
||||
Reference in New Issue
Block a user