81 lines
1.9 KiB
C#
81 lines
1.9 KiB
C#
|
using Aitex.Core.Common;
|
|||
|
using System;
|
|||
|
using System.Collections.Generic;
|
|||
|
using System.Globalization;
|
|||
|
using System.Linq;
|
|||
|
using System.Text;
|
|||
|
using System.Threading.Tasks;
|
|||
|
using System.Windows;
|
|||
|
using System.Windows.Data;
|
|||
|
using System.Windows.Media;
|
|||
|
|
|||
|
namespace SicUI.Converter
|
|||
|
{
|
|||
|
public class WaferColorConverter : IMultiValueConverter
|
|||
|
{
|
|||
|
public Brush IdleWafer { get; set; }
|
|||
|
public Brush BusyWafer { get; set; }
|
|||
|
public Brush WaitWafer { get; set; }
|
|||
|
public Brush CompleteWafer { get; set; }
|
|||
|
public Brush ErrorWafer { get; set; }
|
|||
|
|
|||
|
public object Convert(object[] values, Type targetType, object parameter, CultureInfo culture)
|
|||
|
{
|
|||
|
if (values[0] == null || values[0] == DependencyProperty.UnsetValue)
|
|||
|
return null;
|
|||
|
|
|||
|
var status = (WaferStatus)values[0];
|
|||
|
var state = (EnumWaferProcessStatus)values[1];
|
|||
|
var isDestination = (bool)values[2];
|
|||
|
var isSource = (bool)values[3];
|
|||
|
|
|||
|
switch (status)
|
|||
|
{
|
|||
|
case WaferStatus.Empty:
|
|||
|
if (isDestination)
|
|||
|
{
|
|||
|
return BusyWafer;
|
|||
|
}
|
|||
|
return null;
|
|||
|
case WaferStatus.Normal:
|
|||
|
switch (state)
|
|||
|
{
|
|||
|
case EnumWaferProcessStatus.Idle:
|
|||
|
return IdleWafer;
|
|||
|
//case EnumWaferProcessStatus.Wait:
|
|||
|
// return WaitWafer;
|
|||
|
case EnumWaferProcessStatus.InProcess:
|
|||
|
return BusyWafer;
|
|||
|
case EnumWaferProcessStatus.Completed:
|
|||
|
return CompleteWafer;
|
|||
|
case EnumWaferProcessStatus.Failed:
|
|||
|
return ErrorWafer;
|
|||
|
default:
|
|||
|
break;
|
|||
|
}
|
|||
|
return IdleWafer;
|
|||
|
case WaferStatus.Crossed:
|
|||
|
break;
|
|||
|
case WaferStatus.Double:
|
|||
|
break;
|
|||
|
case WaferStatus.Unknown:
|
|||
|
break;
|
|||
|
case WaferStatus.Dummy:
|
|||
|
if (isSource)
|
|||
|
{
|
|||
|
return WaitWafer;
|
|||
|
}
|
|||
|
return IdleWafer;
|
|||
|
default:
|
|||
|
break;
|
|||
|
}
|
|||
|
return IdleWafer;
|
|||
|
}
|
|||
|
|
|||
|
public object[] ConvertBack(object value, Type[] targetTypes, object parameter, CultureInfo culture)
|
|||
|
{
|
|||
|
throw new NotImplementedException();
|
|||
|
}
|
|||
|
}
|
|||
|
}
|