예제 #1
0
        private void RecButton_Click(object sender, RoutedEventArgs e)
        {
            if (_recorder == null)
            {
                return;
            }

            int             click;
            PowerPointSlide currentSlide;

            try
            {
                click        = _slideShowWindow.View.GetClickIndex();
                currentSlide = PowerPointSlide.FromSlideFactory(_slideShowWindow.View.Slide);
            }
            catch (COMException)
            {
                Forms.MessageBox.Show(NarrationsLabText.InShowControlErrorInvalidRecCommand);
                return;
            }

            switch (_status)
            {
            case ButtonStatus.Idle:
                _status = ButtonStatus.Rec;
                undoButton.IsEnabled = false;
                _recordStartClick    = click;
                _recordStartSlide    = currentSlide;

                recButton.Content    = NarrationsLabText.InShowControlRecButtonIdleText;
                recButton.Foreground = new SolidColorBrush(Colors.Red);
                _recorder.RecButtonIdleHandler();
                _slideShowWindow.Activate();
                break;

            case ButtonStatus.Rec:
                recButton.Content    = NarrationsLabText.InShowControlRecButtonRecText;
                undoButton.IsEnabled = true;
                recButton.Foreground = new SolidColorBrush(Colors.Black);

                _recorder.StopButtonRecordingHandler(_recordStartClick, _recordStartSlide, true);
                _slideShowWindow.Activate();

                var totalClick = _slideShowWindow.View.GetClickCount();

                if (click + 1 > totalClick)
                {
                    _slideShowWindow.View.Next();
                }
                else
                {
                    _slideShowWindow.View.GotoClick(click + 1);
                }

                _status = ButtonStatus.Idle;

                // stop produces a undo-able record, thus enable undo button
                undoButton.IsEnabled = true;

                break;
            }
        }
예제 #2
0
 public override void Focus()
 {
     window.Activate();
 }