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

Unified Diff: editor/tools/plugins/com.google.dart.tools.search/src/com/google/dart/tools/search/internal/ui/text/ReplaceAction.java

Issue 10597004: Find/replace support across multiple files. (Closed) Base URL: http://dart.googlecode.com/svn/branches/bleeding_edge/dart/
Patch Set: Created 8 years, 6 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.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
+ }
+ }
+
+}

Powered by Google App Engine
This is Rietveld 408576698