package pyUML.listeners; import org.eclipse.core.resources.IProject; import org.eclipse.gmf.runtime.diagram.ui.parts.DiagramEditor; import org.eclipse.ui.IPropertyListener; import pyUML.backend.UMLToolsHelperMethods; /** * This class is to update all pyUML.views (model and diagram) * On every model change */ public class ModelChangeListener implements IPropertyListener { private IProject project; public ModelChangeListener(IProject project) { super(); this.project = project; } public void propertyChanged(Object source, int propId) { // on model save, update all pyUML.views if (source instanceof DiagramEditor) { DiagramEditor umlEditor = (DiagramEditor) source; if (! umlEditor.isDirty()) { UMLToolsHelperMethods.updateModelAndViewPages(this.project); } } } }