aboutsummaryrefslogtreecommitdiffstats
path: root/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/ViewModels/ConnectionLostViewVM.cs
diff options
context:
space:
mode:
authorVictoria Plitt <Victoria.Plitt@twine-s.com>2020-01-19 16:44:58 +0200
committerVictoria Plitt <Victoria.Plitt@twine-s.com>2020-01-19 16:44:58 +0200
commitc87dfdfc47a41fd5524dc9145350208295ca6714 (patch)
tree824fb82b79b8486fa2be9d63cb29b8504a7ee5a9 /Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/ViewModels/ConnectionLostViewVM.cs
parent601c03423f2f623d28df991ef6870e3d981ffe05 (diff)
parent13b01cc6e2539dae0063f8cf23909e07982dfbb9 (diff)
downloadTango-c87dfdfc47a41fd5524dc9145350208295ca6714.tar.gz
Tango-c87dfdfc47a41fd5524dc9145350208295ca6714.zip
Merge branch 'master' of https://twinetfs.visualstudio.com/Tango/_git/Tango
Diffstat (limited to 'Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/ViewModels/ConnectionLostViewVM.cs')
-rw-r--r--Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/ViewModels/ConnectionLostViewVM.cs64
1 files changed, 64 insertions, 0 deletions
diff --git a/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/ViewModels/ConnectionLostViewVM.cs b/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/ViewModels/ConnectionLostViewVM.cs
index f1f4f69c0..e96f0ab62 100644
--- a/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/ViewModels/ConnectionLostViewVM.cs
+++ b/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/ViewModels/ConnectionLostViewVM.cs
@@ -3,12 +3,76 @@ using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
+using System.Timers;
+using System.Windows.Threading;
using Tango.SharedUI;
namespace Tango.MachineStudio.UI.ViewModels
{
public class ConnectionLostViewVM : DialogViewVM
{
+ private Timer _reconnectTimer;
+
public String Exception { get; set; }
+
+ private int _reconnectinSeconds;
+ public int ReconnectinSeconds
+ {
+ get { return _reconnectinSeconds; }
+ set { _reconnectinSeconds = value; RaisePropertyChangedAuto(); }
+ }
+
+ private bool _autoReconnect;
+ public bool AutoReconnect
+ {
+ get { return _autoReconnect; }
+ set { _autoReconnect = value; RaisePropertyChangedAuto(); }
+ }
+
+
+ public ConnectionLostViewVM() : base()
+ {
+ ReconnectinSeconds = 10;
+ _reconnectTimer = new Timer();
+ _reconnectTimer.Interval = TimeSpan.FromSeconds(1).TotalMilliseconds;
+ _reconnectTimer.Elapsed += _reconnectTimer_Elapsed;
+ }
+
+ private void _reconnectTimer_Elapsed(object sender, ElapsedEventArgs e)
+ {
+ ReconnectinSeconds--;
+
+ if (ReconnectinSeconds == -1)
+ {
+ _reconnectTimer.Stop();
+
+ InvokeUI(() =>
+ {
+ Accept();
+ });
+ }
+ }
+
+ public override void OnShow()
+ {
+ base.OnShow();
+
+ if (AutoReconnect)
+ {
+ _reconnectTimer.Start();
+ }
+ }
+
+ protected override void Accept()
+ {
+ _reconnectTimer.Stop();
+ base.Accept();
+ }
+
+ protected override void Cancel()
+ {
+ base.Cancel();
+ _reconnectTimer.Stop();
+ }
}
}