aboutsummaryrefslogtreecommitdiffstats
path: root/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Developer/ViewModels
diff options
context:
space:
mode:
Diffstat (limited to 'Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Developer/ViewModels')
-rw-r--r--Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Developer/ViewModels/MainViewVM.cs35
1 files changed, 35 insertions, 0 deletions
diff --git a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Developer/ViewModels/MainViewVM.cs b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Developer/ViewModels/MainViewVM.cs
index a9e71de5a..7086cfb4d 100644
--- a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Developer/ViewModels/MainViewVM.cs
+++ b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Developer/ViewModels/MainViewVM.cs
@@ -18,6 +18,7 @@ using System.Runtime.CompilerServices;
using System.Windows.Threading;
using Tango.Settings;
using Tango.MachineStudio.Developer.Views;
+using Tango.Video.DirectCapture;
namespace Tango.MachineStudio.Developer.ViewModels
{
@@ -286,6 +287,10 @@ namespace Tango.MachineStudio.Developer.ViewModels
set { _isJobCanceled = value; RaisePropertyChangedAuto(); }
}
+ /// <summary>
+ /// Gets or sets the capture devices.
+ /// </summary>
+ public ObservableCollection<CaptureDevice> CaptureDevices { get; set; }
#endregion
#region Commands
@@ -365,6 +370,11 @@ namespace Tango.MachineStudio.Developer.ViewModels
/// </summary>
public RelayCommand CloseJobCompletionStatusCommand { get; set; }
+ /// <summary>
+ /// Gets or sets the toggle camera command.
+ /// </summary>
+ public RelayCommand<CaptureDevice> ToggleCameraCommand { get; set; }
+
#endregion
#region Constructors
@@ -412,6 +422,23 @@ namespace Tango.MachineStudio.Developer.ViewModels
StartJobCommand = new RelayCommand(StartJob, () => SelectedJob != null && !IsJobRunning);
StopJobCommand = new RelayCommand(StopJob, () => IsJobRunning);
CloseJobCompletionStatusCommand = new RelayCommand(CloseJobCompletionStatusBar);
+
+ CaptureDevices = new ObservableCollection<CaptureDevice>();
+ var availableDevices = CaptureDevice.GetAvailableCaptureDevices();
+
+ for (int i = 0; i < 3; i++)
+ {
+ if (i > availableDevices.Count - 1)
+ {
+ CaptureDevices.Add(new CaptureDevice() { Device = null });
+ }
+ else
+ {
+ CaptureDevices.Add(new CaptureDevice() { Device = availableDevices[i] });
+ }
+ }
+
+ ToggleCameraCommand = new RelayCommand<CaptureDevice>(ToggleCamera);
}
#endregion
@@ -526,6 +553,14 @@ namespace Tango.MachineStudio.Developer.ViewModels
#region Private Methods
+ private void ToggleCamera(CaptureDevice captureDevice)
+ {
+ if (captureDevice.Device != null)
+ {
+ captureDevice.IsStarted = !captureDevice.IsStarted;
+ }
+ }
+
private void CloseJobCompletionStatusBar()
{
IsJobCompleted = false;