org.chromium.debug.core/src/org/chromium/debug/core/model/ChromiumBreakpointWBAFactory.java
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/org.chromium.debug.core/src/org/chromium/debug/core/model/ChromiumBreakpointWBAFactory.java Wed Dec 23 17:13:18 2009 -0800
@@ -0,0 +1,58 @@
+// Copyright (c) 2009 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+package org.chromium.debug.core.model;
+
+import org.chromium.debug.core.ChromiumDebugPlugin;
+import org.eclipse.core.resources.IMarker;
+import org.eclipse.core.runtime.CoreException;
+import org.eclipse.core.runtime.IAdapterFactory;
+import org.eclipse.jface.resource.ImageDescriptor;
+import org.eclipse.ui.model.IWorkbenchAdapter;
+
+/**
+ * An IWorkbenchAdapter factory for ChromiumLineBreakpoints.
+ */
+public class ChromiumBreakpointWBAFactory implements IAdapterFactory {
+
+ protected static final Object[] EMPTY_CHILDREN = new Object[0];
+
+ @SuppressWarnings("unchecked")
+ public Object getAdapter(Object adaptableObject, Class adapterType) {
+ if (adapterType != IWorkbenchAdapter.class ||
+ !(adaptableObject instanceof ChromiumLineBreakpoint)) {
+ return null;
+ }
+ return new IWorkbenchAdapter() {
+
+ public Object[] getChildren(Object o) {
+ return EMPTY_CHILDREN;
+ }
+
+ public ImageDescriptor getImageDescriptor(Object object) {
+ return null;
+ }
+
+ public String getLabel(Object o) {
+ ChromiumLineBreakpoint bp = (ChromiumLineBreakpoint) o;
+ try {
+ return bp.getMarker().getAttribute(IMarker.MESSAGE).toString();
+ } catch (CoreException e) {
+ ChromiumDebugPlugin.log(e);
+ }
+ return null;
+ }
+
+ public Object getParent(Object o) {
+ return null;
+ }
+ };
+ }
+
+ @SuppressWarnings("unchecked")
+ public Class[] getAdapterList() {
+ return new Class[] { IWorkbenchAdapter.class };
+ }
+
+}