blob: a1c10a330986b6544716dd3b32764e19dd430e5d [file] [log] [blame]
/*
*(c) Copyright QNX Software Systems Ltd. 2002.
* All Rights Reserved.
*
*/
package org.eclipse.cdt.debug.internal.ui.views.registers;
import org.eclipse.jface.viewers.TreeViewer;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Item;
import org.eclipse.swt.widgets.Tree;
import org.eclipse.swt.widgets.Widget;
/**
*
* Registers viewer. As the user steps through code, this
* viewer renders registers that have changed with a
* different foreground color thereby drawing attention
* to the values that have changed.
*
* @since Jul 23, 2002
*/
public class RegistersViewer extends TreeViewer
{
private Item fNewItem;
/**
* Constructor for RegistersViewer.
* @param parent
*/
public RegistersViewer( Composite parent )
{
super( parent );
}
/**
* Constructor for RegistersViewer.
* @param parent
* @param style
*/
public RegistersViewer( Composite parent, int style )
{
super( parent, style );
}
/**
* Constructor for RegistersViewer.
* @param tree
*/
public RegistersViewer( Tree tree )
{
super( tree );
}
public void refresh()
{
super.refresh();
if ( getSelection().isEmpty() && getNewItem() != null )
{
if ( !getNewItem().isDisposed() )
{
//ensure that new items are visible
showItem( getNewItem() );
}
setNewItem( null );
}
//expandToLevel( 2 );
}
/**
* @see AbstractTreeViewer#newItem(Widget, int, int)
*/
protected Item newItem( Widget parent, int style, int index )
{
if ( index != -1 )
{
//ignore the dummy items
setNewItem( super.newItem( parent, style, index ) );
return getNewItem();
}
return super.newItem( parent, style, index );
}
protected Item getNewItem()
{
return fNewItem;
}
protected void setNewItem( Item newItem )
{
fNewItem = newItem;
}
}