package org.objectstyle.wolips.ruleeditor.listener; import java.beans.*; import org.objectstyle.wolips.ruleeditor.editor.*; import org.objectstyle.wolips.ruleeditor.model.*; /** * This class listen for changes in the {@link D2WModel} object being modified * by the RuleEditor. * * @author <a href="mailto:hprange@moleque.com.br">Henrique Prange</a> */ public class D2WModelChangeListener implements PropertyChangeListener { private final RuleEditorPart editorPart; /** * Default constructor. Change the state of a RuleEditorPart when some * change happen in the D2WModel. * * @param editorPart * The editorPart that modifies a D2WModel */ public D2WModelChangeListener(RuleEditorPart editorPart) { this.editorPart = editorPart; } /** * Change the dirty property of the RuleEditorPart to <code>true</code> or * <code>false</code> in accordance with the <code>D2WModel</code> * state. * * @see java.beans.PropertyChangeListener#propertyChange(java.beans.PropertyChangeEvent) */ public void propertyChange(PropertyChangeEvent event) { D2WModel model = (D2WModel) event.getSource(); editorPart.setDirty(model.hasUnsavedChanges()); } }