package com.xrosstools.xunit.editor.treeparts;
import java.beans.PropertyChangeEvent;
import java.beans.PropertyChangeListener;
import java.util.ArrayList;
import java.util.List;
import org.eclipse.gef.editparts.AbstractTreeEditPart;
import org.eclipse.swt.graphics.Image;
import com.xrosstools.xunit.editor.Activator;
import com.xrosstools.xunit.editor.model.UnitConstants;
import com.xrosstools.xunit.editor.model.UnitNode;
public class BaseNodeTreePart extends AbstractTreeEditPart implements UnitConstants, PropertyChangeListener {
public void activate() {
super.activate();
((UnitNode)getModel()).addPropertyChangeListener(this);
}
public void deactivate() {
super.deactivate();
((UnitNode)getModel()).removePropertyChangeListener(this);
}
public void propertyChange(PropertyChangeEvent evt) {
refresh();
}
protected List<UnitNode> getList(){
return new ArrayList<UnitNode>();
}
protected void addChild(List<UnitNode> nodes, UnitNode node){
if(node != null)
nodes.add(node);
}
protected String getText() {
UnitNode node = (UnitNode)getModel();
if(node.getInput() == null || node.getInput().getLabel() == null)
return node.getName();
return node.getInput().getLabel() + SEPARATER + node.getName();
}
protected Image getImage() {
return Activator.getDefault().getImage(getModel().getClass());
}
}