aboutsummaryrefslogtreecommitdiffstats
path: root/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/ViewModels
diff options
context:
space:
mode:
authorRoy Ben-Shabat <Roy@Twine-s.com>2019-03-12 15:26:36 +0200
committerRoy Ben-Shabat <Roy@Twine-s.com>2019-03-12 15:26:36 +0200
commitdb5c4418d90840ec033a8eacc948419b72755857 (patch)
tree70be526f87898e133718b315bbf7b3b02e9d35c0 /Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/ViewModels
parent64326bd1599ef3855212c737ddfaeb6756337e2d (diff)
downloadTango-db5c4418d90840ec033a8eacc948419b72755857.tar.gz
Tango-db5c4418d90840ec033a8eacc948419b72755857.zip
Machine Studio v4.0.10
PPC v1.0.6
Diffstat (limited to 'Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/ViewModels')
-rw-r--r--Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/ViewModels/MachineConnectionViewVM.cs46
-rw-r--r--Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/ViewModels/MachineLoginViewVM.cs7
-rw-r--r--Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/ViewModels/MainViewVM.cs32
3 files changed, 53 insertions, 32 deletions
diff --git a/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/ViewModels/MachineConnectionViewVM.cs b/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/ViewModels/MachineConnectionViewVM.cs
index 7737911e0..ce49d805e 100644
--- a/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/ViewModels/MachineConnectionViewVM.cs
+++ b/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/ViewModels/MachineConnectionViewVM.cs
@@ -19,18 +19,16 @@ namespace Tango.MachineStudio.UI.ViewModels
/// <seealso cref="Tango.MachineStudio.Common.Notifications.DialogViewVM" />
public class MachineConnectionViewVM : DialogViewVM
{
- private EmulatorExternalBridge _emulator;
-
- private ExternalBridgeScanner _scanner;
- /// <summary>
- /// Gets or sets the machine scanner.
- /// </summary>
+ private static ExternalBridgeScanner _scanner;
public ExternalBridgeScanner Scanner
{
get { return _scanner; }
set { _scanner = value; RaisePropertyChangedAuto(); }
}
+
+ private EmulatorExternalBridge _emulator;
+
private IExternalBridgeClient _selectedMachine;
/// <summary>
/// Gets or sets the selected machine.
@@ -50,11 +48,15 @@ namespace Tango.MachineStudio.UI.ViewModels
/// Initializes a new instance of the <see cref="MachineConnectionViewVM"/> class.
/// </summary>
/// <param name="scanner">The scanner.</param>
- public MachineConnectionViewVM(ExternalBridgeScanner scanner)
+ public MachineConnectionViewVM()
{
+ if (_scanner == null)
+ {
+ _scanner = new ExternalBridgeScanner();
+ }
+
EnableDiagnostics = true;
UploadHardwareConfiguration = true;
- Scanner = scanner;
ConnectCommand = new RelayCommand(Connect, (x) => SelectedMachine != null);
}
@@ -65,7 +67,7 @@ namespace Tango.MachineStudio.UI.ViewModels
{
if (SelectedMachine != null)
{
- Scanner.Stop();
+ _scanner.Stop();
Accept();
}
}
@@ -75,7 +77,7 @@ namespace Tango.MachineStudio.UI.ViewModels
/// </summary>
protected override void Cancel()
{
- Scanner.Stop();
+ _scanner.Stop();
base.Cancel();
}
@@ -85,19 +87,27 @@ namespace Tango.MachineStudio.UI.ViewModels
public override void OnShow()
{
base.OnShow();
- Scanner.AvailableMachines.Clear();
- if (SettingsManager.Default.GetOrCreate<MachineStudioSettings>().UseExternalBridgeEmulator)
+ try
{
- if (_emulator != null)
+ _scanner.AvailableMachines.Clear();
+
+ if (SettingsManager.Default.GetOrCreate<MachineStudioSettings>().UseExternalBridgeEmulator)
{
- _emulator.Disconnect();
+ if (_emulator != null)
+ {
+ _emulator.Disconnect();
+ }
+ _emulator = new EmulatorExternalBridge();
}
- _emulator = new EmulatorExternalBridge();
- }
- Scanner.AvailableMachines.Add(_emulator);
- Scanner.Start();
+ _scanner.AvailableMachines.Add(_emulator);
+ _scanner.Start();
+ }
+ catch (Exception ex)
+ {
+ LogManager.Log(ex, "Error starting external bridge scanner.");
+ }
}
private bool _enableDiagnostics;
diff --git a/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/ViewModels/MachineLoginViewVM.cs b/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/ViewModels/MachineLoginViewVM.cs
index 2b1acdbe6..7584617ed 100644
--- a/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/ViewModels/MachineLoginViewVM.cs
+++ b/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/ViewModels/MachineLoginViewVM.cs
@@ -5,6 +5,7 @@ using System.Text;
using System.Threading.Tasks;
using Tango.Core.Commands;
using Tango.MachineStudio.Common.Notifications;
+using Tango.PMR.Integration;
using Tango.SharedUI;
namespace Tango.MachineStudio.UI.ViewModels
@@ -21,6 +22,11 @@ namespace Tango.MachineStudio.UI.ViewModels
public String Password { get; set; }
/// <summary>
+ /// Gets or sets the intent.
+ /// </summary>
+ public ExternalBridgeLoginIntent Intent { get; set; }
+
+ /// <summary>
/// Gets or sets the login command.
/// </summary>
public RelayCommand<String> LoginCommand { get; set; }
@@ -35,6 +41,7 @@ namespace Tango.MachineStudio.UI.ViewModels
/// </summary>
public MachineLoginViewVM()
{
+ Intent = ExternalBridgeLoginIntent.FullControl;
LoginCommand = new RelayCommand<string>(Login);
CancelCommand = new RelayCommand(Cancel);
}
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 986bf483f..3f69ff771 100644
--- a/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/ViewModels/MainViewVM.cs
+++ b/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/ViewModels/MainViewVM.cs
@@ -9,6 +9,7 @@ using System.Threading;
using System.Threading.Tasks;
using System.Windows;
using System.Windows.Controls;
+using System.Windows.Input;
using System.Windows.Media;
using Tango.BL;
using Tango.BL.Builders;
@@ -467,7 +468,7 @@ namespace Tango.MachineStudio.UI.ViewModels
HostName = Environment.MachineName,
Password = login.Password,
UserGuid = AuthenticationProvider.CurrentUser.Guid,
- Intent = PMR.Integration.ExternalBridgeLoginIntent.Override,
+ Intent = login.Intent,
});
ApplicationManager.SetConnectedMachine(x.SelectedMachine);
@@ -892,25 +893,28 @@ namespace Tango.MachineStudio.UI.ViewModels
{
if (!IsApplicationReady)
{
- var settings = SettingsManager.Default.GetOrCreate<MachineStudioSettings>();
-
- foreach (var item in settings.StudioModulesBounds)
+ if (!Keyboard.IsKeyDown(Key.LeftCtrl))
{
- var module = StudioModuleLoader.AllModules.SingleOrDefault(x => x.Name == item.Name);
+ var settings = SettingsManager.Default.GetOrCreate<MachineStudioSettings>();
- if (module != null && !module.InNewWindow)
+ foreach (var item in settings.StudioModulesBounds)
{
- OpenModuleInWindow(module, item.Bounds, item.State);
- }
- }
+ var module = StudioModuleLoader.AllModules.SingleOrDefault(x => x.Name == item.Name);
- if (settings.LastMainModuleName != null)
- {
- var m = StudioModuleLoader.UserModules.SingleOrDefault(x => x.Name == settings.LastMainModuleName);
+ if (module != null && !module.InNewWindow)
+ {
+ OpenModuleInWindow(module, item.Bounds, item.State);
+ }
+ }
- if (m != null)
+ if (settings.LastMainModuleName != null)
{
- StartModule(m);
+ var m = StudioModuleLoader.UserModules.SingleOrDefault(x => x.Name == settings.LastMainModuleName);
+
+ if (m != null)
+ {
+ StartModule(m);
+ }
}
}