Made lineY calculation in EditSignatureBalloon simpler and more reliable.

This commit is contained in:
Evgeny Gerashchenko
2012-08-27 15:15:50 +04:00
parent 7d12a27cc4
commit 7dd98479cc
@@ -31,10 +31,7 @@ import com.intellij.openapi.ui.popup.LightweightWindowEvent;
import com.intellij.openapi.util.SystemInfo; import com.intellij.openapi.util.SystemInfo;
import com.intellij.openapi.util.text.StringUtil; import com.intellij.openapi.util.text.StringUtil;
import com.intellij.openapi.wm.IdeFocusManager; import com.intellij.openapi.wm.IdeFocusManager;
import com.intellij.psi.JavaPsiFacade; import com.intellij.psi.*;
import com.intellij.psi.PsiDocumentManager;
import com.intellij.psi.PsiMethod;
import com.intellij.psi.PsiNameValuePair;
import com.intellij.ui.awt.RelativePoint; import com.intellij.ui.awt.RelativePoint;
import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable; import org.jetbrains.annotations.Nullable;
@@ -165,15 +162,10 @@ class EditSignatureBalloon {
return editor; return editor;
} }
private int getLineY(@Nullable Editor editor) { private static int getLineY(@Nullable Editor editor) {
if (editor != null) { return editor == null
Document document = PsiDocumentManager.getInstance(project).getDocument(method.getContainingFile()); ? Integer.MAX_VALUE
if (document != null) { : editor.logicalPositionToXY(editor.getCaretModel().getLogicalPosition()).y;
int lineNumber = document.getLineNumber(method.getTextOffset());
return editor.logicalPositionToXY(new LogicalPosition(lineNumber, 0)).y;
}
}
return Integer.MAX_VALUE;
} }
public void show(@Nullable Point point, @NotNull Editor editor) { public void show(@Nullable Point point, @NotNull Editor editor) {