33 lines
809 B
Java
33 lines
809 B
Java
|
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);
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
}
|