| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190 | 
							- using Aitex.Core.Common;
 
- using Caliburn.Micro;
 
- using MECF.Framework.Common.OperationCenter;
 
- using OpenSEMI.Ctrlib.Controls;
 
- using System;
 
- using System.Collections.Generic;
 
- using System.Linq;
 
- using System.Text;
 
- using System.Threading.Tasks;
 
- using System.Windows;
 
- using System.Windows.Controls;
 
- namespace PunkHPX8_MainPages.Unity
 
- {
 
-     public class MenuElement
 
-     {
 
-         public string Name { get; set; }
 
-         public string Invoke { get; set; }
 
-         public bool IsSeparator { get; set; }
 
-     }
 
-     public class ContextMenuManager
 
-     {
 
-         public bool ShowAligner { get; set; }
 
-         public bool ShowCooling { get; set; }
 
-         public ContextMenuManager()
 
-         {
 
-             _slotMenus = InitMenus(_SlotMenuElements);
 
-             _carrierMenus = InitMenus(_carrierMenuElements);
 
-             ShowAligner = true;
 
-             ShowCooling = true;
 
-         }
 
-         #region single Instance
 
-         private static ContextMenuManager m_Instance = null;
 
-         public static ContextMenuManager Instance
 
-         {
 
-             get
 
-             {
 
-                 if (m_Instance == null)
 
-                 {
 
-                     m_Instance = new ContextMenuManager();
 
-                 }
 
-                 return m_Instance;
 
-             }
 
-         }
 
-         #endregion
 
-         #region Slot Menus
 
-         private ContextMenu _slotMenus;
 
-         public ContextMenu SlotMenus
 
-         {
 
-             get { return _slotMenus; }
 
-         }
 
-         private readonly List<MenuElement> _SlotMenuElements = new List<MenuElement>() {
 
-             new MenuElement(){ Name="Create Wafer", Invoke="CreateWafer"},
 
-             new MenuElement(){ Name="Delete Wafer", Invoke="DeleteWafer"},
 
-             //new MenuElement(){ Name="-", IsSeparator = true},
 
-             //new MenuElement(){ Name="Return Wafer", Invoke="ReturnWafer"},
 
-             //new MenuElement(){ Name="Return Wafer", Invoke="ReturnWafer"}
 
-         };
 
-         public void OnContextMenuClick(object sender, RoutedEventArgs args)
 
-         {
 
-             try
 
-             {
 
-                 MenuItem m_menu = sender as MenuItem;
 
-                 Slot CurrentSlot = ContextMenuService.GetPlacementTarget(LogicalTreeHelper.GetParent(m_menu)) as Slot;
 
-                 if (CurrentSlot == null)
 
-                     return;
 
-                 MenuElement ele = m_menu.Tag as MenuElement;
 
-              
 
-                 InvokeClient.Instance.Service.DoOperation(ele.Invoke, CurrentSlot.ModuleID, CurrentSlot.SlotID);
 
-             }
 
-             catch 
 
-             {
 
-                 //LOG.Write(ex);
 
-             }
 
-         }
 
-         private ContextMenu InitMenus(List<MenuElement> menus)
 
-         {
 
-             ContextMenu cm = new ContextMenu();
 
-             foreach (MenuElement element in menus)
 
-             {
 
-                 if (element.IsSeparator)
 
-                 {
 
-                     cm.Items.Add(new Separator());
 
-                 }
 
-                 else
 
-                 {
 
-                     MenuItem m_item = new MenuItem();
 
-                     m_item.Header = element.Name;
 
-                     m_item.Tag = element;
 
-                     m_item.Click += new RoutedEventHandler(OnContextMenuClick);
 
-                     m_item.IsEnabled = true;
 
-                     cm.Items.Add(m_item);
 
-                 }
 
-             }
 
-             return cm;
 
-         }
 
-         public bool IsAutoMode { get; set; }
 
-         public bool EnableAuto
 
-         {
 
-             get { return !IsAutoMode; }
 
-         }
 
-         public ContextMenu GetSlotMenus(Slot slot)
 
-         {           
 
-             if (slot != null)
 
-             {
 
-                 MenuItem createWafer = _slotMenus.Items.GetItemAt(0) as MenuItem;
 
-                 MenuItem deleteWafer = _slotMenus.Items.GetItemAt(1) as MenuItem;
 
-                 //MenuItem returnWafer = _slotMenus.Items.GetItemAt(2) as MenuItem;
 
-                 createWafer.IsEnabled = ((WaferStatus)slot.WaferStatus == WaferStatus.Empty ? true : false) && EnableAuto;
 
-                 //createWafer.IsChecked= ((WaferStatus)slot.WaferStatus == WaferStatus.Empty ? false : true) && EnableAuto;
 
-                 deleteWafer.IsEnabled = ((WaferStatus)slot.WaferStatus == WaferStatus.Empty ? false : true) && EnableAuto;
 
-                 //deleteWafer.IsChecked = ((WaferStatus)slot.WaferStatus == WaferStatus.Empty ? true : false) && EnableAuto;
 
-                 //returnWafer.Visibility = ((WaferStatus)slot.WaferStatus == WaferStatus.Empty ? false : true) && !(slot.ModuleID.StartsWith("LP")||slot.ModuleID.StartsWith("Dummy"))? Visibility.Visible : Visibility.Collapsed;
 
-             }
 
-             return _slotMenus;
 
-         }
 
-         #endregion
 
-         #region Carrier menus
 
-         private ContextMenu _carrierMenus;
 
-         public ContextMenu CarrierMenus
 
-         {
 
-             get { return _carrierMenus; }
 
-         }
 
-         private readonly List<MenuElement> _carrierMenuElements = new List<MenuElement>() {
 
-             new MenuElement(){ Name="Create Carrier", Invoke="System.CreateCarrier"},
 
-             new MenuElement(){ Name="Delete Carrier", Invoke="System.DeleteCarrier"},
 
-         };
 
-         public void OnCarrierContextMenuClick(object sender, RoutedEventArgs args)
 
-         {
 
-             //try
 
-             //{
 
-             //    MenuItem menuItem = sender as MenuItem;
 
-             //    CarrierContentControl locateCarrier = ContextMenuService.GetPlacementTarget(LogicalTreeHelper.GetParent(menuItem)) as CarrierContentControl;
 
-             //    if (locateCarrier == null)
 
-             //        return;
 
-             //    MenuElement ele = menuItem.Tag as MenuElement;
 
-             //    InvokeClient.Instance.Service.DoOperation(ele.Invoke, locateCarrier.ModuleID, locateCarrier.CarrierID);
 
-             //}
 
-             //catch (Exception ex)
 
-             //{
 
-             //    LOG.Write(ex);
 
-             //}
 
-         }
 
-         //public ContextMenu GetCarrierMenus(CarrierContentControl carrier)
 
-         //{
 
-         //    if (carrier != null)
 
-         //    {
 
-         //        MenuItem createCarrier = _carrierMenus.Items.GetItemAt(0) as MenuItem;
 
-         //        MenuItem deleteWafer = _carrierMenus.Items.GetItemAt(1) as MenuItem;
 
-         //        createCarrier.IsEnabled = (WaferStatus)carrier.WaferStatus == WaferStatus.Empty ? true : false;
 
-         //        deleteWafer.IsEnabled = (WaferStatus)carrier.WaferStatus == WaferStatus.Empty ? false : true;
 
-         //    }
 
-         //    return _carrierMenus;
 
-         //}
 
-         #endregion
 
-     }
 
- }
 
 
  |