Exemplo n.º 1
0
        public override void ElementPropertyChanged(ElementPropertyChangedEventArgs e)
        {
            base.ElementPropertyChanged(e);

            if (e.ModelElement == null)
            {
                return;
            }

            if (e.ModelElement.Store.InSerializationTransaction)
            {
                return;
            }

            NodeShape nodeShape = e.ModelElement as NodeShape;

            if (nodeShape != null)
            {
                if (e.DomainProperty.Id == NodeShape.LocationDomainPropertyId)
                {
                    PointD oldLocation = (PointD)e.OldValue;
                    PointD newLocation = (PointD)e.NewValue;

                    nodeShape.CorrectLinkShapesOnLocationChanged(oldLocation, newLocation);
                }
                else if (e.DomainProperty.Id == NodeShape.SizeDomainPropertyId)
                {
                    SizeD oldSize = (SizeD)e.OldValue;
                    SizeD newSize = (SizeD)e.NewValue;

                    if (oldSize.Width != 0.0 && oldSize.Height != 0.0)
                    {
                        nodeShape.CorrectLinkShapesOnSizeChanged(oldSize, newSize);
                    }
                }
            }
        }