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. --- .../Tango.MachineStudio.Stubs/StubManager.cs | 8 +- .../ViewModels/MainViewVM.cs | 32 ++++-- .../Tango.MachineStudio.Stubs/Views/MainView.xaml | 37 ++++++- .../Views/MainView.xaml.cs | 2 +- .../Views/MenuView.xaml | 122 +++++++++++---------- .../Images/external-bridge-tcp.png | Bin 10187 -> 3618 bytes .../Images/external-bridge-usb.png | Bin 9573 -> 3623 bytes .../Tango.MachineStudio.UI/MainWindow.xaml | 43 ++++---- .../ViewModels/MainViewVM.cs | 2 +- .../Tango.MachineStudio.UI/Views/MainView.xaml | 81 +++++++------- 10 files changed, 195 insertions(+), 132 deletions(-) (limited to 'Software/Visual_Studio/MachineStudio') diff --git a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Stubs/StubManager.cs b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Stubs/StubManager.cs index 8e0eafa3a..5b30b0cd3 100644 --- a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Stubs/StubManager.cs +++ b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Stubs/StubManager.cs @@ -20,7 +20,7 @@ namespace Tango.MachineStudio.Stubs /// public class StubManager { - private ITransportAdapter _adapter; //Holds the USB transport adapter. + public ITransportAdapter Adapter { get; private set; } /// /// Occurs when the stub has failed to execute. @@ -48,7 +48,7 @@ namespace Tango.MachineStudio.Stubs /// The adapter. public StubManager(ITransportAdapter adapter) { - _adapter = adapter; + Adapter = adapter; } /// @@ -121,13 +121,13 @@ namespace Tango.MachineStudio.Stubs Task.Factory.StartNew(() => { - _adapter.Write(requestData); + Adapter.Write(requestData); DateTime startTime = DateTime.Now; MessageContainer responseContainer = null; - _adapter.DataAvailable += (sender, data) => + Adapter.DataAvailable += (sender, data) => { responseContainer = MessageFactory.ParseContainer(data); }; 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 diff --git a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Stubs/Views/MainView.xaml b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Stubs/Views/MainView.xaml index 7f6039110..f1254db47 100644 --- a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Stubs/Views/MainView.xaml +++ b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Stubs/Views/MainView.xaml @@ -199,7 +199,42 @@ - + + + diff --git a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Stubs/Views/MainView.xaml.cs b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Stubs/Views/MainView.xaml.cs index 5eee980de..16de196e1 100644 --- a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Stubs/Views/MainView.xaml.cs +++ b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Stubs/Views/MainView.xaml.cs @@ -32,7 +32,7 @@ namespace Tango.MachineStudio.Stubs.Views private void MainView_Loaded(object sender, RoutedEventArgs e) { - ServiceLocator.Current.GetInstance().CodeTabs.RemoveAt(0); + //ServiceLocator.Current.GetInstance().CodeTabs.RemoveAt(0); } //Auto scroll to bottom of response log each time it is changed. diff --git a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Synchronization/Views/MenuView.xaml b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Synchronization/Views/MenuView.xaml index 67501743b..b7f37b022 100644 --- a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Synchronization/Views/MenuView.xaml +++ b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Synchronization/Views/MenuView.xaml @@ -10,74 +10,76 @@ d:DesignHeight="720" d:DesignWidth="1280" DataContext="{x:Static global:ViewModelLocator.MenuViewVM}"> - - - - - Local Synchronization - Synchronize two SQLite local database files. - - - - - - - - + + + + + + Local Synchronization + Synchronize two SQLite local database files. + + + + + + + + + + + + + + + - - - - - - + + + + Direct Remote Synchronization + Connect and synchronized a Tango machine over the network. + + + + + + + + + - - - - Direct Remote Synchronization - Connect and synchronized a Tango machine over the network. - - - - - - - - + + + + + - - - - - - + + + + Semi Remote Synchronization + Synchronize local SQLite database file with the remote Twine database. + + + + + + + + + - - - - Semi Remote Synchronization - Synchronize local SQLite database file with the remote Twine database. - - - - - - - - + + + + + - - - - - - - - + + diff --git a/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/Images/external-bridge-tcp.png b/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/Images/external-bridge-tcp.png index 2d8c684b7..192cbcaa7 100644 Binary files a/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/Images/external-bridge-tcp.png and b/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/Images/external-bridge-tcp.png differ diff --git a/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/Images/external-bridge-usb.png b/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/Images/external-bridge-usb.png index 62fab6225..414bbab04 100644 Binary files a/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/Images/external-bridge-usb.png and b/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/Images/external-bridge-usb.png differ diff --git a/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/MainWindow.xaml b/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/MainWindow.xaml index f07e7f476..83f41b785 100644 --- a/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/MainWindow.xaml +++ b/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/MainWindow.xaml @@ -8,27 +8,32 @@ xmlns:views="clr-namespace:Tango.MachineStudio.UI.Views" xmlns:sharedControls="clr-namespace:Tango.SharedUI.Controls;assembly=Tango.SharedUI" mc:Ignorable="d" - Title="Tango" Height="720" Width="1280" WindowStartupLocation="CenterOwner" WindowState="Maximized" Foreground="#494949"> + Title="Tango" Height="800" Width="1280" WindowStartupLocation="CenterOwner" WindowState="Maximized" Foreground="#494949" BorderThickness="1" BorderBrush="{StaticResource AccentColorBrush}"> + - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + - + - + + + diff --git a/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/ViewModels/MainViewVM.cs b/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/ViewModels/MainViewVM.cs index b21b23935..b08c259af 100644 --- a/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/ViewModels/MainViewVM.cs +++ b/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/ViewModels/MainViewVM.cs @@ -184,7 +184,7 @@ namespace Tango.MachineStudio.UI.ViewModels } else { - using (NotificationProvider.PushTaskItem("Connecting to machine " + x.SelectedMachine.Device + "...")) + using (NotificationProvider.PushTaskItem("Connecting to " + x.SelectedMachine.Device + "...")) { try { diff --git a/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/Views/MainView.xaml b/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/Views/MainView.xaml index d7d0f8dc3..616187288 100644 --- a/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/Views/MainView.xaml +++ b/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/Views/MainView.xaml @@ -135,10 +135,10 @@ --> - +