mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-08-26 15:27:45 +07:00
Filtering kind of speedsearch for more list choosers + fix filtering performance for large lists.
This commit is contained in:
+3
-2
@@ -115,7 +115,8 @@ public abstract class CreateFromUsageBaseFix extends BaseIntentionAction {
|
||||
PsiElementListCellRenderer renderer = new PsiClassListCellRenderer();
|
||||
list.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
|
||||
list.setCellRenderer(renderer);
|
||||
renderer.installSpeedSearch(list);
|
||||
final PopupChooserBuilder builder = new PopupChooserBuilder(list);
|
||||
renderer.installSpeedSearch(builder);
|
||||
|
||||
Runnable runnable = new Runnable() {
|
||||
public void run() {
|
||||
@@ -135,7 +136,7 @@ public abstract class CreateFromUsageBaseFix extends BaseIntentionAction {
|
||||
}
|
||||
};
|
||||
|
||||
new PopupChooserBuilder(list).
|
||||
builder.
|
||||
setTitle(QuickFixBundle.message("target.class.chooser.title")).
|
||||
setItemChoosenCallback(runnable).
|
||||
createPopup().
|
||||
|
||||
+3
-2
@@ -93,7 +93,8 @@ public class CreateInnerClassFromUsageFix extends CreateClassFromUsageBaseFix {
|
||||
PsiElementListCellRenderer renderer = new PsiClassListCellRenderer();
|
||||
list.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
|
||||
list.setCellRenderer(renderer);
|
||||
renderer.installSpeedSearch(list);
|
||||
final PopupChooserBuilder builder = new PopupChooserBuilder(list);
|
||||
renderer.installSpeedSearch(builder);
|
||||
|
||||
Runnable runnable = new Runnable() {
|
||||
public void run() {
|
||||
@@ -118,7 +119,7 @@ public class CreateInnerClassFromUsageFix extends CreateClassFromUsageBaseFix {
|
||||
}
|
||||
};
|
||||
|
||||
new PopupChooserBuilder(list).
|
||||
builder.
|
||||
setTitle(QuickFixBundle.message("target.class.chooser.title")).
|
||||
setItemChoosenCallback(runnable).
|
||||
createPopup().
|
||||
|
||||
+9
-8
@@ -15,18 +15,18 @@
|
||||
*/
|
||||
package com.intellij.codeInsight.highlighting;
|
||||
|
||||
import com.intellij.codeInsight.CodeInsightBundle;
|
||||
import com.intellij.ide.util.PsiClassListCellRenderer;
|
||||
import com.intellij.openapi.application.ApplicationManager;
|
||||
import com.intellij.openapi.editor.Editor;
|
||||
import com.intellij.openapi.ui.popup.PopupChooserBuilder;
|
||||
import com.intellij.psi.PsiClass;
|
||||
import com.intellij.psi.PsiClassType;
|
||||
import com.intellij.openapi.editor.Editor;
|
||||
import com.intellij.openapi.application.ApplicationManager;
|
||||
import com.intellij.openapi.ui.popup.PopupChooserBuilder;
|
||||
import com.intellij.ide.util.PsiClassListCellRenderer;
|
||||
import com.intellij.codeInsight.CodeInsightBundle;
|
||||
|
||||
import javax.swing.*;
|
||||
import java.util.List;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
import java.util.List;
|
||||
import java.util.Vector;
|
||||
|
||||
public abstract class ChooseClassAndDoHighlightRunnable implements Runnable {
|
||||
@@ -79,7 +79,8 @@ public abstract class ChooseClassAndDoHighlightRunnable implements Runnable {
|
||||
myList.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
|
||||
myList.setCellRenderer(renderer);
|
||||
|
||||
renderer.installSpeedSearch(myList);
|
||||
final PopupChooserBuilder builder = new PopupChooserBuilder(myList);
|
||||
renderer.installSpeedSearch(builder);
|
||||
|
||||
final Runnable callback = new Runnable() {
|
||||
public void run() {
|
||||
@@ -96,7 +97,7 @@ public abstract class ChooseClassAndDoHighlightRunnable implements Runnable {
|
||||
|
||||
ApplicationManager.getApplication().invokeLater(new Runnable() {
|
||||
public void run() {
|
||||
new PopupChooserBuilder(myList).
|
||||
builder.
|
||||
setTitle(myTitle).
|
||||
setItemChoosenCallback(callback).
|
||||
createPopup().
|
||||
|
||||
+4
-2
@@ -96,7 +96,6 @@ public class ImplementAbstractMethodHandler {
|
||||
myList = new JList(result[0]);
|
||||
myList.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
|
||||
myList.setCellRenderer(renderer);
|
||||
renderer.installSpeedSearch(myList);
|
||||
|
||||
final Runnable runnable = new Runnable(){
|
||||
public void run() {
|
||||
@@ -107,7 +106,10 @@ public class ImplementAbstractMethodHandler {
|
||||
}
|
||||
};
|
||||
|
||||
new PopupChooserBuilder(myList).
|
||||
final PopupChooserBuilder builder = new PopupChooserBuilder(myList);
|
||||
renderer.installSpeedSearch(builder);
|
||||
|
||||
builder.
|
||||
setTitle(CodeInsightBundle.message("intention.implement.abstract.method.class.chooser.title")).
|
||||
setItemChoosenCallback(runnable).
|
||||
createPopup().
|
||||
|
||||
Reference in New Issue
Block a user