示例#1
0
        private void AddItem(BeatSegment segment)
        {
            BeatContainer container = new BeatContainer();

            container.SetBeatSegment(segment);

            _containerDictionary.Add(segment, container);

            timePanel.Children.Add(container);
        }
示例#2
0
        private void MnuTimeLockOnClick(object sender, RoutedEventArgs routedEventArgs)
        {
            BeatContainer container = AdornedElement as BeatContainer;

            if (container == null)
            {
                return;
            }

            container.BeatLine.TimeLock ^= true;

            ((MenuItem)sender).IsChecked = container.BeatLine.TimeLock;
        }
示例#3
0
        private void MnuEditPatternOnClick(object sender, RoutedEventArgs routedEventArgs)
        {
            BeatContainer container = AdornedElement as BeatContainer;

            if (container == null)
            {
                return;
            }

            BeatPatternEditor dialog = new BeatPatternEditor(container.BeatLine.BeatDefinition.Pattern);

            if (dialog.ShowDialog() != true)
            {
                return;
            }

            container.SetBeat(new BeatDefinition {
                Pattern = dialog.Result
            });
        }
示例#4
0
        public BeatContainerAdorner(BeatContainer adornedElement) : base(adornedElement)
        {
            Container = adornedElement;

            MenuItem mnuTimeLock = new MenuItem
            {
                Header      = "Lock",
                IsCheckable = true,
                IsChecked   = adornedElement.BeatLine.TimeLock
            };

            mnuTimeLock.Click += MnuTimeLockOnClick;

            MenuItem mnuEditPattern = new MenuItem
            {
                Header = "Edit Pattern",
            };

            mnuEditPattern.Click += MnuEditPatternOnClick;

            MenuItem mnuSnap = new MenuItem
            {
                Header = "Snap",
            };

            mnuSnap.Click += MnuSnapOnClick;

            MenuItem mnuCopyDuration = new MenuItem
            {
                Header = "Copy Beat Duration",
            };

            mnuCopyDuration.Click += MnuCopyDuration;

            MenuItem mnuPasteDuration = new MenuItem
            {
                Header = "Paste Beat Duration",
            };

            mnuPasteDuration.Click += MnuPasteDuration;

            ContextMenu = new ContextMenu();

            ContextMenu.Items.Add(mnuTimeLock);
            ContextMenu.Items.Add(mnuEditPattern);
            ContextMenu.Items.Add(mnuSnap);
            ContextMenu.Items.Add(new Separator());
            ContextMenu.Items.Add(mnuCopyDuration);
            ContextMenu.Items.Add(mnuPasteDuration);

            _thumbLeft = new Thumb
            {
                VerticalAlignment   = VerticalAlignment.Stretch,
                HorizontalAlignment = HorizontalAlignment.Left,
                Width   = 10,
                Opacity = 0,
                Margin  = new Thickness(0, 20, 0, 0)
            };

            _thumbLeft.DragStarted   += ThumbOnDragStarted;
            _thumbLeft.DragDelta     += ThumbOnDragDelta;
            _thumbLeft.DragCompleted += ThumbOnDragCompleted;

            _thumbLeft.Cursor = Cursors.ScrollWE;

            AddVisualChild(_thumbLeft);

            _thumbRight = new Thumb
            {
                VerticalAlignment   = VerticalAlignment.Stretch,
                HorizontalAlignment = HorizontalAlignment.Right,
                Width   = 10,
                Opacity = 0,
                Margin  = new Thickness(0, 20, 0, 0)
            };

            _thumbRight.DragStarted   += ThumbOnDragStarted;
            _thumbRight.DragDelta     += ThumbOnDragDelta;
            _thumbRight.DragCompleted += ThumbOnDragCompleted;

            _thumbRight.Cursor = Cursors.ScrollWE;

            AddVisualChild(_thumbRight);

            _thumbTop = new Thumb
            {
                VerticalAlignment   = VerticalAlignment.Top,
                HorizontalAlignment = HorizontalAlignment.Stretch,
                Height  = 20,
                Opacity = 0
            };

            _thumbTop.DragStarted   += ThumbOnDragStarted;
            _thumbTop.DragDelta     += ThumbOnDragDelta;
            _thumbTop.DragCompleted += ThumbOnDragCompleted;

            _thumbTop.Cursor = Cursors.ScrollAll;

            AddVisualChild(_thumbTop);
        }