aboutsummaryrefslogtreecommitdiffstats
path: root/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Stubs/ViewModels
diff options
context:
space:
mode:
Diffstat (limited to 'Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Stubs/ViewModels')
-rw-r--r--Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Stubs/ViewModels/MainViewVM.cs32
1 files changed, 24 insertions, 8 deletions
diff --git a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Stubs/ViewModels/MainViewVM.cs b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Stubs/ViewModels/MainViewVM.cs
index 48297c418..2490f9cb3 100644
--- a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Stubs/ViewModels/MainViewVM.cs
+++ b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Stubs/ViewModels/MainViewVM.cs
@@ -24,7 +24,7 @@ namespace Tango.MachineStudio.Stubs.ViewModels
/// Represents the script execution utility main view model.
/// </summary>
/// <seealso cref="Tango.SharedUI.ViewModel" />
- public class MainViewVM : ViewModel
+ public class MainViewVM : ViewModel , IShutdownRequestBlocker
{
private UsbTransportAdapter _adapter; //Holds the USB transport adapter.
private StubManager _stubManager;
@@ -41,7 +41,19 @@ namespace Tango.MachineStudio.Stubs.ViewModels
public bool UseConnectedMachine
{
get { return _useConnectedMachine; }
- set { _useConnectedMachine = value; RaisePropertyChangedAuto(); InvalidateRelayCommands(); }
+ set
+ {
+ _useConnectedMachine = value;
+
+ if (_useConnectedMachine && !ApplicationManager.IsMachineConnected)
+ {
+ _notification.ShowError("No connected machine found.");
+ _useConnectedMachine = false;
+ }
+
+ RaisePropertyChangedAuto();
+ InvalidateRelayCommands();
+ }
}
/// <summary>
@@ -251,13 +263,13 @@ namespace Tango.MachineStudio.Stubs.ViewModels
"COM9",
};
- SelectedPort = SettingsManager.Default.StubsUI.SelectedPort != null ? SettingsManager.Default.StubsUI.SelectedPort : Ports.First();
+ SelectedPort = SettingsManager.Default.MachineStudio.StubsModule.SelectedPort != null ? SettingsManager.Default.MachineStudio.StubsModule.SelectedPort : Ports.First();
Status = "Ready";
- if (SettingsManager.Default.StubsUI.LastTabs.Count > 0)
+ if (SettingsManager.Default.MachineStudio.StubsModule.LastTabs.Count > 0)
{
- foreach (var file in SettingsManager.Default.StubsUI.LastTabs)
+ foreach (var file in SettingsManager.Default.MachineStudio.StubsModule.LastTabs)
{
if (File.Exists(file))
{
@@ -269,8 +281,6 @@ namespace Tango.MachineStudio.Stubs.ViewModels
{
CreateNewTab();
}
-
- Application.Current.Exit += Current_Exit;
}
#endregion
@@ -513,11 +523,17 @@ namespace Tango.MachineStudio.Stubs.ViewModels
Status = "Completed";
}
- private void Current_Exit(object sender, ExitEventArgs e)
+ /// <summary>
+ /// Called when [shutdown request].
+ /// </summary>
+ /// <returns></returns>
+ public Task<bool> OnShutdownRequest()
{
SettingsManager.Default.MachineStudio.StubsModule.SelectedPort = SelectedPort;
SettingsManager.Default.MachineStudio.StubsModule.LastTabs = CodeTabs.Select(x => x.File).ToList();
SettingsManager.SaveDefaultSettings();
+
+ return Task.FromResult(true);
}
#endregion