/******************************************************************************* * Copyright (c) 2008, 2010 Wind River Systems, Inc. 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: * Anton Leherbauer (Wind River Systems) - initial API and implementation *******************************************************************************/ package org.eclipse.cdt.dsf.debug.internal.ui.disassembly.provisional; import org.eclipse.cdt.core.IAddress; import org.eclipse.jface.action.IMenuListener; import org.eclipse.jface.text.source.ISourceViewer; import org.eclipse.ui.IWorkbenchPart; /** * Interface which the disassembly view and editor implement. * * @since 2.1 * @noextend This interface is not intended to be extended by clients. * @noimplement This interface is not intended to be implemented by clients. */ public interface IDisassemblyPart extends IWorkbenchPart { /** * Property id for the active state of the part. */ public final int PROP_ACTIVE= 0x505; /** * Property id for the connected state of the part. */ public final int PROP_CONNECTED= 0x506; /** * Property id for the suspended state of the underlying execution context. */ public final int PROP_SUSPENDED= 0x507; /** * Test whether this part is connected to a debug session and execution context. * * @return <code>true</code> if the part is connected to a debug session and execution context */ boolean isConnected(); /** * Test whether this part is active. A part is active if it is visible and connected. * * @return <code>true</code> if the part is active */ boolean isActive(); /** * Test whether the underlying execution context is currently suspended. * Implies connected state. * * @return <code>true</code> if the execution context is currently suspended */ boolean isSuspended(); /** * Get access to the text viewer. * * @return the text viewer */ ISourceViewer getTextViewer(); /** * Navigate to the given address. * * @param address */ void gotoAddress(IAddress address); /** * Navigate to current program counter. */ void gotoProgramCounter(); /** * Navigate to the address the given expression evaluates to. * * @param expression a symbolic address expression */ void gotoSymbol(String expression); /** * Adds a ruler context menu listener to the disassembly part. * * @param listener the listener */ void addRulerContextMenuListener(IMenuListener listener); /** * Removes a ruler context menu listener from the disassembly part. * * @param listener the listener */ void removeRulerContextMenuListener(IMenuListener listener); }