aboutsummaryrefslogtreecommitdiffstats
path: root/Software/Visual_Studio/PPC/Tango.PPC.Common/Connectivity/ConnectionStateEventArgs.cs
blob: ff20161a01c776cce67ab2aca9f553f4200b234a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Tango.PPC.Common.Connectivity
{
    public class ConnectionStateEventArgs : EventArgs
    {
        public bool IsConnected { get; set; }
    }
}
Magic */ .highlight .vc { color: #336699 } /* Name.Variable.Class */ .highlight .vg { color: #dd7700 } /* Name.Variable.Global */ .highlight .vi { color: #3333bb } /* Name.Variable.Instance */ .highlight .vm { color: #336699 } /* Name.Variable.Magic */ .highlight .il { color: #0000DD; font-weight: bold } /* Literal.Number.Integer.Long */
using System;
using System.Collections.Generic;
using System.Diagnostics;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Animation;
using System.Windows.Media.Imaging;
using System.Windows.Navigation;
using System.Windows.Shapes;
using System.Windows.Threading;
using Tango.Core.EventArguments;
using Tango.Logging;
using Tango.PPC.Common;
using Tango.PPC.UI.ViewModels;
using Tango.PPC.UI.ViewsContracts;

namespace Tango.PPC.UI.Views
{
    /// <summary>
    /// Interaction logic for LayoutView.xaml
    /// </summary>
    public partial class LayoutView : UserControl, ILayoutView
    {
        public static LayoutView Instance { get; private set; }
        private LayoutViewVM _vm;
        private DispatcherTimer _timer;

        public LayoutView()
        {
            InitializeComponent();
            Instance = this;
            Loaded += (_, __) => _vm = DataContext as LayoutViewVM;
            techPressElement.RegisterForPreviewMouseOrTouchDown(OnMouseOrTouchDown);
            techPressElement.RegisterForPreviewMouseOrTouchUp(OnMouseOrTouchUp);
            _timer = new DispatcherTimer();
            _timer.Interval = TimeSpan.FromSeconds(10);
            _timer.Tick += _timer_Tick;

            this.PreviewMouseUp += LayoutView_PreviewMouseUp;
        }

        private void LayoutView_PreviewMouseUp(object sender, MouseButtonEventArgs e)
        {
            _vm.ApplicationManager.ResetScreenLockTimer();
        }

        private void _timer_Tick(object sender, EventArgs e)
        {
            _timer.Stop();
            _vm.ToggleTechnicianMode();
        }

        private void OnMouseOrTouchDown(object sender, MouseOrTouchEventArgs e)
        {
            //if (e.TouchDevice != null)
            //{
            //    techPressElement.CaptureTouch(e.TouchDevice);
            //}
            //else
            //{
            //    techPressElement.CaptureMouse();
            //}

            _timer.Start();
        }

        private void OnMouseOrTouchUp(object sender, MouseOrTouchEventArgs e)
        {
            //if (e.TouchDevice != null)
            //{
            //    techPressElement.ReleaseTouchCapture(e.TouchDevice);
            //}
            //else
            //{
            //    techPressElement.ReleaseMouseCapture();
            //}

            _timer.Stop();
        }

        private void Grid_PreviewMouseUp(object sender, MouseButtonEventArgs e)
        {
            _vm.ApplicationManager.ReleaseScreenLock();
        }
    }
}