Esempio n. 1
0
        /// <summary>
        /// </summary>
        /// <param name="e">Provides data for the ElementDeleted event.</param>
        public override void ElementDeleted(ElementDeletedEventArgs e)
        {
            LayerPackage layerPackage = e.ModelElement as LayerPackage;

            if (layerPackage == null)
            {
                return;
            }

            if (layerPackage.Store.InUndoRedoOrRollback)
            {
                return;
            }

            SoftwareComponent component = CandleModel.GetInstance(layerPackage.Store).SoftwareComponent;

            if (component != null)
            {
                // Suppression de la couche d'interface
                AbstractLayer interfaceLayer = null;
                foreach (AbstractLayer al in component.Layers)
                {
                    ISortedLayer sl = al as ISortedLayer;
                    if (sl != null && sl.Level == layerPackage.LayerLevel)
                    {
                        interfaceLayer = al;
                        break;
                    }
                }
                if (interfaceLayer != null)
                {
                    interfaceLayer.Delete();
                }
                IList <PresentationViewsSubject> shapes = PresentationViewsSubject.GetLinksToPresentation(component);
                foreach (PresentationViewsSubject link in shapes)
                {
                    ((SoftwareComponentShape)link.Presentation).ArrangeShapes();
                }
            }
        }
Esempio n. 2
0
        /// <summary>
        /// </summary>
        /// <param name="e">Provides data for the ElementDeleted event.</param>
        public override void ElementDeleted(ElementDeletedEventArgs e)
        {
            Layer layer = e.ModelElement as Layer;

            if (layer == null)
            {
                return;
            }

            if (layer.Store.InUndoRedoOrRollback)
            {
                return;
            }

            if (layer.LayerPackage != null)
            {
                IList <PresentationViewsSubject> shapes =
                    PresentationViewsSubject.GetLinksToPresentation(layer.LayerPackage);
                foreach (PresentationViewsSubject link in shapes)
                {
                    ((SoftwareComponentShape)link.Presentation).ArrangeShapes();
                }
            }
        }