Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPawel Piech2009-12-14 18:23:37 +0000
committerPawel Piech2009-12-14 18:23:37 +0000
commit062193b9adcd85293dee996d5200a625a060d0fe (patch)
tree936a2c21235a56d873317c8928c7c4adc995ac84 /org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/importexport
parent97c9b36b439160e36bd197e4c9ed29134da6c193 (diff)
downloadeclipse.platform.debug-062193b9adcd85293dee996d5200a625a060d0fe.tar.gz
eclipse.platform.debug-062193b9adcd85293dee996d5200a625a060d0fe.tar.xz
eclipse.platform.debug-062193b9adcd85293dee996d5200a625a060d0fe.zip
[Bug 238956] Improve usability of the breakpoints view
Diffstat (limited to 'org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/importexport')
-rw-r--r--org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/importexport/breakpoints/EmbeddedBreakpointsViewer.java64
1 files changed, 32 insertions, 32 deletions
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/importexport/breakpoints/EmbeddedBreakpointsViewer.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/importexport/breakpoints/EmbeddedBreakpointsViewer.java
index 92e8b3138..f9c7ed5e0 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/importexport/breakpoints/EmbeddedBreakpointsViewer.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/importexport/breakpoints/EmbeddedBreakpointsViewer.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2005, 2008 IBM Corporation and others.
+ * Copyright (c) 2005, 2009 IBM Corporation and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
@@ -17,17 +17,19 @@ import java.util.Map;
import java.util.Vector;
import org.eclipse.core.runtime.Assert;
+import org.eclipse.debug.core.DebugPlugin;
import org.eclipse.debug.core.model.IBreakpoint;
import org.eclipse.debug.internal.ui.DebugUIPlugin;
import org.eclipse.debug.internal.ui.DelegatingModelPresentation;
import org.eclipse.debug.internal.ui.SWTFactory;
+import org.eclipse.debug.internal.ui.breakpoints.provisional.IBreakpointContainer;
+import org.eclipse.debug.internal.ui.breakpoints.provisional.IBreakpointOrganizer;
import org.eclipse.debug.internal.ui.views.breakpoints.BreakpointContainer;
import org.eclipse.debug.internal.ui.views.breakpoints.BreakpointsComparator;
import org.eclipse.debug.internal.ui.views.breakpoints.BreakpointsContentProvider;
import org.eclipse.debug.internal.ui.views.breakpoints.BreakpointsLabelProvider;
import org.eclipse.debug.internal.ui.views.breakpoints.BreakpointsView;
import org.eclipse.debug.internal.ui.views.breakpoints.BreakpointsViewer;
-import org.eclipse.debug.internal.ui.views.breakpoints.IBreakpointOrganizer;
import org.eclipse.debug.ui.IDebugModelPresentation;
import org.eclipse.debug.ui.IDebugUIConstants;
import org.eclipse.jface.viewers.CheckStateChangedEvent;
@@ -151,11 +153,12 @@ public class EmbeddedBreakpointsViewer {
ArrayList list = new ArrayList();
for(int i = 0; i < items.length; i++) {
Object item = items[i];
- if(item instanceof IBreakpoint) {
- list.add(item);
+ IBreakpoint breakpoint = (IBreakpoint)DebugPlugin.getAdapter(item, IBreakpoint.class);
+ if(breakpoint != null) {
+ list.add(breakpoint);
}
- else if (item instanceof BreakpointContainer) {
- getBreakpointsFromContainers((BreakpointContainer)item, list);
+ else if (item instanceof IBreakpointContainer) {
+ getBreakpointsFromContainers((IBreakpointContainer)item, list);
}
}
for(int i = 0; i < list.size(); i++) {
@@ -168,16 +171,12 @@ public class EmbeddedBreakpointsViewer {
* @param container the container to get breakpoints from
* @param list the list of breakpoints to update state for
*/
- private void getBreakpointsFromContainers(BreakpointContainer container, ArrayList list) {
- Object[] elements = container.getChildren();
- for(int i = 0; i < elements.length; i++) {
- if(elements[i] instanceof IBreakpoint) {
- list.add(elements[i]);
- }
- else {
- getBreakpointsFromContainers((BreakpointContainer)elements[i], list);
- }
- }
+ private void getBreakpointsFromContainers(IBreakpointContainer container, ArrayList list) {
+ IBreakpoint[] bps = container.getBreakpoints();
+ list.ensureCapacity(list.size() + bps.length);
+ for (int j = 0; j < bps.length; j++) {
+ list.add(bps[j]);
+ }
}
/**
@@ -240,22 +239,23 @@ public class EmbeddedBreakpointsViewer {
* @param enable the checked status of the obj
*/
private void updateCheckedState(Object obj, boolean enable) {
- if (obj instanceof IBreakpoint) {
- Widget[] list = searchItems(obj);
- TreeItem item = null;
- for(int i = 0; i < list.length; i++) {
- item = (TreeItem)list[i];
- item.setChecked(enable);
- refreshParents(item);
- }
- }
- else if (obj instanceof BreakpointContainer) {
- ArrayList bps = new ArrayList();
- getBreakpointsFromContainers((BreakpointContainer)obj, bps);
- for(int j = 0; j < bps.size(); j++) {
- updateCheckedState(bps.get(j), enable);
- }
- }
+ IBreakpoint breakpoint = (IBreakpoint)DebugPlugin.getAdapter(obj, IBreakpoint.class);
+ if (breakpoint != null) {
+ Widget[] list = searchItems(obj);
+ TreeItem item = null;
+ for(int i = 0; i < list.length; i++) {
+ item = (TreeItem)list[i];
+ item.setChecked(enable);
+ refreshParents(item);
+ }
+ }
+ else if (obj instanceof BreakpointContainer) {
+ ArrayList bps = new ArrayList();
+ getBreakpointsFromContainers((BreakpointContainer)obj, bps);
+ for(int j = 0; j < bps.size(); j++) {
+ updateCheckedState(bps.get(j), enable);
+ }
+ }
}
/**

Back to the top