private void bt_emercencyStop_Click(object sender, RoutedEventArgs e) { if (_DedicatedSee != null) { SkillProException Ex = _DedicatedSee.TryStopSkillExecution(); if (Ex != null) { DisplayException(new Exception(Ex.Message, Ex.InnerException)); } } }
void _DedicatedSee_LastExceptionValueChanged(object sender, SkillProException newValue) { if (!Dispatcher.CheckAccess()) // CheckAccess returns true if you're on the dispatcher thread { Dispatcher.BeginInvoke(new See.NewExceptionOccuredDelegate(_DedicatedSee_LastExceptionValueChanged), this, newValue); return; } lbl_Last_Exception.Content = newValue.Message; _LastException = newValue; UpdateButtonVisibility(); }
private void bt_ext_recover_Click(object sender, RoutedEventArgs e) { if (_DedicatedSee == null) { UpdateButtonVisibility(); updateSeeStateOnWindow(SeeResourceMode.PreOperational); return; } bool RecoOk = _DedicatedSee.EXT_RECOVER(); if (RecoOk) { lbl_Last_Exception.Content = "Last exception : "; _LastException = null; } UpdateButtonVisibility(); }
void StateMachine_StateChanged(object sender, StateChangedEventArgs args) { if (!Dispatcher.CheckAccess()) // CheckAccess returns true if you're on the dispatcher thread { Dispatcher.BeginInvoke(new SeeStateMachine.StateChangedDelegate(StateMachine_StateChanged), this, args); return; } // check that the current session matches the session that raised the event. //if (!Object.ReferenceEquals(this, sender)) //{ // return; //} lbl_SEE_SATE.Content = "SEE STATE : " + args.NewState.ToString(); if (_DedicatedSee != null && _DedicatedSee.ExceptionQueue != null && _DedicatedSee.ExceptionQueue.Count != 0) { //List<SkillProException> l = _DedicatedSee.ExceptionQueue.ToList(); //lbl_Last_Exception.Content = "Last exception : " + l[0].Message; } else { _LastException = null; lbl_Last_Exception.Content = "Last exception :"; } switch (args.NewState) { case SeeResourceMode.PreOperational: bt_PauseResumeExe.Visibility = System.Windows.Visibility.Hidden; break; case SeeResourceMode.ExecutingSkill: bt_PauseResumeExe.Visibility = System.Windows.Visibility.Visible; PauseResumeButtonName = SKILL_PAUSE; break; case SeeResourceMode.ExecutingSkillPausing: bt_PauseResumeExe.Visibility = System.Windows.Visibility.Hidden; break; case SeeResourceMode.ExecutingSkillResumable: bt_PauseResumeExe.Visibility = System.Windows.Visibility.Visible; PauseResumeButtonName = SKILL_RESUME; break; case SeeResourceMode.Idle: bt_PauseResumeExe.Visibility = System.Windows.Visibility.Hidden; break; case SeeResourceMode.IdleQueuedSkill: bt_PauseResumeExe.Visibility = System.Windows.Visibility.Hidden; break; case SeeResourceMode.Error: bt_PauseResumeExe.Visibility = System.Windows.Visibility.Hidden; break; default: break; } if (args.NewState == SeeResourceMode.IdleQueuedSkill) { bt_ClearQueuedSkill.Visibility = System.Windows.Visibility.Visible; } else { bt_ClearQueuedSkill.Visibility = System.Windows.Visibility.Hidden; } if (args.NewState == SeeResourceMode.ExecutingSkill) { bt_emercencyStop.Visibility = System.Windows.Visibility.Visible; } else { bt_emercencyStop.Visibility = System.Windows.Visibility.Hidden; } updateSeeStateOnWindow(args.NewState); UpdateButtonVisibility(); }