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

Side by Side Diff: editor/tools/plugins/com.google.dart.tools.ui/src/com/google/dart/tools/ui/internal/handlers/OpenFileHandler.java

Issue 8395010: fix for opening a file that does not belong to a library (Closed) Base URL: http://dart.googlecode.com/svn/branches/bleeding_edge/dart/
Patch Set: '' Created 9 years, 2 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 unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 /* 1 /*
2 * Copyright (c) 2011, the Dart project authors. 2 * Copyright (c) 2011, the Dart project authors.
3 * 3 *
4 * Licensed under the Eclipse Public License v1.0 (the "License"); you may not u se this file except 4 * Licensed under the Eclipse Public License v1.0 (the "License"); you may not u se this file except
5 * in compliance with the License. You may obtain a copy of the License at 5 * in compliance with the License. You may obtain a copy of the License at
6 * 6 *
7 * http://www.eclipse.org/legal/epl-v10.html 7 * http://www.eclipse.org/legal/epl-v10.html
8 * 8 *
9 * Unless required by applicable law or agreed to in writing, software distribut ed under the License 9 * Unless required by applicable law or agreed to in writing, software distribut ed under the License
10 * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY K IND, either express 10 * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY K IND, either express
11 * or implied. See the License for the specific language governing permissions a nd limitations under 11 * or implied. See the License for the specific language governing permissions a nd limitations under
12 * the License. 12 * the License.
13 */ 13 */
14 package com.google.dart.tools.ui.internal.handlers; 14 package com.google.dart.tools.ui.internal.handlers;
15 15
16 import com.google.dart.tools.core.DartCore; 16 import com.google.dart.tools.core.DartCore;
17 import com.google.dart.tools.core.internal.util.Extensions; 17 import com.google.dart.tools.core.internal.util.Extensions;
18 import com.google.dart.tools.core.internal.util.ResourceUtil; 18 import com.google.dart.tools.core.internal.util.ResourceUtil;
19 import com.google.dart.tools.core.model.DartLibrary; 19 import com.google.dart.tools.core.model.DartLibrary;
20 import com.google.dart.tools.core.model.DartModelException; 20 import com.google.dart.tools.core.model.DartModelException;
21 import com.google.dart.tools.ui.DartToolsPlugin; 21 import com.google.dart.tools.ui.DartToolsPlugin;
22 import com.google.dart.tools.ui.DartUI; 22 import com.google.dart.tools.ui.DartUI;
23 import com.google.dart.tools.ui.actions.ActionMessages; 23 import com.google.dart.tools.ui.Messages;
24 import com.google.dart.tools.ui.internal.actions.WorkbenchRunnableAdapter; 24 import com.google.dart.tools.ui.internal.actions.WorkbenchRunnableAdapter;
25 import com.google.dart.tools.ui.internal.text.editor.EditorUtility; 25 import com.google.dart.tools.ui.internal.text.editor.EditorUtility;
26 import com.google.dart.tools.ui.internal.util.ExceptionHandler; 26 import com.google.dart.tools.ui.internal.util.ExceptionHandler;
27 27
28 import org.eclipse.core.commands.AbstractHandler; 28 import org.eclipse.core.commands.AbstractHandler;
29 import org.eclipse.core.commands.ExecutionEvent; 29 import org.eclipse.core.commands.ExecutionEvent;
30 import org.eclipse.core.commands.ExecutionException; 30 import org.eclipse.core.commands.ExecutionException;
31 import org.eclipse.core.resources.IFile; 31 import org.eclipse.core.resources.IFile;
32 import org.eclipse.core.resources.IWorkspaceRunnable; 32 import org.eclipse.core.resources.IWorkspaceRunnable;
33 import org.eclipse.core.runtime.CoreException; 33 import org.eclipse.core.runtime.CoreException;
34 import org.eclipse.core.runtime.IPath; 34 import org.eclipse.core.runtime.IPath;
35 import org.eclipse.core.runtime.IProgressMonitor; 35 import org.eclipse.core.runtime.IProgressMonitor;
36 import org.eclipse.core.runtime.NullProgressMonitor; 36 import org.eclipse.core.runtime.NullProgressMonitor;
37 import org.eclipse.core.runtime.Path; 37 import org.eclipse.core.runtime.Path;
38 import org.eclipse.jface.dialogs.IDialogSettings; 38 import org.eclipse.jface.dialogs.IDialogSettings;
39 import org.eclipse.jface.dialogs.MessageDialog;
39 import org.eclipse.swt.SWT; 40 import org.eclipse.swt.SWT;
40 import org.eclipse.swt.widgets.FileDialog; 41 import org.eclipse.swt.widgets.FileDialog;
41 import org.eclipse.swt.widgets.Shell; 42 import org.eclipse.swt.widgets.Shell;
42 import org.eclipse.ui.PartInitException; 43 import org.eclipse.ui.PartInitException;
43 import org.eclipse.ui.PlatformUI; 44 import org.eclipse.ui.PlatformUI;
44 import org.eclipse.ui.handlers.HandlerUtil; 45 import org.eclipse.ui.handlers.HandlerUtil;
45 46
46 import java.io.File; 47 import java.io.File;
47 import java.lang.reflect.InvocationTargetException; 48 import java.lang.reflect.InvocationTargetException;
48 49
(...skipping 43 matching lines...) Expand 10 before | Expand all | Expand 10 after
92 if (file.getProject().equals(libFile[0].getDartProject().getPr oject())) { 93 if (file.getProject().equals(libFile[0].getDartProject().getPr oject())) {
93 files[0] = file; 94 files[0] = file;
94 } 95 }
95 } 96 }
96 } 97 }
97 monitor.done(); 98 monitor.done();
98 } 99 }
99 })); // workspace lock 100 })); // workspace lock
100 101
101 } catch (InvocationTargetException e) { 102 } catch (InvocationTargetException e) {
102 ExceptionHandler.handle(e, shell, ActionMessages.FormatAllAction_error_tit le, 103 ExceptionHandler.handle(e, shell, HandlerMessages.OpenFile_label,
103 ActionMessages.FormatAllAction_error_message); 104 HandlerMessages.OpenFile_errorMessage);
104 } catch (InterruptedException e) { 105 } catch (InterruptedException e) {
105 // canceled by user 106 // canceled by user
106 } 107 }
107 108
108 try { 109 try {
109 if (files[0] != null) { 110 if (files[0] != null) {
110 EditorUtility.openInEditor(files[0], true); 111 EditorUtility.openInEditor(files[0], true);
112 } else if (libFile[0] == null) {
113 MessageDialog.openError(shell, HandlerMessages.OpenFile_label,
114 Messages.format(HandlerMessages.OpenFile_errorFileNotInLibrary, sele ctedFile.getName()));
111 } 115 }
112 } catch (PartInitException e) { 116 } catch (PartInitException e) {
113 throwFailedToOpen(selectedFile, e); 117 throwFailedToOpen(selectedFile, e);
114 } catch (DartModelException e) { 118 } catch (DartModelException e) {
115 throwFailedToOpen(selectedFile, e); 119 throwFailedToOpen(selectedFile, e);
116 } 120 }
117 return null; 121 return null;
118 } 122 }
119 123
120 /** 124 /**
(...skipping 45 matching lines...) Expand 10 before | Expand all | Expand 10 after
166 if (result != null) { 170 if (result != null) {
167 settings.put(FILTER_PATH_KEY, dialog.getFilterPath()); 171 settings.put(FILTER_PATH_KEY, dialog.getFilterPath());
168 } 172 }
169 return result; 173 return result;
170 } 174 }
171 175
172 private void throwFailedToOpen(File file, Exception e) throws ExecutionExcepti on { 176 private void throwFailedToOpen(File file, Exception e) throws ExecutionExcepti on {
173 throw new ExecutionException("Failed to open " + file, e); 177 throw new ExecutionException("Failed to open " + file, e);
174 } 178 }
175 } 179 }
OLDNEW
« no previous file with comments | « editor/tools/plugins/com.google.dart.tools.ui/src/com/google/dart/tools/ui/internal/handlers/HandlerMessages.properties ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698