private void CmdScoreMeasureInsertMultiple_Executed(object sender, ExecutedEventArgs e) { var score = visualizer.Editor.CurrentScore; if (score == null || !score.HasAnyBar) { CmdScoreMeasureAppendMultiple.Command.Execute(e); return; } Bar selectedBar; if (visualizer.Editor.HasOneSelectedBar) { selectedBar = visualizer.Editor.GetSelectedBar(); } else if (visualizer.Editor.HasSelectedBars) { var bars = visualizer.Editor.GetSelectedBars().ToList(); bars.Sort((b1, b2) => b1.Basic.Index.CompareTo(b2.Basic.Index)); // Use the first selected bar. selectedBar = bars[0]; } else { selectedBar = visualizer.Editor.GetFirstVisibleBarWithVisibleHead(); } if (selectedBar == null) { CmdScoreMeasureAppendMultiple.Command.Execute(e); return; } var(dialogResult, numberOfMeasures) = FNewMeasures.RequestInput(this); if (dialogResult == DialogResult.Cancel) { return; } if (numberOfMeasures <= 0) { return; } var insertedBars = visualizer.Editor.InsertBars(selectedBar, numberOfMeasures); visualizer.RecalcLayout(); visualizer.Editor.ScrollToBar(insertedBars[0]); InformProjectModified(); visualizer.Editor.UpdateBarStartTimeText(); }
private void CmdScoreMeasureAppendMultiple_Executed(object sender, ExecutedEventArgs e) { var(dialogResult, numberOfMeasures) = FNewMeasures.RequestInput(this); if (dialogResult == DialogResult.Cancel) { return; } if (numberOfMeasures <= 0) { return; } var bars = visualizer.Editor.AppendBars(numberOfMeasures); visualizer.RecalcLayout(); visualizer.Editor.ScrollToBar(bars[0]); InformProjectModified(); visualizer.Editor.UpdateBarStartTimeText(); }