(no message)

This commit is contained in:
Eugene Vigdorchik
2005-02-12 15:55:05 +03:00
parent 00fd9c9492
commit 6dcde935de
7 changed files with 27 additions and 50 deletions
@@ -17,6 +17,7 @@ import com.intellij.psi.util.PsiTreeUtil;
import com.intellij.refactoring.HelpID;
import com.intellij.refactoring.RefactoringDialog;
import com.intellij.refactoring.RefactoringSettings;
import com.intellij.refactoring.move.MoveCallback;
import com.intellij.refactoring.ui.MemberSelectionTable;
import com.intellij.refactoring.ui.VisibilityPanel;
import com.intellij.refactoring.util.RefactoringMessageUtil;
@@ -40,30 +41,27 @@ import java.util.Set;
public class MoveMembersDialog extends RefactoringDialog implements MoveMembersOptions {
private MyMemberInfoModel myMemberInfoModel;
public static interface Callback {
void invoke(MoveMembersDialog dialog);
}
private Project myProject;
private Callback myCallback;
private PsiClass mySourceClass;
private String mySourceClassName;
private MemberInfo[] myMemberInfos;
private final TextFieldWithBrowseButton myTfTargetClassName;
private MemberSelectionTable myTable;
private Set<PsiMember> myPreselectMembers;
private final MoveCallback myMoveCallback;
VisibilityPanel myVisibilityPanel;
public MoveMembersDialog(Project project, PsiClass sourceClass, final PsiClass initialTargetClass,
Set<PsiMember> preselectMembers, Callback callback) {
public MoveMembersDialog(Project project,
PsiClass sourceClass,
final PsiClass initialTargetClass,
Set<PsiMember> preselectMembers,
MoveCallback moveCallback) {
super(project, true);
myProject = project;
myCallback = callback;
mySourceClass = sourceClass;
myPreselectMembers = preselectMembers;
myMoveCallback = moveCallback;
setTitle(MoveMembersImpl.REFACTORING_NAME);
mySourceClassName = mySourceClass.getQualifiedName();
@@ -215,7 +213,20 @@ public class MoveMembersDialog extends RefactoringDialog implements MoveMembersO
return;
}
myCallback.invoke(this);
invokeRefactoring(new MoveMembersProcessor(getProject(), myMoveCallback, new MoveMembersOptions() {
public String getMemberVisibility() {
return MoveMembersDialog.this.getMemberVisibility();
}
public PsiMember[] getSelectedMembers() {
return MoveMembersDialog.this.getSelectedMembers();
}
public String getTargetClassName() {
return MoveMembersDialog.this.getTargetClassName();
}
}));
RefactoringSettings.getInstance().MOVE_PREVIEW_USAGES = isPreviewUsages();
}
@@ -89,7 +89,6 @@ public class MoveMembersImpl {
if (!RefactoringMessageUtil.checkReadOnlyStatus(project, sourceClass)) return;
}
final MoveMembersProcessor callback = new MoveMembersProcessor(project, moveCallback);
final PsiClass initialTargerClass = targetContainer instanceof PsiClass? (PsiClass) targetContainer : (PsiClass) null;
MoveMembersDialog dialog = new MoveMembersDialog(
@@ -97,8 +96,7 @@ public class MoveMembersImpl {
sourceClass,
initialTargerClass,
preselectMembers,
callback
);
moveCallback);
dialog.show();
}
}
@@ -11,8 +11,4 @@ public interface MoveMembersOptions {
String getTargetClassName();
String getMemberVisibility();
boolean isPreviewUsages();
void close(int exitCode);
}
@@ -7,7 +7,6 @@ package com.intellij.refactoring.move.moveMembers;
import com.intellij.codeInsight.ChangeContextUtil;
import com.intellij.openapi.diagnostic.Logger;
import com.intellij.openapi.project.Project;
import com.intellij.openapi.ui.DialogWrapper;
import com.intellij.psi.*;
import com.intellij.psi.codeStyle.CodeStyleManager;
import com.intellij.psi.search.GlobalSearchScope;
@@ -31,7 +30,7 @@ import com.intellij.util.IncorrectOperationException;
import java.util.*;
public class MoveMembersProcessor extends BaseRefactoringProcessor implements MoveMembersDialog.Callback {
public class MoveMembersProcessor extends BaseRefactoringProcessor {
private static final Logger LOG = Logger.getInstance("#com.intellij.refactoring.move.moveMembers.MoveMembersProcessor");
private PsiClass myTargetClass;
@@ -40,9 +39,10 @@ public class MoveMembersProcessor extends BaseRefactoringProcessor implements Mo
private MoveCallback myMoveCallback;
private String myNewVisibility; // "null" means "as is"
public MoveMembersProcessor(Project project, MoveCallback moveCallback) {
public MoveMembersProcessor(Project project, MoveCallback moveCallback, MoveMembersOptions options) {
super(project);
myMoveCallback = moveCallback;
setOptions(options);
}
public MoveMembersProcessor(Project project, MoveMembersOptions options) {
@@ -54,21 +54,6 @@ public class MoveMembersProcessor extends BaseRefactoringProcessor implements Mo
return MoveMembersImpl.REFACTORING_NAME;
}
public void invoke(final MoveMembersDialog dialog) {
setOptions(dialog);
setPrepareSuccessfulSwingThreadCallback(new Runnable() {
public void run() {
dialog.close(DialogWrapper.CANCEL_EXIT_CODE);
}
});
run(null);
}
public void testRun(MoveMembersOptions dialog) {
setOptions(dialog);
super.testRun();
}
private void setOptions(MoveMembersOptions dialog) {
myDialog = dialog;
PsiMember[] members = myDialog.getSelectedMembers();
@@ -33,12 +33,6 @@ public class MoveMembersRefactoringImpl extends RefactoringImpl<MoveMembersProce
return newVisibility;
}
public boolean isPreviewUsages() {
return true;
}
public void close(int exitCode) {
}
}));
}
@@ -3,7 +3,6 @@ package com.intellij.refactoring;
import com.intellij.openapi.fileEditor.FileDocumentManager;
import com.intellij.openapi.vfs.VirtualFile;
import com.intellij.psi.*;
import com.intellij.refactoring.move.MoveCallback;
import com.intellij.refactoring.move.moveMembers.MockMoveMembersOptions;
import com.intellij.refactoring.move.moveMembers.MoveMembersProcessor;
@@ -82,7 +81,7 @@ public class MoveMembersTest extends MultiFileTestCase {
MockMoveMembersOptions options = new MockMoveMembersOptions(targetClass.getQualifiedName(), memberSet);
options.setMemberVisibility(null);
new MoveMembersProcessor(myProject, (MoveCallback)null).testRun(options);
new MoveMembersProcessor(myProject, null, options).testRun();
FileDocumentManager.getInstance().saveAllDocuments();
}
}
@@ -23,9 +23,6 @@ public class MockMoveMembersOptions implements MoveMembersOptions {
this(targetClassName, memberSet.toArray(new PsiMember[memberSet.size()]));
}
public void close(int exitCode) {
}
public String getMemberVisibility() {
return myMemberVisibility;
}
@@ -42,7 +39,4 @@ public class MockMoveMembersOptions implements MoveMembersOptions {
return myTargetClassName;
}
public boolean isPreviewUsages() {
return false;
}
}