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

Side by Side Diff: editor/tools/plugins/com.google.dart.tools.debug.ui/src/com/google/dart/tools/debug/ui/internal/view/DebuggerViewManager.java

Issue 669613006: Set command-line breakpoints using the path suffix. (Closed) Base URL: http://dart.googlecode.com/svn/branches/bleeding_edge/dart/
Patch Set: Created 6 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) 2012, the Dart project authors. 2 * Copyright (c) 2012, 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
(...skipping 80 matching lines...) Expand 10 before | Expand all | Expand 10 after
91 for (DebugEvent event : events) { 91 for (DebugEvent event : events) {
92 if (event.getKind() == DebugEvent.CREATE && event.getSource() instanceof I Process) { 92 if (event.getKind() == DebugEvent.CREATE && event.getSource() instanceof I Process) {
93 attachConsoleListener((IProcess) event.getSource()); 93 attachConsoleListener((IProcess) event.getSource());
94 } else if (event.getKind() == DebugEvent.TERMINATE 94 } else if (event.getKind() == DebugEvent.TERMINATE
95 && event.getSource() instanceof IDebugTarget) { 95 && event.getSource() instanceof IDebugTarget) {
96 handleDebugTargetTerminated((IDebugTarget) event.getSource()); 96 handleDebugTargetTerminated((IDebugTarget) event.getSource());
97 } 97 }
98 } 98 }
99 } 99 }
100 100
101 /**
102 * Check if the debugger view has been contributed
103 */
104 public boolean hasDebuggerView() {
105 IViewDescriptor[] views = DartDebugUIPlugin.getDefault().getWorkbench().getV iewRegistry().getViews();
106 for (IViewDescriptor view : views) {
107 if (view.getId().equals(DebuggerView.ID)) {
108 return true;
109 }
110 }
111 return false;
112 }
113
101 @Override 114 @Override
102 public void launchAdded(ILaunch launch) { 115 public void launchAdded(ILaunch launch) {
103 try { 116 try {
104 if (launch.getLaunchConfiguration().getType().getIdentifier().startsWith(" com.google") 117 if (launch.getLaunchConfiguration().getType().getIdentifier().startsWith(" com.google")
105 && launch.getLaunchMode().equals(ILaunchManager.DEBUG_MODE)) { 118 && launch.getLaunchMode().equals(ILaunchManager.DEBUG_MODE)) {
106 // add the suspend trigger listener 119 // add the suspend trigger listener
107 ISuspendTrigger trigger = (ISuspendTrigger) launch.getAdapter(ISuspendTr igger.class); 120 ISuspendTrigger trigger = (ISuspendTrigger) launch.getAdapter(ISuspendTr igger.class);
108 121
109 if (trigger != null) { 122 if (trigger != null) {
110 trigger.addSuspendTriggerListener(this); 123 trigger.addSuspendTriggerListener(this);
(...skipping 21 matching lines...) Expand all
132 if (trigger != null) { 145 if (trigger != null) {
133 trigger.removeSuspendTriggerListener(this); 146 trigger.removeSuspendTriggerListener(this);
134 } 147 }
135 } 148 }
136 } 149 }
137 } catch (CoreException e) { 150 } catch (CoreException e) {
138 DartUtil.logError(e); 151 DartUtil.logError(e);
139 } 152 }
140 } 153 }
141 154
155 public void openDebuggerView() {
156 try {
157 IWorkbenchWindow window = DartDebugUIPlugin.getDefault().getWorkbench().ge tActiveWorkbenchWindow();
158
159 if (window == null) {
160 IWorkbenchWindow[] windows = PlatformUI.getWorkbench().getWorkbenchWindo ws();
161
162 if (windows.length > 0) {
163 IWorkbenchPage[] pages = windows[0].getPages();
164
165 if (pages.length > 0) {
166 pages[0].showView(DebuggerView.ID, null, IWorkbenchPage.VIEW_ACTIVAT E);
167 }
168 }
169 } else {
170 DartToolsPlugin.showView(DebuggerView.ID);
171 }
172 } catch (PartInitException e) {
173 DartUtil.logError(e);
174 }
175 }
176
142 @Override 177 @Override
143 public void suspended(ILaunch launch, Object context) { 178 public void suspended(ILaunch launch, Object context) {
144 Display.getDefault().asyncExec(new Runnable() { 179 Display.getDefault().asyncExec(new Runnable() {
145 @Override 180 @Override
146 public void run() { 181 public void run() {
147 if (hasDebuggerView()) { 182 if (hasDebuggerView()) {
148 openDebuggerView(); 183 openDebuggerView();
149 IWorkbenchWindow window = DartDebugUIPlugin.getDefault().getWorkbench( ).getActiveWorkbenchWindow(); 184 IWorkbenchWindow window = DartDebugUIPlugin.getDefault().getWorkbench( ).getActiveWorkbenchWindow();
150 185
151 if (window == null) { 186 if (window == null) {
(...skipping 64 matching lines...) Expand 10 before | Expand all | Expand 10 after
216 if (page.findView(viewId) != null) { 251 if (page.findView(viewId) != null) {
217 return windows[i]; 252 return windows[i];
218 } 253 }
219 } 254 }
220 255
221 } 256 }
222 } 257 }
223 258
224 return null; 259 return null;
225 } 260 }
226
227 /**
228 * Check if the debugger view has been contributed
229 */
230 private boolean hasDebuggerView() {
231 IViewDescriptor[] views = DartDebugUIPlugin.getDefault().getWorkbench().getV iewRegistry().getViews();
232 for (IViewDescriptor view : views) {
233 if (view.getId().equals(DebuggerView.ID)) {
234 return true;
235 }
236 }
237 return false;
238 }
239
240 private void openDebuggerView() {
241 try {
242 IWorkbenchWindow window = DartDebugUIPlugin.getDefault().getWorkbench().ge tActiveWorkbenchWindow();
243
244 if (window == null) {
245 IWorkbenchWindow[] windows = PlatformUI.getWorkbench().getWorkbenchWindo ws();
246
247 if (windows.length > 0) {
248 IWorkbenchPage[] pages = windows[0].getPages();
249
250 if (pages.length > 0) {
251 pages[0].showView(DebuggerView.ID, null, IWorkbenchPage.VIEW_ACTIVAT E);
252 }
253 }
254 } else {
255 DartToolsPlugin.showView(DebuggerView.ID);
256 }
257 } catch (PartInitException e) {
258 DartUtil.logError(e);
259 }
260 }
261
262 } 261 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698