mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
(no message)
This commit is contained in:
@@ -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;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user