aboutsummaryrefslogtreecommitdiffstats
path: root/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Technician/ViewModels/MachineTechViewVM.cs
diff options
context:
space:
mode:
Diffstat (limited to 'Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Technician/ViewModels/MachineTechViewVM.cs')
-rw-r--r--Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Technician/ViewModels/MachineTechViewVM.cs53
1 files changed, 53 insertions, 0 deletions
diff --git a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Technician/ViewModels/MachineTechViewVM.cs b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Technician/ViewModels/MachineTechViewVM.cs
index 41fff94d9..7c2acfdbb 100644
--- a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Technician/ViewModels/MachineTechViewVM.cs
+++ b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Technician/ViewModels/MachineTechViewVM.cs
@@ -540,6 +540,11 @@ namespace Tango.MachineStudio.Technician.ViewModels
var editor = CreateElement<ProcessParametersElementEditor, ProcessParametersItem, object>(bounds, null);
InitProcessParameterItem(editor.ProcessParametersItem);
}
+ else if (item is JobRunnerItem)
+ {
+ var editor = CreateElement<JobRunnerElementEditor, JobRunnerItem, object>(bounds, null);
+ InitJobRunnerItem(editor.JobRunnerItem);
+ }
}
/// <summary>
@@ -664,6 +669,11 @@ namespace Tango.MachineStudio.Technician.ViewModels
var editor = CreateElement<ProcessParametersElementEditor>(item);
InitProcessParameterItem(editor.ProcessParametersItem);
}
+ else if (item is JobRunnerItem)
+ {
+ var editor = CreateElement<JobRunnerElementEditor>(item);
+ InitJobRunnerItem(editor.JobRunnerItem);
+ }
}
/// <summary>
@@ -1183,6 +1193,49 @@ namespace Tango.MachineStudio.Technician.ViewModels
}
/// <summary>
+ /// Initializes the job runner item.
+ /// </summary>
+ /// <param name="item">The item.</param>
+ /// <exception cref="NotImplementedException"></exception>
+ private void InitJobRunnerItem(JobRunnerItem item)
+ {
+ item.StartJob += () =>
+ {
+ try
+ {
+ CheckMachineOperator();
+
+ var handler = MachineOperator.Print(item.Job, item.ProcessParameters);
+
+ item.JobHandler = handler;
+
+ handler.StatusChanged += (x, status) =>
+ {
+ item.RunningJobStatus = status;
+ };
+
+ handler.Stopped += (x,e) =>
+ {
+ item.IsJobStarted = false;
+ };
+ }
+ catch (Exception ex)
+ {
+ _notification.ShowError(ex.Message);
+ }
+ };
+
+ item.StopJob += () =>
+ {
+ if (item.JobHandler != null)
+ {
+ item.JobHandler.Cancel();
+ item.JobHandler = null;
+ }
+ };
+ }
+
+ /// <summary>
/// Checks the machine operator.
/// </summary>
/// <exception cref="InvalidOperationException">No machine connected.</exception>