Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPatrick Chuong2011-03-30 13:56:31 +0000
committerPatrick Chuong2011-03-30 13:56:31 +0000
commitc1d6a1cffe3eb58e5b41caef41ff3b40490c42ab (patch)
tree5d6ee952ab18c981d368ad4b8f10f80aee72d893 /dsf/org.eclipse.cdt.dsf.ui/src/org/eclipse/cdt/dsf/debug
parent16fdcfdd185330e552f89a7b3681f29928c2a6c5 (diff)
downloadorg.eclipse.cdt-c1d6a1cffe3eb58e5b41caef41ff3b40490c42ab.tar.gz
org.eclipse.cdt-c1d6a1cffe3eb58e5b41caef41ff3b40490c42ab.tar.xz
org.eclipse.cdt-c1d6a1cffe3eb58e5b41caef41ff3b40490c42ab.zip
Bug 340177 - [breakpoints] Update CDT ToggleBreakpointTargetFactory enablement
Diffstat (limited to 'dsf/org.eclipse.cdt.dsf.ui/src/org/eclipse/cdt/dsf/debug')
-rw-r--r--dsf/org.eclipse.cdt.dsf.ui/src/org/eclipse/cdt/dsf/debug/internal/ui/disassembly/DisassemblyToggleBreakpointTester.java61
1 files changed, 61 insertions, 0 deletions
diff --git a/dsf/org.eclipse.cdt.dsf.ui/src/org/eclipse/cdt/dsf/debug/internal/ui/disassembly/DisassemblyToggleBreakpointTester.java b/dsf/org.eclipse.cdt.dsf.ui/src/org/eclipse/cdt/dsf/debug/internal/ui/disassembly/DisassemblyToggleBreakpointTester.java
new file mode 100644
index 00000000000..e872b33742e
--- /dev/null
+++ b/dsf/org.eclipse.cdt.dsf.ui/src/org/eclipse/cdt/dsf/debug/internal/ui/disassembly/DisassemblyToggleBreakpointTester.java
@@ -0,0 +1,61 @@
+/*****************************************************************
+ * Copyright (c) 2011 Texas Instruments 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
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Patrick Chuong (Texas Instruments) -
+ * Update CDT ToggleBreakpointTargetFactory enablement (340177 )
+ *****************************************************************/
+package org.eclipse.cdt.dsf.debug.internal.ui.disassembly;
+
+import org.eclipse.cdt.debug.core.CDIDebugModel;
+import org.eclipse.cdt.debug.core.CDebugUtils;
+import org.eclipse.cdt.debug.core.model.ICBreakpoint;
+import org.eclipse.cdt.dsf.debug.internal.ui.disassembly.provisional.IDisassemblyPart;
+import org.eclipse.core.expressions.PropertyTester;
+import org.eclipse.core.runtime.IAdaptable;
+import org.eclipse.debug.core.model.IDebugElement;
+import org.eclipse.debug.core.model.IDebugModelProvider;
+import org.eclipse.debug.ui.DebugUITools;
+
+/**
+ * Disassembly toggle breakpoint factory enablement tester.
+ *
+ * @since 2.2
+ */
+public class DisassemblyToggleBreakpointTester extends PropertyTester {
+
+ /*
+ * (non-Javadoc)
+ * @see org.eclipse.core.expressions.IPropertyTester#test(java.lang.Object, java.lang.String, java.lang.Object[], java.lang.Object)
+ */
+ public boolean test(Object receiver, String property, Object[] args, Object expectedValue) {
+ if ("isDisassemblyViewSupportsCBreakpoint".equals(property) && (receiver instanceof IDisassemblyPart)) { //$NON-NLS-1$
+ IDisassemblyPart view = ((IDisassemblyPart) receiver);
+ if (!CDebugUtils.isCustomToggleBreakpointFactory())
+ return true;
+
+ IAdaptable element = DebugUITools.getPartDebugContext(view.getSite());
+ if (element != null) {
+ IDebugModelProvider modelProvider = (IDebugModelProvider)element.getAdapter(IDebugModelProvider.class);
+ if (modelProvider != null) {
+ String[] models = modelProvider.getModelIdentifiers();
+ for (String model : models) {
+ if (CDIDebugModel.getPluginIdentifier().equals(model) ||
+ ICBreakpoint.C_BREAKPOINTS_DEBUG_MODEL_ID.equals(model)) {
+ return true;
+ }
+ }
+ } else if (element instanceof IDebugElement) {
+ if (CDIDebugModel.getPluginIdentifier().equals(((IDebugElement)element).getModelIdentifier()) ) {
+ return true;
+ }
+ }
+ }
+ }
+ return false;
+ }
+} \ No newline at end of file

Back to the top