コード例 #1
0
 public static (DialogResult DialogResult, int NumberOfMeasures) RequestInput(IWin32Window parentWindow)
 {
     using (var f = new FNewMeasures()) {
         f.Localize(LanguageManager.Current);
         f.MonitorLocalizationChange();
         var r = f.ShowDialog(parentWindow);
         f.UnmonitorLocalizationChange();
         var n = f._numberOfMeasures;
         return(r, n);
     }
 }
コード例 #2
0
        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();
        }
コード例 #3
0
        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();
        }