blob: 621446ac038335b371cb4239110a2b8fb617a2f3 [file] [log] [blame]
package org.eclipse.debug.internal.ui.views;
/*
* (c) Copyright IBM Corp. 2000, 2001.
* All Rights Reserved.
*/
import org.eclipse.debug.core.DebugEvent;
import org.eclipse.debug.core.model.IStackFrame;
import org.eclipse.debug.core.model.IVariable;
import org.eclipse.debug.ui.AbstractDebugView;
import org.eclipse.jface.viewers.Viewer;
/**
* Updates the variables view
*/
public class VariablesViewEventHandler extends AbstractDebugEventHandler {
/**
* Constructs a new event handler on the given view and
* viewer
*
* @param view variables view
* @param viewer tree viewer
*/
public VariablesViewEventHandler(AbstractDebugView view, Viewer viewer) {
super(view, viewer);
}
/**
* @see BasicContentProvider#doHandleDebug(Event)
*/
protected void doHandleDebugEvent(DebugEvent event) {
switch (event.getKind()) {
case DebugEvent.SUSPEND:
if (event.getDetail() != DebugEvent.EVALUATION_READ_ONLY) {
refresh();
}
if (event.getDetail() == DebugEvent.STEP_END) {
getVariablesView().populateDetailPane();
}
break;
case DebugEvent.CHANGE:
if (event.getDetail() == DebugEvent.STATE) {
// only process variable state changes
if (event.getSource() instanceof IVariable) {
refresh(event.getSource());
}
} else {
refresh();
}
break;
}
}
protected VariablesView getVariablesView() {
return (VariablesView)getView();
}
}