using Aitex.Core.RT.Log;
using MECF.Framework.Common.OperationCenter;
using MECF.Framework.Common.ToolLayout;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Reflection;
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;
namespace CyberX8_Themes.UserControls
{
///
/// UTransporterDebugControl.xaml 的交互逻辑
///
public partial class TransporterDebugControl : UserControl
{
#region 属性
public static readonly DependencyProperty ModuleTitleProperty = DependencyProperty.Register("ModuleTitle", typeof(string), typeof(TransporterDebugControl),
new FrameworkPropertyMetadata("", FrameworkPropertyMetadataOptions.AffectsRender));
///
/// 模块标题
///
public string ModuleTitle
{
get
{
return (string)this.GetValue(ModuleTitleProperty);
}
set
{
this.SetValue(ModuleTitleProperty, value);
}
}
public static readonly DependencyProperty ModuleNameProperty = DependencyProperty.Register("ModuleName", typeof(string), typeof(TransporterDebugControl),
new FrameworkPropertyMetadata("", FrameworkPropertyMetadataOptions.AffectsRender));
///
/// 模块名称
///
public string ModuleName
{
get
{
return (string)this.GetValue(ModuleNameProperty);
}
set
{
this.SetValue(ModuleNameProperty, value);
}
}
public static readonly DependencyProperty BarcodeReaderDeviceNameProperty = DependencyProperty.Register("BarcodeReaderDeviceName", typeof(string), typeof(TransporterDebugControl),
new FrameworkPropertyMetadata("", FrameworkPropertyMetadataOptions.AffectsRender));
///
/// 读码器名称
///
public string BarcodeReaderDeviceName
{
get
{
return (string)this.GetValue(BarcodeReaderDeviceNameProperty);
}
set
{
this.SetValue(BarcodeReaderDeviceNameProperty, value);
}
}
public static readonly DependencyProperty Lock1OnProperty = DependencyProperty.Register("Lock1On", typeof(bool), typeof(TransporterDebugControl),
new FrameworkPropertyMetadata(false, FrameworkPropertyMetadataOptions.AffectsRender));
///
/// Lock 1 On
///
public bool Lock1On
{
get
{
return (bool)this.GetValue(Lock1OnProperty);
}
set
{
this.SetValue(Lock1OnProperty, value);
}
}
public static readonly DependencyProperty Lock2OnProperty = DependencyProperty.Register("Lock2On", typeof(bool), typeof(TransporterDebugControl),
new FrameworkPropertyMetadata(false, FrameworkPropertyMetadataOptions.AffectsRender));
///
/// Lock 2 On
///
public bool Lock2On
{
get
{
return (bool)this.GetValue(Lock2OnProperty);
}
set
{
this.SetValue(Lock2OnProperty, value);
}
}
public static readonly DependencyProperty Unlock1OnProperty = DependencyProperty.Register("Unlock1On", typeof(bool), typeof(TransporterDebugControl),
new FrameworkPropertyMetadata(false, FrameworkPropertyMetadataOptions.AffectsRender));
///
/// UnLock 2 On
///
public bool Unlock1On
{
get
{
return (bool)this.GetValue(Unlock1OnProperty);
}
set
{
this.SetValue(Unlock1OnProperty, value);
}
}
public static readonly DependencyProperty Unlock2OnProperty = DependencyProperty.Register("Unlock2On", typeof(bool), typeof(TransporterDebugControl),
new FrameworkPropertyMetadata(false, FrameworkPropertyMetadataOptions.AffectsRender));
///
/// UnLock 2 On
///
public bool Unlock2On
{
get
{
return (bool)this.GetValue(Unlock2OnProperty);
}
set
{
this.SetValue(Unlock2OnProperty, value);
}
}
public static readonly DependencyProperty Retract1OnProperty = DependencyProperty.Register("Retract1On", typeof(bool), typeof(TransporterDebugControl),
new FrameworkPropertyMetadata(false, FrameworkPropertyMetadataOptions.AffectsRender));
///
/// Retract 1 On
///
public bool Retract1On
{
get
{
return (bool)this.GetValue(Retract1OnProperty);
}
set
{
this.SetValue(Retract1OnProperty, value);
}
}
public static readonly DependencyProperty Retract2OnProperty = DependencyProperty.Register("Retract2On", typeof(bool), typeof(TransporterDebugControl),
new FrameworkPropertyMetadata(false, FrameworkPropertyMetadataOptions.AffectsRender));
///
/// Retract 2 On
///
public bool Retract2On
{
get
{
return (bool)this.GetValue(Retract2OnProperty);
}
set
{
this.SetValue(Retract2OnProperty, value);
}
}
public static readonly DependencyProperty Extend1OnProperty = DependencyProperty.Register("Extend1On", typeof(bool), typeof(TransporterDebugControl),
new FrameworkPropertyMetadata(false, FrameworkPropertyMetadataOptions.AffectsRender));
///
/// Extend 1 On
///
public bool Extend1On
{
get
{
return (bool)this.GetValue(Extend1OnProperty);
}
set
{
this.SetValue(Extend1OnProperty, value);
}
}
public static readonly DependencyProperty Extend2OnProperty = DependencyProperty.Register("Extend2On", typeof(bool), typeof(TransporterDebugControl),
new FrameworkPropertyMetadata(false, FrameworkPropertyMetadataOptions.AffectsRender));
///
/// Extend 2 On
///
public bool Extend2On
{
get
{
return (bool)this.GetValue(Extend2OnProperty);
}
set
{
this.SetValue(Extend2OnProperty, value);
}
}
public static readonly DependencyProperty ReadyToLock1OnProperty = DependencyProperty.Register("ReadyToLock1On", typeof(bool), typeof(TransporterDebugControl),
new FrameworkPropertyMetadata(false, FrameworkPropertyMetadataOptions.AffectsRender));
///
/// Reay To Lock 1 On
///
public bool ReadyToLock1On
{
get
{
return (bool)this.GetValue(ReadyToLock1OnProperty);
}
set
{
this.SetValue(ReadyToLock1OnProperty, value);
}
}
public static readonly DependencyProperty ReadyToLock2OnProperty = DependencyProperty.Register("ReadyToLock2On", typeof(bool), typeof(TransporterDebugControl),
new FrameworkPropertyMetadata(false, FrameworkPropertyMetadataOptions.AffectsRender));
///
/// Ready To Lock 2 On
///
public bool ReadyToLock2On
{
get
{
return (bool)this.GetValue(ReadyToLock2OnProperty);
}
set
{
this.SetValue(ReadyToLock2OnProperty, value);
}
}
public static readonly DependencyProperty WHPresent1Property = DependencyProperty.Register("WHPresent1", typeof(bool), typeof(TransporterDebugControl),
new FrameworkPropertyMetadata(false, FrameworkPropertyMetadataOptions.AffectsRender));
///
/// WH Present 1
///
public bool WHPresent1
{
get
{
return (bool)this.GetValue(WHPresent1Property);
}
set
{
this.SetValue(WHPresent1Property, value);
}
}
public static readonly DependencyProperty WHPresent2Property = DependencyProperty.Register("WHPresent2", typeof(bool), typeof(TransporterDebugControl),
new FrameworkPropertyMetadata(false, FrameworkPropertyMetadataOptions.AffectsRender));
///
/// WH Present 2
///
public bool WHPresent2
{
get
{
return (bool)this.GetValue(WHPresent2Property);
}
set
{
this.SetValue(WHPresent2Property, value);
}
}
public static readonly DependencyProperty GantryMotorOnProperty = DependencyProperty.Register("GantryMotorOn", typeof(bool), typeof(TransporterDebugControl),
new FrameworkPropertyMetadata(false, FrameworkPropertyMetadataOptions.AffectsRender));
///
/// Gantry Motor On
///
public bool GantryMotorOn
{
get
{
return (bool)this.GetValue(GantryMotorOnProperty);
}
set
{
this.SetValue(GantryMotorOnProperty, value);
}
}
public static readonly DependencyProperty ElevatorMotorOnProperty = DependencyProperty.Register("ElevatorMotorOn", typeof(bool), typeof(TransporterDebugControl),
new FrameworkPropertyMetadata(false, FrameworkPropertyMetadataOptions.AffectsRender));
///
/// Elevator Motor On
///
public bool ElevatorMotorOn
{
get
{
return (bool)this.GetValue(ElevatorMotorOnProperty);
}
set
{
this.SetValue(ElevatorMotorOnProperty, value);
}
}
public static readonly DependencyProperty GantryHomedProperty = DependencyProperty.Register("GantryHomed", typeof(bool), typeof(TransporterDebugControl),
new FrameworkPropertyMetadata(false, FrameworkPropertyMetadataOptions.AffectsRender));
///
/// Gantry Homed
///
public bool GantryHomed
{
get
{
return (bool)this.GetValue(GantryHomedProperty);
}
set
{
this.SetValue(GantryHomedProperty, value);
}
}
public static readonly DependencyProperty ElevatorHomedProperty = DependencyProperty.Register("ElevatorHomed", typeof(bool), typeof(TransporterDebugControl),
new FrameworkPropertyMetadata(false, FrameworkPropertyMetadataOptions.AffectsRender));
///
/// Elevator Homed
///
public bool ElevatorHomed
{
get
{
return (bool)this.GetValue(ElevatorHomedProperty);
}
set
{
this.SetValue(ElevatorHomedProperty, value);
}
}
public static readonly DependencyProperty GantryMovingProperty = DependencyProperty.Register("GantryMoving", typeof(bool), typeof(TransporterDebugControl),
new FrameworkPropertyMetadata(false, FrameworkPropertyMetadataOptions.AffectsRender));
///
/// Gantry Moving
///
public bool GantryMoving
{
get
{
return (bool)this.GetValue(GantryMovingProperty);
}
set
{
this.SetValue(GantryMovingProperty, value);
}
}
public static readonly DependencyProperty ElevatorMovingProperty = DependencyProperty.Register("ElevatorMoving", typeof(bool), typeof(TransporterDebugControl),
new FrameworkPropertyMetadata(false, FrameworkPropertyMetadataOptions.AffectsRender));
///
/// Elevator Moving
///
public bool ElevatorMoving
{
get
{
return (bool)this.GetValue(ElevatorMovingProperty);
}
set
{
this.SetValue(ElevatorMovingProperty, value);
}
}
public static readonly DependencyProperty BarcodeProperty = DependencyProperty.Register("Barcode", typeof(string), typeof(TransporterDebugControl),
new FrameworkPropertyMetadata("", FrameworkPropertyMetadataOptions.AffectsRender));
///
/// 条码
///
public string Barcode
{
get
{
return (string)this.GetValue(BarcodeProperty);
}
set
{
this.SetValue(BarcodeProperty, value);
}
}
public static readonly DependencyProperty PositionListProperty = DependencyProperty.Register("PositionList", typeof(List), typeof(TransporterDebugControl),
new FrameworkPropertyMetadata(null, FrameworkPropertyMetadataOptions.AffectsRender));
///
/// 位置集合
///
public List PositionList
{
get
{
return (List)this.GetValue(PositionListProperty);
}
set
{
this.SetValue(PositionListProperty, value);
}
}
public static readonly DependencyProperty FromSelectedItemProperty = DependencyProperty.Register("FromSelectedItem", typeof(string), typeof(TransporterDebugControl),
new FrameworkPropertyMetadata("", FrameworkPropertyMetadataOptions.AffectsRender));
///
/// From选择项
///
public string FromSelectedItem
{
get
{
return (string)this.GetValue(FromSelectedItemProperty);
}
set
{
this.SetValue(FromSelectedItemProperty, value);
}
}
public static readonly DependencyProperty ToSelectedItemProperty = DependencyProperty.Register("ToSelectedItem", typeof(string), typeof(TransporterDebugControl),
new FrameworkPropertyMetadata("", FrameworkPropertyMetadataOptions.AffectsRender));
///
/// To 选择项
///
public string ToSelectedItem
{
get
{
return (string)this.GetValue(ToSelectedItemProperty);
}
set
{
this.SetValue(ToSelectedItemProperty, value);
}
}
public static readonly DependencyProperty IsHomedProperty = DependencyProperty.Register("IsHomed", typeof(bool), typeof(TransporterDebugControl),
new FrameworkPropertyMetadata(false, FrameworkPropertyMetadataOptions.AffectsRender));
///
/// IsHomed
///
public bool IsHomed
{
get
{
return (bool)this.GetValue(IsHomedProperty);
}
set
{
this.SetValue(IsHomedProperty, value);
}
}
public static readonly DependencyProperty IsElevatorInUpPlaceProperty = DependencyProperty.Register("IsElevatorInUpPlace", typeof(bool), typeof(TransporterDebugControl),
new FrameworkPropertyMetadata(false, FrameworkPropertyMetadataOptions.AffectsRender));
///
/// IsElevatorInUpPlace
///
public bool IsElevatorInUpPlace
{
get
{
return (bool)this.GetValue(IsElevatorInUpPlaceProperty);
}
set
{
this.SetValue(IsElevatorInUpPlaceProperty, value);
}
}
#endregion
public TransporterDebugControl()
{
InitializeComponent();
}
#region 指令
private void Lock_Click(object sender, RoutedEventArgs e)
{
InvokeClient.Instance.Service.DoOperation($"{ModuleName}.Lock");
}
private void Unlock_Click(object sender, RoutedEventArgs e)
{
InvokeClient.Instance.Service.DoOperation($"{ModuleName}.Unlock");
}
private void Retract_Click(object sender, RoutedEventArgs e)
{
if (!IsElevatorInUpPlace)
{
MessageBox.Show("Elevator is not in 'UP' place", "Clamp", MessageBoxButton.OK, MessageBoxImage.Error);
return;
}
InvokeClient.Instance.Service.DoOperation($"{ModuleName}.Retract");
}
private void Extend_Click(object sender, RoutedEventArgs e)
{
if (!IsElevatorInUpPlace)
{
MessageBox.Show("Elevator is not in 'UP' place", "Clamp", MessageBoxButton.OK, MessageBoxImage.Error);
return;
}
InvokeClient.Instance.Service.DoOperation($"{ModuleName}.Extend");
}
private void Home_Click(object sender, RoutedEventArgs e)
{
InvokeClient.Instance.Service.DoOperation($"{ModuleName}.HomeAll");
}
private void ClearError_Click(object sender, RoutedEventArgs e)
{
InvokeClient.Instance.Service.DoOperation($"{ModuleName}.ClearError");
}
private void PickUpFrom_Click(object sender, RoutedEventArgs e)
{
if(string.IsNullOrEmpty(FromSelectedItem))
{
MessageBox.Show("please select from item", "pick up", MessageBoxButton.OK, MessageBoxImage.Error);
return;
}
InvokeClient.Instance.Service.DoOperation($"{ModuleName}.PickUpFrom", FromSelectedItem);
}
private void MoveTo_Click(object sender, RoutedEventArgs e)
{
if (string.IsNullOrEmpty(ToSelectedItem))
{
MessageBox.Show("please select to item", "move to", MessageBoxButton.OK, MessageBoxImage.Error);
return;
}
InvokeClient.Instance.Service.DoOperation($"{ModuleName}.MoveTo", ToSelectedItem);
}
private void PutDownTo_Click(object sender, RoutedEventArgs e)
{
if (string.IsNullOrEmpty(ToSelectedItem))
{
MessageBox.Show("please select to item", "put down to", MessageBoxButton.OK, MessageBoxImage.Error);
return;
}
InvokeClient.Instance.Service.DoOperation($"{ModuleName}.PutDownTo", ToSelectedItem);
}
private void Park_Click(object sender, RoutedEventArgs e)
{
InvokeClient.Instance.Service.DoOperation($"{ModuleName}.Park");
}
private void ElevatorUp_Click(object sender, RoutedEventArgs e)
{
InvokeClient.Instance.Service.DoOperation($"{ModuleName}.ElevatorUp");
}
private void SwitchOn_Click(object sender, RoutedEventArgs e)
{
InvokeClient.Instance.Service.DoOperation($"{ModuleName}.SwitchOn");
}
private void SwitchOff_Click(object sender, RoutedEventArgs e)
{
InvokeClient.Instance.Service.DoOperation($"{ModuleName}.SwitchOff");
}
private void Abort_Click(object sender, RoutedEventArgs e)
{
InvokeClient.Instance.Service.DoOperation($"{ModuleName}.Abort");
}
private void Transfer_Click(object sender, RoutedEventArgs e)
{
if (string.IsNullOrEmpty(FromSelectedItem))
{
MessageBox.Show("please select from item", "transfer", MessageBoxButton.OK, MessageBoxImage.Error);
return;
}
if (string.IsNullOrEmpty(ToSelectedItem))
{
MessageBox.Show("please select to item", "tranfer", MessageBoxButton.OK, MessageBoxImage.Error);
return;
}
InvokeClient.Instance.Service.DoOperation($"{ModuleName}.Transfer", FromSelectedItem, ToSelectedItem);
}
private void ReadBarcode_Click(object sender, RoutedEventArgs e)
{
//由BarcodeReaderController发布
InvokeClient.Instance.Service.DoOperation($"{BarcodeReaderDeviceName}.ReadBarcode");
}
private void TuneReader_Click(object sender, RoutedEventArgs e)
{
InvokeClient.Instance.Service.DoOperation($"{BarcodeReaderDeviceName}.InitializeBarcode");
}
#endregion
}
}