/*******************************************************************************
* Copyright (c) 2008 ARM Limited 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:
* ARM Limited - Initial API and implementation
*******************************************************************************/
package org.eclipse.cdt.debug.ui.disassembly;
/**
* A content update request for a source viewer.
* <p>
* Clients are not intended to implement this interface.
* </p>
*
* This interface is experimental.
*/
public interface IDocumentElementContentUpdate extends IDocumentUpdate {
/**
* Returns the line number associated with the base element.
* Can be outside of the requested line interval.
*
* @return line number associated with the element
*/
public int getOriginalOffset();
/**
* Returns the number of lines requested.
*
* @return number of lines requested
*/
public int getRequestedLineCount();
/**
* Sets the offset of the base element
*
* @param offset offset of the base element
*/
public void setOffset( int offset );
/**
* Sets the number of lines in this update request
*
* @param lineCount number of lines
*/
public void setLineCount( int lineCount );
/**
* Adds a source element for the given line number
*
* @param line line number
* @param element element to add
*/
public void addElement( int line, Object element ) throws IndexOutOfBoundsException;
/**
* Indicates whether or not the element should be revealed
*
* @return whether or not the element should be revealed
*/
public boolean reveal();
}