using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using AIStudio.Wpf.DiagramDesigner.Models; namespace AIStudio.Wpf.DiagramDesigner { public class BlockContainDesignerItemViewModel : BlockDesignerItemViewModel { public BlockContainDesignerItemViewModel() { } public BlockContainDesignerItemViewModel(IDiagramViewModel root) : base(root) { } public BlockContainDesignerItemViewModel(IDiagramViewModel root, SelectableItemBase designer) : base(root, designer) { } public BlockContainDesignerItemViewModel(IDiagramViewModel root, SerializableItem serializableItem, string serializableType) : base(root, serializableItem, serializableType) { } protected override void InitNew() { base.InitNew(); Containers.Add(new BlockItemsContainerInfo(this.Root, this)); } public override void AddChild(BlockDesignerItemViewModel child, BlockItemsContainerInfo container) { if (container == null) { container = FirstContainer; } var oldchildren = container.Children.FirstOrDefault(); if (oldchildren != null) { this.RemoveChild(oldchildren, container); } Root.Items.Remove(child); container.AddChild(child); base.AddChild(child, container); } public override void RemoveChild(BlockDesignerItemViewModel child, BlockItemsContainerInfo container) { if (container == null) { container = FirstContainer; } Root.Items.Add(child); container.RemoveChild(child); this.RemoveFromSelection(); child.AddToSelection(true, false); base.RemoveChild(child, container); } } }