using Aitex.Core.Common;
using MECF.Framework.Common.OperationCenter;
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 PunkHPX8_Themes.UserControls
{
///
/// PlatingCellStatusControl.xaml 的交互逻辑
///
public partial class PlatingCellStatusControl : UserControl
{
public PlatingCellStatusControl()
{
InitializeComponent();
}
public static readonly DependencyProperty ModuleNameProperty = DependencyProperty.Register(
"ModuleName", typeof(string), typeof(PlatingCellStatusControl), new FrameworkPropertyMetadata("", FrameworkPropertyMetadataOptions.AffectsRender));
///
/// 模块名称
///
public string ModuleName
{
get
{
return (string)this.GetValue(ModuleNameProperty);
}
set
{
this.SetValue(ModuleNameProperty, value);
}
}
public static readonly DependencyProperty ChemistryProperty = DependencyProperty.Register(
"Chemistry", typeof(string), typeof(PlatingCellStatusControl), new FrameworkPropertyMetadata("", FrameworkPropertyMetadataOptions.AffectsRender));
///
/// Chemistry
///
public string Chemistry
{
get
{
return (string)this.GetValue(ChemistryProperty);
}
set
{
this.SetValue(ChemistryProperty, value);
}
}
public static readonly DependencyProperty VerticalStationProperty = DependencyProperty.Register(
"VerticalStation", typeof(string), typeof(PlatingCellStatusControl), new FrameworkPropertyMetadata("", FrameworkPropertyMetadataOptions.AffectsRender));
///
/// VerticalStation
///
public string VerticalStation
{
get
{
return (string)this.GetValue(VerticalStationProperty);
}
set
{
this.SetValue(VerticalStationProperty, value);
}
}
public static readonly DependencyProperty WaferSizeListProperty = DependencyProperty.Register(
"WaferSizeList", typeof(List), typeof(PlatingCellStatusControl), new FrameworkPropertyMetadata(null, FrameworkPropertyMetadataOptions.AffectsRender));
///
///WaferSizeList
///
public List WaferSizeList
{
get
{
return (List)this.GetValue(WaferSizeListProperty);
}
set
{
this.SetValue(WaferSizeListProperty, value);
}
}
public static readonly DependencyProperty SelectedWaferSizeProperty = DependencyProperty.Register(
"SelectedWaferSize", typeof(int), typeof(PlatingCellStatusControl), new FrameworkPropertyMetadata(150, FrameworkPropertyMetadataOptions.AffectsRender));
///
///SelectedWaferSize
///
public int SelectedWaferSize
{
get
{
return (int)this.GetValue(SelectedWaferSizeProperty);
}
set
{
this.SetValue(SelectedWaferSizeProperty, value);
}
}
public static readonly DependencyProperty ClamshellSensorProperty = DependencyProperty.Register(
"ClamshellSensor", typeof(double), typeof(PlatingCellStatusControl), new FrameworkPropertyMetadata(0.0, FrameworkPropertyMetadataOptions.AffectsRender));
///
/// ClamshellSensor
///
public double ClamshellSensor
{
get
{
return (double)this.GetValue(ClamshellSensorProperty);
}
set
{
this.SetValue(ClamshellSensorProperty, value);
}
}
public static readonly DependencyProperty IsClamshellOpenProperty = DependencyProperty.Register(
"IsClamshellOpen", typeof(bool), typeof(PlatingCellStatusControl), new FrameworkPropertyMetadata(false, FrameworkPropertyMetadataOptions.AffectsRender));
///
/// IsClamshellOpen
///
public bool IsClamshellOpen
{
get
{
return (bool)this.GetValue(IsClamshellOpenProperty);
}
set
{
this.SetValue(IsClamshellOpenProperty, value);
}
}
public static readonly DependencyProperty IsClamshellCloseProperty = DependencyProperty.Register(
"IsClamshellClose", typeof(bool), typeof(PlatingCellStatusControl), new FrameworkPropertyMetadata(false, FrameworkPropertyMetadataOptions.AffectsRender));
///
/// IsClamshellClose
///
public bool IsClamshellClose
{
get
{
return (bool)this.GetValue(IsClamshellCloseProperty);
}
set
{
this.SetValue(IsClamshellCloseProperty, value);
}
}
public static readonly DependencyProperty IsAngleTiltProperty = DependencyProperty.Register(
"IsAngleTilt", typeof(bool), typeof(PlatingCellStatusControl), new FrameworkPropertyMetadata(false, FrameworkPropertyMetadataOptions.AffectsRender));
///
/// IsAngleTilt
///
public bool IsAngleTilt
{
get
{
return (bool)this.GetValue(IsAngleTiltProperty);
}
set
{
this.SetValue(IsAngleTiltProperty, value);
}
}
public static readonly DependencyProperty IsAngleVerticalProperty = DependencyProperty.Register(
"IsAngleVertical", typeof(bool), typeof(PlatingCellStatusControl), new FrameworkPropertyMetadata(false, FrameworkPropertyMetadataOptions.AffectsRender));
///
/// IsAngleVertical
///
public bool IsAngleVertical
{
get
{
return (bool)this.GetValue(IsAngleVerticalProperty);
}
set
{
this.SetValue(IsAngleVerticalProperty, value);
}
}
public static readonly DependencyProperty InputRotationSpeedProperty = DependencyProperty.Register(
"InputRotationSpeed", typeof(int), typeof(PlatingCellStatusControl), new FrameworkPropertyMetadata(0, FrameworkPropertyMetadataOptions.AffectsRender));
///
/// InputRotationSpeed
///
public int InputRotationSpeed
{
get
{
return (int)this.GetValue(InputRotationSpeedProperty);
}
set
{
this.SetValue(InputRotationSpeedProperty, value);
}
}
public static readonly DependencyProperty InputRotationTimeProperty = DependencyProperty.Register(
"InputRotationTime", typeof(int), typeof(PlatingCellStatusControl), new FrameworkPropertyMetadata(0, FrameworkPropertyMetadataOptions.AffectsRender));
///
/// InputRotationTime
///
public int InputRotationTime
{
get
{
return (int)this.GetValue(InputRotationTimeProperty);
}
set
{
this.SetValue(InputRotationTimeProperty, value);
}
}
private void ClamshellOpen_Click(object sender, RoutedEventArgs e)
{
InvokeClient.Instance.Service.DoOperation($"{ModuleName}.ClamShellOpen");
}
private void ClamshellClose_Click(object sender, RoutedEventArgs e)
{
InvokeClient.Instance.Service.DoOperation($"{ModuleName}.ClamShellClose");
}
private void AngleTilt_Click(object sender, RoutedEventArgs e)
{
InvokeClient.Instance.Service.DoOperation($"{ModuleName}.HeadtTilt");
}
private void AngleVertical_Click(object sender, RoutedEventArgs e)
{
InvokeClient.Instance.Service.DoOperation($"{ModuleName}.HeadVertical");
}
private void RotationStart_Click(object sender, RoutedEventArgs e)
{
InvokeClient.Instance.Service.DoOperation($"{ModuleName}.StartRotation", InputRotationSpeed, InputRotationTime);
}
private void RotationStop_Click(object sender, RoutedEventArgs e)
{
InvokeClient.Instance.Service.DoOperation($"{ModuleName}.StopRotation");
}
}
}