public MeasureDrawing(string measureId, string partId, double staffDistance, int stavesCount) { //PropertyChanged += OnWidthChanged; stavesDistance = staffDistance; this.stavesCount = (uint)stavesCount; layout = ViewModelLocator.Instance.Main.CurrentLayout; pageProperies = layout.PageProperties; this.id = measureId; this.partId = partId; GetMeasureProperties(); //! CreateStaffLine(); CreateVisualObject(); }
public void SetSystemMeasureRanges() { LayoutControl.LayoutGeneral currentLayout = ViewModel.ViewModelLocator.Instance.Main.CurrentLayout; double defaultLeftMargin = currentLayout.PageMargins.LeftMargin; double defaultTopMargin = currentLayout.PageMargins.TopMargin; var part = _currentPart; _measuresPerSystem = new List <List <string> >(); foreach (var page in _partSysemsInPages) { List <List <string> > tempList = new List <List <string> >(); foreach (var item2 in page) { _measuresPerSystem.Add(part.TryGetMeasuresIdRange(item2)); tempList.Add(part.TryGetMeasuresIdRange(item2)); } _measuresPerSystemPerPage.Add(new List <List <string> >(tempList)); } double previousWidth = 0.0; double currentLineY = 0.0; _coords = new Dictionary <string, Point>(); foreach (var measuresLine in _measuresPerSystem) { int systemIndex = _measuresPerSystem.IndexOf(measuresLine); if (systemIndex == 0) { previousWidth = 0.0; foreach (var measureId in measuresLine) { _coords.Add(measureId, new Point(previousWidth, currentLineY)); previousWidth += part.GetMeasureUsingId(measureId).CalculatedWidth.TenthsToWPFUnit(); } } else { previousWidth = 0.0; foreach (var measureId in measuresLine) { _coords.Add(measureId, new Point(previousWidth, currentLineY)); previousWidth += part.GetMeasureUsingId(measureId).CalculatedWidth.TenthsToWPFUnit(); } } } }