internal void Add(SideOffsetViewModel subitem) { if (subitem == null) { throw new ArgumentNullException(nameof(subitem)); } _subitems.Add(subitem); }
private void Init() { _mainItem = new MainOffsetViewModel(_wallHole.MainOffset, _wallHole.Centroid); this.CanvasItems.Add(_mainItem); this.OffsetItems.Add(_mainItem); foreach (var sideOffset in _wallHole.SideOffsets) { var sideOffsetVM = new SideOffsetViewModel(sideOffset); _mainItem.Add(sideOffsetVM); this.CanvasItems.Add(sideOffsetVM); this.OffsetItems.Add(sideOffsetVM); this.CanvasItems.Add(new SideOffsetLineViewModel(sideOffset)); } int layerId = 0; foreach (var layer in _wallHole.TopDims) { foreach (var dim in layer) { var dimVM = new DimensionViewModel(dim); dimVM.Layer = layerId; this.CanvasItems.Add(dimVM); } layerId++; } layerId = 0; foreach (var layer in _wallHole.BottomDims) { foreach (var dim in layer) { var dimVM = new DimensionViewModel(dim); dimVM.Layer = layerId; dimVM.ModelLength = _wallHole.Size.Height; this.CanvasItems.Add(dimVM); } layerId++; } layerId = 0; foreach (var layer in _wallHole.LeftDims) { foreach (var dim in layer) { var dimVM = new DimensionViewModel(dim); dimVM.Layer = layerId; dimVM.IsVertical = true; this.CanvasItems.Add(dimVM); } layerId++; } layerId = 0; foreach (var layer in _wallHole.RightDims) { foreach (var dim in layer) { var dimVM = new DimensionViewModel(dim); dimVM.Layer = layerId; dimVM.IsVertical = true; dimVM.ModelLength = _wallHole.Size.Width; this.CanvasItems.Add(dimVM); } layerId++; } }