Index: editor/tools/plugins/com.google.dart.tools.search/src/com/google/dart/tools/search/internal/ui/text/ReplaceAction.java |
=================================================================== |
--- editor/tools/plugins/com.google.dart.tools.search/src/com/google/dart/tools/search/internal/ui/text/ReplaceAction.java (revision 0) |
+++ editor/tools/plugins/com.google.dart.tools.search/src/com/google/dart/tools/search/internal/ui/text/ReplaceAction.java (revision 0) |
@@ -0,0 +1,70 @@ |
+/* |
+ * Copyright (c) 2012, the Dart project authors. |
+ * |
+ * Licensed under the Eclipse Public License v1.0 (the "License"); you may not use this file except |
+ * in compliance with the License. You may obtain a copy of the License at |
+ * |
+ * http://www.eclipse.org/legal/epl-v10.html |
+ * |
+ * Unless required by applicable law or agreed to in writing, software distributed under the License |
+ * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express |
+ * or implied. See the License for the specific language governing permissions and limitations under |
+ * the License. |
+ */ |
+package com.google.dart.tools.search.internal.ui.text; |
+ |
+import com.google.dart.tools.search.internal.ui.SearchMessages; |
+ |
+import org.eclipse.jface.action.Action; |
+import org.eclipse.ltk.ui.refactoring.RefactoringWizard; |
+import org.eclipse.ltk.ui.refactoring.RefactoringWizardOpenOperation; |
+import org.eclipse.swt.widgets.Shell; |
+ |
+public class ReplaceAction extends Action { |
+ |
+ public static class ReplaceWizard extends RefactoringWizard { |
+ public ReplaceWizard(ReplaceRefactoring refactoring) { |
+ super(refactoring, RefactoringWizard.DIALOG_BASED_USER_INTERFACE); |
+ } |
+ |
+ @Override |
+ protected void addUserInputPages() { |
+ addPage(new ReplaceConfigurationPage((ReplaceRefactoring) getRefactoring())); |
+ } |
+ } |
+ |
+ private final FileSearchResult fResult; |
+ private final Object[] fSelection; |
+ private final Shell fShell; |
+ |
+ /** |
+ * Creates the replace action. |
+ * |
+ * @param shell the parent shell |
+ * @param result the file search page to |
+ * @param selection the selected entries or <code>null</code> to replace all |
+ */ |
+ public ReplaceAction(Shell shell, FileSearchResult result, Object[] selection) { |
+ fShell = shell; |
+ fResult = result; |
+ fSelection = selection; |
+ } |
+ |
+ @Override |
+ public void run() { |
+ try { |
+ ReplaceRefactoring refactoring = new ReplaceRefactoring(fResult, fSelection); |
+ ReplaceWizard refactoringWizard = new ReplaceWizard(refactoring); |
+ if (fSelection == null) { |
+ refactoringWizard.setDefaultPageTitle(SearchMessages.ReplaceAction_title_all); |
+ } else { |
+ refactoringWizard.setDefaultPageTitle(SearchMessages.ReplaceAction_title_selected); |
+ } |
+ RefactoringWizardOpenOperation op = new RefactoringWizardOpenOperation(refactoringWizard); |
+ op.run(fShell, SearchMessages.ReplaceAction_description_operation); |
+ } catch (InterruptedException e) { |
+ // refactoring got cancelled |
+ } |
+ } |
+ |
+} |