mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
generate toString: highlight unavailable options in red
This commit is contained in:
+18
-2
@@ -32,8 +32,11 @@ import com.intellij.openapi.ui.ComboBox;
|
||||
import com.intellij.openapi.ui.DialogWrapper;
|
||||
import com.intellij.openapi.util.Disposer;
|
||||
import com.intellij.psi.*;
|
||||
import com.intellij.psi.search.GlobalSearchScope;
|
||||
import com.intellij.psi.util.PsiTreeUtil;
|
||||
import com.intellij.psi.util.PsiUtil;
|
||||
import com.intellij.ui.JBColor;
|
||||
import com.intellij.ui.ListCellRendererWrapper;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
import org.jetbrains.generate.tostring.GenerateToStringClassFilter;
|
||||
@@ -169,7 +172,7 @@ public class GenerateToStringActionHandlerImpl implements GenerateToStringAction
|
||||
|
||||
public static class MemberChooserHeaderPanel extends JPanel {
|
||||
private MemberChooser<PsiElementClassMember> chooser;
|
||||
private final JComboBox comboBox;
|
||||
private final JComboBox<TemplateResource> comboBox;
|
||||
|
||||
public void setChooser(MemberChooser chooser) {
|
||||
this.chooser = chooser;
|
||||
@@ -184,7 +187,20 @@ public class GenerateToStringActionHandlerImpl implements GenerateToStringAction
|
||||
final JButton settingsButton = new JButton("Settings");
|
||||
settingsButton.setMnemonic(KeyEvent.VK_S);
|
||||
|
||||
comboBox = new ComboBox(all);
|
||||
comboBox = new ComboBox<>(all);
|
||||
final JavaPsiFacade instance = JavaPsiFacade.getInstance(clazz.getProject());
|
||||
final GlobalSearchScope resolveScope = clazz.getResolveScope();
|
||||
final ListCellRendererWrapper<TemplateResource> renderer = new ListCellRendererWrapper<TemplateResource>() {
|
||||
@Override
|
||||
public void customize(JList list, TemplateResource value, int index, boolean selected, boolean hasFocus) {
|
||||
setText(value.getName());
|
||||
final String className = value.getClassName();
|
||||
if (className != null && instance.findClass(className, resolveScope) == null) {
|
||||
setForeground(JBColor.RED);
|
||||
}
|
||||
}
|
||||
};
|
||||
comboBox.setRenderer(renderer);
|
||||
settingsButton.addActionListener(new ActionListener() {
|
||||
public void actionPerformed(ActionEvent e) {
|
||||
final TemplatesPanel ui = new TemplatesPanel(clazz.getProject());
|
||||
|
||||
+4
-4
@@ -49,10 +49,10 @@ public class ToStringTemplatesManager extends TemplatesManager {
|
||||
new TemplateResource("String concat (+) and super.toString()", readFile(DEFAULT_CONCAT_SUPER), true),
|
||||
new TemplateResource("StringBuffer", readFile(DEFAULT_BUFFER), true),
|
||||
new TemplateResource("StringBuilder (JDK 1.5)", readFile(DEFAULT_BUILDER), true),
|
||||
new TemplateResource("ToStringBuilder (Apache commons-lang)", readFile(DEFAULT_TOSTRINGBUILDER), true),
|
||||
new TemplateResource("ToStringBuilder (Apache commons-lang 3)", readFile(DEFAULT_TOSTRINGBUILDER3), true),
|
||||
new TemplateResource("Objects.toStringHelper (Guava)", readFile(DEFAULT_GUAVA), true),
|
||||
new TemplateResource("MoreObjects.toStringHelper (Guava 18+)", readFile(DEFAULT_GUAVA_18), true),
|
||||
new TemplateResource("ToStringBuilder (Apache commons-lang)", readFile(DEFAULT_TOSTRINGBUILDER), true, "org.apache.commons.lang.builder.ToStringBuilder"),
|
||||
new TemplateResource("ToStringBuilder (Apache commons-lang 3)", readFile(DEFAULT_TOSTRINGBUILDER3), true, "org.apache.commons.lang3.builder.ToStringBuilder"),
|
||||
new TemplateResource("Objects.toStringHelper (Guava)", readFile(DEFAULT_GUAVA), true, "com.google.common.base.Objects"),
|
||||
new TemplateResource("MoreObjects.toStringHelper (Guava 18+)", readFile(DEFAULT_GUAVA_18), true, "com.google.common.base.MoreObjects"),
|
||||
new TemplateResource("Groovy: String concat (+)", readFile(DEFAULT_CONCAT_GROOVY), true),
|
||||
new TemplateResource("Groovy: String concat (+) and super.toString()", readFile(DEFAULT_CONCAT_SUPER_GROOVY), true),
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user