/**
* @see java.beans.PropertyChangeListener#propertyChange(java.beans.PropertyChangeEvent)
*/
public void propertyChange(PropertyChangeEvent evt) {
// Handles model change
ProjectFigure projectFigure = (ProjectFigure) getFigure();
if (INode.Properties.LOCATION.represents(evt)) {
projectFigure.setLocation((Point) evt.getNewValue());
refreshLayout();
} else if (INode.Properties.SIZE.represents(evt)) {
projectFigure.setSize((Dimension) evt.getNewValue());
refreshLayout();
} else if (INode.Properties.X.represents(evt)) {
projectFigure.setLocation(new Point((Double) evt.getNewValue(), projectFigure.getLocation().y));
refreshLayout();
} else if (INode.Properties.Y.represents(evt)) {
projectFigure.setLocation(new Point(projectFigure.getLocation().x, (Double) evt.getNewValue()));
refreshLayout();
} else if (INode.Properties.WIDTH.represents(evt)) {
projectFigure.setSize(((Double) evt.getNewValue()).intValue(), projectFigure.getSize().width);
refreshLayout();
} else if (INode.Properties.HEIGHT.represents(evt)) {
projectFigure.setSize(projectFigure.getSize().width, ((Double) evt.getNewValue()).intValue());
refreshLayout();
} else if (INode.Properties.COLOR.represents(evt)) {
projectFigure.setTitleColor((Color) evt.getNewValue());
}
}