mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
extract method dialog: shrink return type combo to the visible type (IDEA-146826)
This commit is contained in:
@@ -20,6 +20,7 @@ import com.intellij.codeInspection.dataFlow.Nullness;
|
||||
import com.intellij.ide.highlighter.JavaFileType;
|
||||
import com.intellij.ide.util.PropertiesComponent;
|
||||
import com.intellij.openapi.project.Project;
|
||||
import com.intellij.openapi.ui.ComboBox;
|
||||
import com.intellij.openapi.ui.DialogWrapper;
|
||||
import com.intellij.openapi.ui.Splitter;
|
||||
import com.intellij.openapi.util.text.StringUtil;
|
||||
@@ -256,7 +257,7 @@ public class ExtractMethodDialog extends DialogWrapper implements AbstractExtrac
|
||||
};
|
||||
mySelector = manager.getTypeSelector();
|
||||
final JComponent component = mySelector.getComponent();
|
||||
if (component instanceof JComboBox) {
|
||||
if (component instanceof ComboBox) {
|
||||
if (isVoidReturn()) {
|
||||
mySelector.selectType(PsiType.VOID);
|
||||
}
|
||||
@@ -268,22 +269,34 @@ public class ExtractMethodDialog extends DialogWrapper implements AbstractExtrac
|
||||
((JComboBox)component).addActionListener(new ActionListener() {
|
||||
@Override
|
||||
public void actionPerformed(ActionEvent e) {
|
||||
final PsiType selectedType = mySelector.getSelectedType();
|
||||
if (myGenerateAnnotations != null) {
|
||||
final PsiType selectedType = mySelector.getSelectedType();
|
||||
final boolean enabled = PsiUtil.resolveClassInType(selectedType) != null;
|
||||
if (!enabled) {
|
||||
myGenerateAnnotations.setSelected(false);
|
||||
}
|
||||
myGenerateAnnotations.setEnabled(enabled);
|
||||
}
|
||||
resizeReturnCombo(component, selectedType);
|
||||
returnTypePanel.revalidate();
|
||||
returnTypePanel.repaint();
|
||||
updateSignature();
|
||||
}
|
||||
});
|
||||
resizeReturnCombo(component, mySelector.getSelectedType());
|
||||
return returnTypePanel;
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
private static void resizeReturnCombo(JComponent component, PsiType selectedType) {
|
||||
if (selectedType != null) {
|
||||
final String presentableText = selectedType.getPresentableText();
|
||||
final int presentableTextWidth = component.getFontMetrics(component.getFont()).stringWidth(presentableText);
|
||||
((ComboBox)component).setMinimumAndPreferredWidth(presentableTextWidth);
|
||||
}
|
||||
}
|
||||
|
||||
protected PsiExpression[] findOccurrences() {
|
||||
return PsiExpression.EMPTY_ARRAY;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user