From b8dd2f3dac6aefe2d14992085a131d961938ee1f Mon Sep 17 00:00:00 2001 From: Roy Date: Thu, 16 Feb 2023 23:46:11 +0200 Subject: Working on machines icons --- .../Controls/MachineConnectionIcon.xaml | 13 ++++ .../Controls/MachineConnectionIcon.xaml.cs | 79 ++++++++++++++++++++++ 2 files changed, 92 insertions(+) create mode 100644 Software/Visual_Studio/MachineStudio/Tango.MachineStudio.Common/Controls/MachineConnectionIcon.xaml create mode 100644 Software/Visual_Studio/MachineStudio/Tango.MachineStudio.Common/Controls/MachineConnectionIcon.xaml.cs (limited to 'Software/Visual_Studio/MachineStudio/Tango.MachineStudio.Common/Controls') diff --git a/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.Common/Controls/MachineConnectionIcon.xaml b/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.Common/Controls/MachineConnectionIcon.xaml new file mode 100644 index 000000000..e43a30e6d --- /dev/null +++ b/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.Common/Controls/MachineConnectionIcon.xaml @@ -0,0 +1,13 @@ + + + + + + diff --git a/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.Common/Controls/MachineConnectionIcon.xaml.cs b/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.Common/Controls/MachineConnectionIcon.xaml.cs new file mode 100644 index 000000000..72b9af55f --- /dev/null +++ b/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.Common/Controls/MachineConnectionIcon.xaml.cs @@ -0,0 +1,79 @@ +using System; +using System.Collections.Generic; +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.Imaging; +using System.Windows.Navigation; +using System.Windows.Shapes; +using Tango.BL.Enumerations; +using Tango.Emulations.ExternalBridge; +using Tango.Integration.ExternalBridge; + +namespace Tango.MachineStudio.Common.Controls +{ + public enum ExternalBridgeClientType + { + Usb, + Tcp, + Wifi, + SignalR, + Emulator, + } + + /// + /// Interaction logic for MachineConnectionIcon.xaml + /// + public partial class MachineConnectionIcon : UserControl + { + public IExternalBridgeClient ExternalBridgeClient + { + get { return (IExternalBridgeClient)GetValue(ExternalBridgeClientProperty); } + set { SetValue(ExternalBridgeClientProperty, value); } + } + public static readonly DependencyProperty ExternalBridgeClientProperty = + DependencyProperty.Register("ExternalBridgeClient", typeof(IExternalBridgeClient), typeof(MachineConnectionIcon), new PropertyMetadata((d,e) => (d as MachineConnectionIcon).OnExternalBridgeClientChanged())); + + public ExternalBridgeClientType ExternalBridgeClientType + { + get { return (ExternalBridgeClientType)GetValue(ExternalBridgeClientTypeProperty); } + set { SetValue(ExternalBridgeClientTypeProperty, value); } + } + public static readonly DependencyProperty ExternalBridgeClientTypeProperty = + DependencyProperty.Register("ExternalBridgeClientType", typeof(ExternalBridgeClientType), typeof(MachineConnectionIcon), new PropertyMetadata(ExternalBridgeClientType.Usb)); + + private void OnExternalBridgeClientChanged() + { + if (ExternalBridgeClient != null) + { + if (ExternalBridgeClient.GetType() == typeof(ExternalBridgeUsbClient)) + { + ExternalBridgeClientType = ExternalBridgeClientType.Usb; + } + else if (ExternalBridgeClient.GetType() == typeof(ExternalBridgeTcpClient)) + { + ExternalBridgeClientType = ExternalBridgeClientType.Tcp; + } + else if (ExternalBridgeClient.GetType() == typeof(ExternalBridgeSignalRClient)) + { + ExternalBridgeClientType = ExternalBridgeClientType.SignalR; + } + else if (ExternalBridgeClient.GetType() == typeof(EmulatorExternalBridge)) + { + ExternalBridgeClientType = ExternalBridgeClientType.Emulator; + } + } + } + + public MachineConnectionIcon() + { + InitializeComponent(); + } + } +} -- cgit v1.3.1