public PartsSystemDrawing(Dictionary <string, List <MeasureSegmentController> > measuresToAdd, List <string> partIDs, LayoutSystemInfo layoutInfo) { _attributesLayout = ViewModel.ViewModelLocator.Instance.Main.CurrentLayout.LayoutStyle.MeasureStyle; _systemLayout = layoutInfo; _partIDsList = partIDs; _partWidth = measuresToAdd.FirstOrDefault(x => x.Key == measuresToAdd.Keys.FirstOrDefault()).Value.Sum(x => x.MinimalWidthWithAttributes); PartsSegmentsDraw(measuresToAdd, layoutInfo); }
public PartSegmentDrawing(List <MeasureSegmentController> measureSegments, string partId, LayoutSystemInfo layoutInfo) { _partId = partId; _measuresList = measureSegments.Select(x => x.MeasureId).ToList(); _partMeasures = measureSegments; _partProperties = ViewModel.ViewModelLocator.Instance.Main.PartsProperties[partId]; _stavesCount = _partProperties.NumberOfStaves; _systemLayoutInfo = layoutInfo; _systemLayoutInfo.PropertyChanged += SystemLayoutInfo_PropertyChanged; _staffDistance = _partProperties.StaffLayoutPerPage[_pageIndex][0].StaffDistance; CalculateDimensions(); }
public void GenerateContent(bool test, LayoutSystemInfo systemLayout) { if (systemLayout != null) { _measuresSegments = new List <Canvas>(); //! holds reference for future position update //! use system layout info foreach (var measureSegment in PartMeasures) { //! -------test _measuresSegments.Add(measureSegment.GetMeasureCanvas()); //! ------- Canvas.SetTop(measureSegment.GetMeasureCanvas(), 0); Canvas.SetLeft(measureSegment.GetMeasureCanvas(), systemLayout.WhicheverPartMeasureCoords(measureSegment.MeasureId, _partId).X); PartSegmentCanvas.Children.Add(measureSegment.GetMeasureCanvas()); } } }
private void PartsSegmentsDraw(Dictionary <string, List <MeasureSegmentController> > measuresList, LayoutSystemInfo layoutInfo) { _partsSegments = new Dictionary <string, PartSegmentDrawing>(); _partSystemCanvas = new Canvas(); foreach (var partId in _partIDsList) { PartSegmentDrawing partSegment = new PartSegmentDrawing(measuresList[partId], partId, layoutInfo); _partsSegments.Add(partId, partSegment); partSegment.GenerateContent(true, layoutInfo); PartSystemCanvas.Children.Add(partSegment.PartSegmentCanvas); } ArrangeMeasureContent(true); }