private void m_WorkflowListview_GotFocus(object sender, RoutedEventArgs e) { //TODO Refactor to be DRY // update the SceneManager here Object o = m_WorkflowListview.SelectedItem; if (o != null) { if (o is WorkingStep) { m_FailStatesListView.IsEnabled = true; WorkingStep step = (WorkingStep)o; //SceneManager.Instance.CurrentScene = step.AdaptiveScenes.FirstOrDefault().Scene; if (m_ComboboxAdaptivityLevel.SelectedValue != null) { SceneManager.Instance.CurrentScene = step.getAdaptiveScene((int)m_ComboboxAdaptivityLevel.SelectedValue).Scene; m_FailStatesListView.ItemsSource = step.FailStates; } } } else { m_FailStatesListView.IsEnabled = false; m_FailStatesListView.ItemsSource = null; } }
private void MenuItem_EditScene(object sender, RoutedEventArgs e) { // update the EditWorkflowManager here Object o = m_WorkflowListview.SelectedItem; if (o != null) { if (o is WorkingStep) { WorkingStep step = (WorkingStep)o; Scene.Scene scene = new Scene.Scene(); if (m_ComboboxAdaptivityLevel.SelectedValue != null) { scene = step.getAdaptiveScene((int)m_ComboboxAdaptivityLevel.SelectedValue).Scene; foreach (SceneItem itemIter in scene.Items) { itemIter.Touchy = true; } } SceneManager.Instance.CurrentScene = scene; SceneEditorDialog dlg = new SceneEditorDialog(scene); dlg.Show(); } } }
private void m_ComboboxAdaptivityLevel_Selected(object sender, RoutedEventArgs e) { // update the SceneManager here Object o = m_WorkflowListview.SelectedItem; if (o != null) { if (o is WorkingStep) { WorkingStep step = (WorkingStep)o; //SceneManager.Instance.CurrentScene = step.AdaptiveScenes.FirstOrDefault().Scene; SceneManager.Instance.CurrentScene = step.getAdaptiveScene((int)m_ComboboxAdaptivityLevel.SelectedValue).Scene; } } }
private void MenuItemPasteScene_Click(object sender, RoutedEventArgs e) { Object o = m_WorkflowListview.SelectedItem; if (o != null) { if (o is WorkingStep) { WorkingStep step = (WorkingStep)o; Scene.Scene scene = Scene.Scene.GetFromClipboard(); if (m_ComboboxAdaptivityLevel.SelectedValue != null && scene is Scene.Scene) { step.getAdaptiveScene((int)m_ComboboxAdaptivityLevel.SelectedValue).Scene = scene; SceneManager.Instance.CurrentScene = scene; } } } }
private void MenuItemCopyScene_Click(object sender, RoutedEventArgs e) { Object o = m_WorkflowListview.SelectedItem; if (o != null) { if (o is WorkingStep) { WorkingStep step = (WorkingStep)o; Scene.Scene scene = new Scene.Scene(); if (m_ComboboxAdaptivityLevel.SelectedValue != null) { scene = step.getAdaptiveScene((int)m_ComboboxAdaptivityLevel.SelectedValue).Scene; } scene.CopyToClipboard(); } } }
private void LoadCurrentWorkingStep() { if (!AdminView.Instance.Dispatcher.CheckAccess()) { AdminView.Instance.Dispatcher.Invoke(new LoadCurrentWorkingStepDelegate(LoadCurrentWorkingStep)); return; // Important to leave the culprit thread } WorkingStep step = LoadedWorkflow.WorkingSteps.ElementAt(m_CurrentWorkingStepNumber); if (step.IsQSStep && m_QSMode == false) { m_QSMode = true; NotifyPropertyChanged("QSModeEnabled"); WorkingStep stepIt = step; m_NumQS = 0; while (stepIt.IsQSStep) { m_NumQS++; stepIt = LoadedWorkflow.WorkingSteps.ElementAt(m_CurrentWorkingStepNumber + m_NumQS); } m_QSFullfilled = new bool[m_NumQS]; Array.Clear(m_QSFullfilled, 0, m_QSFullfilled.Length); } if (m_QSMode && m_CurrentWorkingStepNumber < m_LoadedWorkflow.WorkingSteps.Count - 1) { LoadQSModeScene(); } else { SceneManager.Instance.CurrentScene = step.getAdaptiveScene(m_adaptivityLevelId).Scene; BackendControl.Instance.refreshGUI(); } if (m_CurrentWorkingStepTimeOut != null) { m_CurrentWorkingStepTimeOut.Dispose(); } if (step.TimeOut > 0) { m_CurrentWorkingStepTimeOut = new WorkflowTimeTrigger(step.TimeOut); m_CurrentWorkingStepTimeOut.TimeOutTriggered += timeOutWorkstep; } if (m_CurrentWorkingStepExpectedDurationTimeOut != null) { m_CurrentWorkingStepExpectedDurationTimeOut.Dispose(); } if (step.ExpectedDuration > 0) { m_CurrentWorkingStepExpectedDurationTimeOut = new WorkflowTimeTrigger(step.ExpectedDuration); m_CurrentWorkingStepExpectedDurationTimeOut.TimeOutTriggered += timeOutExpectedDuration; } //If EndCondition depends on other Table if (m_CurrentNetworkTableDependency != null) { m_CurrentNetworkTableDependency.Dispose(); } //TODO: Change this when refactoring Endconditions altogether if (step.EndConditionObjectName.Length > 3 && step.EndConditionObjectName.Substring(0, 3) == "net") { var tableId = step.EndConditionObjectName.Substring(3).Split(':').First(); m_CurrentNetworkTableDependency = new NetworkTableMonitor(tableId); m_CurrentNetworkTableDependency.PropertyChanged += checkNetworkEndConditionspublic; } else { m_CurrentNetworkTableDependency = null; } }