Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(93)

Unified Diff: editor/tools/plugins/com.google.dart.tools.ui/src/com/google/dart/tools/ui/internal/refactoring/actions/RenameDartElementAction.java

Issue 9834028: Initial implementation of "Rename Local Variable" refactoring. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: LInked/inline mode for rename Created 8 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: editor/tools/plugins/com.google.dart.tools.ui/src/com/google/dart/tools/ui/internal/refactoring/actions/RenameDartElementAction.java
diff --git a/editor/tools/plugins/com.google.dart.tools.ui/src/com/google/dart/tools/ui/internal/refactoring/actions/RenameDartElementAction.java b/editor/tools/plugins/com.google.dart.tools.ui/src/com/google/dart/tools/ui/internal/refactoring/actions/RenameDartElementAction.java
index ce4cd99ca310f63354be05da04cbe60fe2be2924..7d2862c6b6b57a69095234016e198bc513eab96d 100644
--- a/editor/tools/plugins/com.google.dart.tools.ui/src/com/google/dart/tools/ui/internal/refactoring/actions/RenameDartElementAction.java
+++ b/editor/tools/plugins/com.google.dart.tools.ui/src/com/google/dart/tools/ui/internal/refactoring/actions/RenameDartElementAction.java
@@ -12,6 +12,8 @@ import com.google.dart.tools.ui.actions.SelectionDispatchAction;
import com.google.dart.tools.ui.internal.actions.ActionUtil;
import com.google.dart.tools.ui.internal.actions.SelectionConverter;
import com.google.dart.tools.ui.internal.refactoring.RefactoringMessages;
+import com.google.dart.tools.ui.internal.refactoring.reorg.RenameLinkedMode;
+import com.google.dart.tools.ui.internal.text.editor.CompilationUnitEditor;
import com.google.dart.tools.ui.internal.text.editor.DartEditor;
import com.google.dart.tools.ui.internal.text.editor.DartTextSelection;
import com.google.dart.tools.ui.internal.util.DartModelUtil;
@@ -27,14 +29,14 @@ import org.eclipse.ui.IWorkbenchSite;
public class RenameDartElementAction extends SelectionDispatchAction {
private static boolean canEnable(IStructuredSelection selection) throws CoreException {
- DartElement element = getJavaElement(selection);
+ DartElement element = getDartElement(selection);
if (element == null) {
return false;
}
return RefactoringAvailabilityTester.isRenameElementAvailable(element);
}
- private static DartElement getJavaElement(IStructuredSelection selection) {
+ private static DartElement getDartElement(IStructuredSelection selection) {
if (selection.size() != 1) {
return null;
}
@@ -59,12 +61,12 @@ public class RenameDartElementAction extends SelectionDispatchAction {
public boolean canRunInEditor() {
// TODO(scheglov) linked mode support
-// if (RenameLinkedMode.getActiveLinkedMode() != null) {
-// return true;
-// }
+ if (RenameLinkedMode.getActiveLinkedMode() != null) {
+ return true;
+ }
try {
- DartElement element = getJavaElementFromEditor();
+ DartElement element = getDartElementFromEditor();
if (element == null) {
return true;
}
@@ -82,18 +84,18 @@ public class RenameDartElementAction extends SelectionDispatchAction {
public void doRun() {
// TODO(scheglov) linked mode support
-// RenameLinkedMode activeLinkedMode = RenameLinkedMode.getActiveLinkedMode();
-// if (activeLinkedMode != null) {
-// if (activeLinkedMode.isCaretInLinkedPosition()) {
-// activeLinkedMode.startFullDialog();
-// return;
-// } else {
-// activeLinkedMode.cancel();
-// }
-// }
+ RenameLinkedMode activeLinkedMode = RenameLinkedMode.getActiveLinkedMode();
+ if (activeLinkedMode != null) {
+ if (activeLinkedMode.isCaretInLinkedPosition()) {
+ activeLinkedMode.startFullDialog();
+ return;
+ } else {
+ activeLinkedMode.cancel();
+ }
+ }
try {
- DartElement element = getJavaElementFromEditor();
+ DartElement element = getDartElementFromEditor();
IPreferenceStore store = DartToolsPlugin.getDefault().getPreferenceStore();
boolean lightweight = store.getBoolean(PreferenceConstants.REFACTOR_LIGHTWEIGHT);
if (element != null && RefactoringAvailabilityTester.isRenameElementAvailable(element)) {
@@ -111,20 +113,16 @@ public class RenameDartElementAction extends SelectionDispatchAction {
// }
// }
} catch (CoreException e) {
- ExceptionHandler.handle(
- e,
- RefactoringMessages.RenameJavaElementAction_name,
+ ExceptionHandler.handle(e, RefactoringMessages.RenameJavaElementAction_name,
RefactoringMessages.RenameJavaElementAction_exception);
}
- MessageDialog.openInformation(
- getShell(),
- RefactoringMessages.RenameJavaElementAction_name,
+ MessageDialog.openInformation(getShell(), RefactoringMessages.RenameJavaElementAction_name,
RefactoringMessages.RenameJavaElementAction_not_available);
}
@Override
public void run(IStructuredSelection selection) {
- DartElement element = getJavaElement(selection);
+ DartElement element = getDartElement(selection);
if (element == null) {
return;
}
@@ -134,9 +132,7 @@ public class RenameDartElementAction extends SelectionDispatchAction {
try {
run(element, false);
} catch (CoreException e) {
- ExceptionHandler.handle(
- e,
- RefactoringMessages.RenameJavaElementAction_name,
+ ExceptionHandler.handle(e, RefactoringMessages.RenameJavaElementAction_name,
RefactoringMessages.RenameJavaElementAction_exception);
}
}
@@ -149,9 +145,7 @@ public class RenameDartElementAction extends SelectionDispatchAction {
if (canRunInEditor()) {
doRun();
} else {
- MessageDialog.openInformation(
- getShell(),
- RefactoringMessages.RenameAction_rename,
+ MessageDialog.openInformation(getShell(), RefactoringMessages.RenameAction_rename,
RefactoringMessages.RenameAction_unavailable);
}
}
@@ -194,7 +188,7 @@ public class RenameDartElementAction extends SelectionDispatchAction {
}
}
- private DartElement getJavaElementFromEditor() throws DartModelException {
+ private DartElement getDartElementFromEditor() throws DartModelException {
DartElement[] elements = SelectionConverter.codeResolve(fEditor);
if (elements == null || elements.length != 1) {
return null;
@@ -208,18 +202,16 @@ public class RenameDartElementAction extends SelectionDispatchAction {
return;
}
// Workaround bug 31998
- if (ActionUtil.mustDisableJavaModelAction(getShell(), element)) {
+ if (ActionUtil.mustDisableDartModelAction(getShell(), element)) {
return;
}
// TODO(scheglov) linked mode support
- RefactoringExecutionStarter.startRenameRefactoring(element, getShell());
-// if (lightweight
-// && fEditor instanceof CompilationUnitEditor
-// && !(element instanceof IPackageFragment)) {
-// new RenameLinkedMode(element, (CompilationUnitEditor) fEditor).start();
-// } else {
-// RefactoringExecutionStarter.startRenameRefactoring(element, getShell());
-// }
+// RefactoringExecutionStarter.startRenameRefactoring(element, getShell());
+ if (lightweight && fEditor instanceof CompilationUnitEditor) {
+ new RenameLinkedMode(element, (CompilationUnitEditor) fEditor).start();
+ } else {
+ RefactoringExecutionStarter.startRenameRefactoring(element, getShell());
+ }
}
}

Powered by Google App Engine
This is Rietveld 408576698