mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
override/implement: allow members to be in primary/secondary sets at the same time - filter them from the result; preselect first element when no selection was set before (IDEA-112563)
This commit is contained in:
+10
-2
@@ -23,8 +23,10 @@ import org.jetbrains.annotations.Nullable;
|
||||
import javax.swing.*;
|
||||
import java.awt.event.InputEvent;
|
||||
import java.awt.event.KeyEvent;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
import java.util.Collection;
|
||||
import java.util.LinkedHashSet;
|
||||
|
||||
/**
|
||||
* @author Dmitry Batkovich
|
||||
@@ -54,7 +56,9 @@ public class JavaOverrideImplementMemberChooser extends MemberChooser<PsiMethodM
|
||||
if (candidates.isEmpty() && secondary.isEmpty()) return null;
|
||||
|
||||
final PsiMethodMember[] onlyPrimary = convertToMethodMembers(candidates);
|
||||
final PsiMethodMember[] all = ArrayUtil.mergeArrays(onlyPrimary, convertToMethodMembers(secondary));
|
||||
final LinkedHashSet<CandidateInfo> allCandidates = new LinkedHashSet<CandidateInfo>(candidates);
|
||||
allCandidates.addAll(secondary);
|
||||
final PsiMethodMember[] all = convertToMethodMembers(allCandidates);
|
||||
final NotNullLazyValue<PsiMethodWithOverridingPercentMember[]> lazyElementsWithPercent =
|
||||
new NotNullLazyValue<PsiMethodWithOverridingPercentMember[]>() {
|
||||
@NotNull
|
||||
@@ -76,7 +80,11 @@ public class JavaOverrideImplementMemberChooser extends MemberChooser<PsiMethodM
|
||||
javaOverrideImplementMemberChooser.setCopyJavadocVisible(true);
|
||||
|
||||
if (toImplement) {
|
||||
javaOverrideImplementMemberChooser.selectElements(onlyPrimary);
|
||||
if (onlyPrimary.length == 0) {
|
||||
javaOverrideImplementMemberChooser.selectElements(new ClassMember[] {all[0]});
|
||||
} else {
|
||||
javaOverrideImplementMemberChooser.selectElements(onlyPrimary);
|
||||
}
|
||||
}
|
||||
|
||||
if (ApplicationManager.getApplication().isUnitTestMode()) {
|
||||
|
||||
Reference in New Issue
Block a user