cs: apply silently from alt enter|show filled dialog from Ctrl-F6

This commit is contained in:
anna
2010-10-29 20:00:57 +04:00
parent 182dac8651
commit 86f8e61eca
5 changed files with 13 additions and 10 deletions
@@ -17,6 +17,7 @@ package com.intellij.refactoring.changeSignature;
import com.intellij.openapi.application.ApplicationManager;
import com.intellij.openapi.application.Result;
import com.intellij.openapi.command.CommandProcessor;
import com.intellij.openapi.command.WriteCommandAction;
import com.intellij.openapi.diagnostic.Logger;
import com.intellij.openapi.editor.Document;
@@ -28,8 +29,11 @@ import com.intellij.psi.search.GlobalSearchScope;
import com.intellij.psi.search.PsiSearchHelper;
import com.intellij.psi.search.SearchScope;
import com.intellij.psi.util.PsiTreeUtil;
import com.intellij.refactoring.BaseRefactoringProcessor;
import com.intellij.refactoring.RefactoringBundle;
import com.intellij.refactoring.util.CanonicalTypes;
import com.intellij.usageView.UsageInfo;
import com.intellij.usageView.UsageViewUtil;
import com.intellij.util.IncorrectOperationException;
import com.intellij.util.VisibilityUtil;
import org.jetbrains.annotations.NotNull;
@@ -212,16 +216,16 @@ public class JavaChangeSignatureDetector implements LanguageChangeSignatureDetec
}
@Override
public boolean showDialog(ChangeInfo changeInfo, @NotNull final String oldText) {
public boolean showDialog(ChangeInfo changeInfo, @NotNull final String oldText, boolean silently) {
if (changeInfo instanceof MyJavaChangeInfo) {
final MyJavaChangeInfo info = (MyJavaChangeInfo)changeInfo;
final PsiMethod method = info.getSuperMethod();
//if (ApplicationManager.getApplication().isUnitTestMode()) {
if (silently || ApplicationManager.getApplication().isUnitTestMode()) {
temporallyRevertChanges(info.getMethod(), oldText);
createChangeSignatureProcessor(info, method).run();
return true;
/*}
}
final JavaChangeSignatureDialog dialog =
new JavaChangeSignatureDialog(method.getProject(), new JavaMethodDescriptor(info.getMethod()) {
@Override
@@ -249,7 +253,7 @@ public class JavaChangeSignatureDetector implements LanguageChangeSignatureDetec
}
};
dialog.show();
return dialog.isOK();*/
return dialog.isOK();
}
return false;
@@ -49,7 +49,7 @@ public class JavaChangeSignatureHandler implements ChangeSignatureHandler {
final ChangeSignatureGestureDetector detector = ChangeSignatureGestureDetector.getInstance(project);
final PsiIdentifier nameIdentifier = ((PsiMethod)element).getNameIdentifier();
if (nameIdentifier != null && detector.isChangeSignatureAvailable(nameIdentifier)) {
detector.changeSignature(element.getContainingFile());
detector.changeSignature(element.getContainingFile(), false);
return;
}
invoke((PsiMethod) element, project, editor);
@@ -15,7 +15,6 @@
*/
package com.intellij.refactoring.changeSignature;
import com.intellij.codeInsight.intention.IntentionAction;
import com.intellij.codeInsight.intention.PsiElementBaseIntentionAction;
import com.intellij.openapi.diagnostic.Logger;
import com.intellij.openapi.editor.Editor;
@@ -57,7 +56,7 @@ public class ChangeSignatureDetectorAction extends PsiElementBaseIntentionAction
@Override
public void invoke(@NotNull Project project, Editor editor, PsiFile file) throws IncorrectOperationException {
ChangeSignatureGestureDetector.getInstance(project).changeSignature(file);
ChangeSignatureGestureDetector.getInstance(project).changeSignature(file, true);
}
@Override
@@ -87,14 +87,14 @@ public class ChangeSignatureGestureDetector extends PsiTreeChangeAdapter impleme
return adapter != null ? adapter.getCurrentInfo() : null;
}
public void changeSignature(PsiFile file) {
public void changeSignature(PsiFile file, final boolean silently) {
try {
myDeaf = true;
final MyDocumentChangeAdapter changeBean = myListenerMap.get(file);
final ChangeInfo currentInfo = changeBean.getCurrentInfo();
if (currentInfo != null) {
final LanguageChangeSignatureDetector detector = LanguageChangeSignatureDetectors.INSTANCE.forLanguage(currentInfo.getLanguage());
if (detector.showDialog(currentInfo, changeBean.getInitialText())) {
if (detector.showDialog(currentInfo, changeBean.getInitialText(), silently)) {
changeBean.reinit();
}
}
@@ -32,7 +32,7 @@ public interface LanguageChangeSignatureDetector {
ChangeInfo createCurrentChangeSignature(final @NotNull PsiElement element,
final @Nullable ChangeInfo changeInfo);
boolean showDialog(ChangeInfo changeInfo, @NotNull String oldText);
boolean showDialog(ChangeInfo changeInfo, @NotNull String oldText, boolean silently);
boolean isChangeSignatureAvailable(PsiElement element, ChangeInfo currentInfo);