using SA_LTT;
|
using SA_LTT.Info.RecipeInfo;
|
using SA_LTT_UI.Screen;
|
using System;
|
using System.Collections.Generic;
|
using System.ComponentModel;
|
using System.Data;
|
using System.Drawing;
|
using System.Linq;
|
using System.Text;
|
using System.Threading.Tasks;
|
using System.Windows.Forms;
|
|
namespace SA_LTT_UI.Viewer
|
{
|
public partial class ProcessRecipeInfoViewer : Form
|
{
|
MainFrame _mainFrame;
|
|
WaferProcessPointView _waferProcessPointView = new WaferProcessPointView();
|
|
public ProcessRecipeInfoViewer(MainFrame mainFrame)
|
{
|
InitializeComponent();
|
_mainFrame = mainFrame;
|
|
el_CurrentWaferProcess.Child = _waferProcessPointView;
|
|
_mainFrame.equipment.AddRecipeExcutedEvent(Sequence_RecipeExcuted);
|
_mainFrame.equipment.AddProcessInfoExcutedEvent(Sequence_ProcessInfoExcuted);
|
}
|
|
private void Sequence_RecipeExcuted(Recipe recipe)
|
{
|
if (InvokeRequired)
|
{
|
BeginInvoke(new RecipeExcuteEvent(Sequence_RecipeExcuted), recipe);
|
}
|
else
|
{
|
_waferProcessPointView.ClearProcessArea();
|
_waferProcessPointView.Radius = recipe.Radius;
|
_waferProcessPointView.PrimaryFlat = recipe.DistanceFromCenterToPrimaryFlat;
|
|
tb_RecipeName.Text = recipe.Name;
|
tb_RecipeRadius.Text = recipe.Radius.ToString();
|
tb_RecipeDistancePrimaryFlat.Text = recipe.DistanceFromCenterToPrimaryFlat.ToString();
|
tb_RecipeEdgeRound.Text = recipe.EdgeRound.ToString();
|
|
tb_RecipeBeamWidth.Text = recipe.BeamWidth.ToString();
|
tb_RecipeBeamHeight.Text = recipe.BeamHeight.ToString();
|
|
foreach (ProcessInfo processInfo in recipe.ProcessInfoList)
|
{
|
processInfo.SetProcessData();
|
|
_waferProcessPointView.AddProcessArea(processInfo.ProcessStartY, processInfo.ProcessEndY, processInfo.ProcessList.ToArray());
|
}
|
}
|
}
|
|
private void Sequence_ProcessInfoExcuted(ProcessInfo processInfo, int processInfoIndex)
|
{
|
if (InvokeRequired)
|
{
|
BeginInvoke(new ProcessInfoExcuteEvent(Sequence_ProcessInfoExcuted), processInfo, processInfoIndex);
|
}
|
else
|
{
|
tb_RecipeWidthOverlap.Text = processInfo.BeamWidthOverlap.ToString();
|
tb_RecipeHeightOverlap.Text = processInfo.BeamHeightOverlap.ToString();
|
tb_RecipeEnergy.Text = processInfo.Energy.ToString();
|
|
_waferProcessPointView.HighlightProcessAreas(processInfoIndex);
|
}
|
}
|
|
private void ProcessRecipeInfoViewer_FormClosing(object sender, FormClosingEventArgs e)
|
{
|
e.Cancel = true;
|
this.Hide();
|
}
|
}
|
}
|