Simple EventArgs class for the timer model.
Inheritance: System.EventArgs
コード例 #1
0
 /// <summary>
 /// Update the timer view model properties based on the time span passed in.
 /// </summary>
 /// <param name="t"></param>
 private void UpdateTimer(TimerModelEventArgs e)
 {
     UpdateTimerValues();
     UpdateTimerStatusColor(e);
 }
コード例 #2
0
        /// <summary>
        /// Set the solid colour based on the timer status.
        /// </summary>
        /// <param name="e"></param>
        private void UpdateTimerStatusColor(TimerModelEventArgs e)
        {
            if (_settings.Colours == false)
            {
                StatusColor = Colors.Transparent;
                return;
            }

            switch (e.State)
            {
                case TimerModelEventArgs.Status.NotSpecified:
                    StatusColor = Colors.Beige;
                    break;
                case TimerModelEventArgs.Status.Stopped:
                    StatusColor = Colors.Beige;
                    break;
                case TimerModelEventArgs.Status.Started:
                    StatusColor = Colors.LightSalmon;
                    break;
                case TimerModelEventArgs.Status.Running:
                    StatusColor = Colors.LightSalmon;
                    break;
                case TimerModelEventArgs.Status.Completed:
                    StatusColor = Colors.LightGreen;
                    break;
                case TimerModelEventArgs.Status.Reset:
                    StatusColor = Colors.Beige;
                    break;
            }
        }
コード例 #3
0
        /// <summary>
        /// Fires when the timer ticks.  Ticks out to be of the order of 
        /// tenths of a second or so to prevent excessive spamming of this method.
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void OnTick(object sender, TimerModelEventArgs e)
        {
            UpdateTimer(e);

            Messenger.Default.Send(new TaskbarItemMessage { State = TaskbarItemProgressState.Normal, Value = PercentElapsed / 100.0 });
            Messenger.Default.Send(new SimpleMessage(SimpleMessage.MessageType.TimerTick, TimerValue));
        }
コード例 #4
0
        /// <summary>
        /// Fires when the timer stops.
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void OnStopped(object sender, TimerModelEventArgs e)
        {
            UpdateTimer(e);

            Messenger.Default.Send(new TaskbarItemMessage { State = TaskbarItemProgressState.Paused });
        }
コード例 #5
0
        /// <summary>
        /// Fires when the timer starts.
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        void OnStarted(object sender, TimerModelEventArgs e)
        {
            UpdateTimer(e);

            if (_settings.PlayBeep)
            {
                SystemSounds.Beep.Play();
            }

            Messenger.Default.Send(new TaskbarItemMessage { State = TaskbarItemProgressState.Normal });
        }
コード例 #6
0
        /// <summary>
        /// Fires when the timer resets.
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void OnReset(object sender, TimerModelEventArgs e)
        {
            var timer = sender as TimerModel;
            UpdateTimer(e);

            Messenger.Default.Send(new TaskbarItemMessage { State = TaskbarItemProgressState.None, Value = 0.0 });
            Messenger.Default.Send(new SimpleMessage(SimpleMessage.MessageType.TimerReset));
        }
コード例 #7
0
        /// <summary>
        /// Fires where the timer completes.
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void OnCompleted(object sender, TimerModelEventArgs e)
        {
            UpdateTimer(e);

            if (_settings.PlayExclamation)
            {
                SystemSounds.Exclamation.Play();
            }

            Messenger.Default.Send(new TaskbarItemMessage { State = TaskbarItemProgressState.Normal, Value = 1.0 });
        }