/** * */ package org.jboss.tools.smooks.gef.tree.editparts; import java.beans.PropertyChangeListener; import org.eclipse.gef.DefaultEditDomain; import org.eclipse.gef.GraphicalViewer; import org.eclipse.gef.editparts.AbstractGraphicalEditPart; import org.eclipse.ui.IEditorPart; import org.jboss.tools.smooks.gef.tree.model.TreeNodeModel; /** * @author DartPeng * */ public abstract class AbstractTreeEditPart extends AbstractGraphicalEditPart implements PropertyChangeListener{ @Override public void activate() { super.activate(); Object model = getModel(); if(model instanceof TreeNodeModel){ ((TreeNodeModel)model).addPropertyChangeListener(this); } } @Override public void deactivate() { Object model = getModel(); if(model instanceof TreeNodeModel){ ((TreeNodeModel)model).removePropertyChangeListener(this); } super.deactivate(); } public IEditorPart getEditorPart(){ GraphicalViewer viewer = (GraphicalViewer)getViewer(); if(viewer != null){ DefaultEditDomain domain = (DefaultEditDomain) viewer.getEditDomain(); if(domain != null){ return domain.getEditorPart(); } } return null; } }