Eclipse-PyUML/pyUml/src/pyUML/listeners/ModelChangeListener.java

33 lines
809 B
Java
Executable File

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);
}
}
}
}