From 0ec56a54ca0c64a2f7ba402a1b99b3c217cd5ae5 Mon Sep 17 00:00:00 2001 From: Roy Ben-Shabat Date: Mon, 8 Jan 2018 14:37:29 +0200 Subject: Implemented auto scaling of machine studio to screen resolution. Modified machine connection icons again. Added Embedded device name to settings. Added port USB and TCP to settings. --- .../ViewModels/MainViewVM.cs | 32 ++++++++++++++++------ 1 file changed, 24 insertions(+), 8 deletions(-) (limited to 'Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Stubs/ViewModels/MainViewVM.cs') 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. /// /// - 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(); + } } /// @@ -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) + /// + /// Called when [shutdown request]. + /// + /// + public Task 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 -- cgit v1.3.1