using DataEntity.Rack;
using DataEntity.Share;
using DataRWDAL;
using DataRWDAL.Rack;
using HxEnum;
using System;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.Windows;
using System.Windows.Controls;
using XCommon.Log;
using XCore;
using XHandler.Class;
using XHandler.Class.DataEx;
using XHandler.View.Dialog;
using XImagingXhandler.XDAL;
using XHandler.View.Consumables;
using System.Linq;
using XHandler.Controls;
using XCommon;
namespace XHandler.View.MethodProperty
{
///
/// 夹爪转移
///
public partial class GripTransportProperty : UserControl, IMethodProperty,IConsumableObserver
{
AspirateBll aspirateBll = new AspirateBll();
GripTransportBll gripTransportBll = new GripTransportBll();
//List lattices = new List();
int curArmSelectedIndex = -1;
int curSourceSelectedIndex = -1;
int curDestinationSelectedIndex = -1;
int curGripPositionSelectedIndex = -1;
public MethodGripTransport methodGripTransport { get; set; }
public MethodGripTransport currmethodGripTransport = null;
public MethodEx method = null;
#region 全局属性变量
string isrun = "";
string status = "";
string name = "";
string label = "";
string armText = "";
string armValue = "";
string sourceLatticeText = "";
string sourceLatticeValue = "";
string destinationLatticeText = "";
string destinationLatticeValue = "";
string gripModelText = "";
int gripModelValue = 0;
string gripModelSetText = "";
int pickPosMode = 0;
string pickPosValue = "0";
int gripModelSetValue = 0;
string gripModelPosText = "";
int gripModelPosValue = 0;
string gripPickLabwareValue = "";
string gripPickLabwareText = "";
string gripPlaceLabwareValue = "";
string gripPlaceLabwareText = "";
int placePosMode = 0;
string placePosValue = "0";
int transportMode = 0;
int transportCount = 0;
int mark = 0;
#endregion
public GripTransportProperty()
{
InitializeComponent();
}
bool isConsumableUpdate = false;
///
/// 耗材变更后,更新节点
///
/// 耗材管理对象
public void ReceiveAndUpdate(ConsumableManagement consumableManagement)
{
isConsumableUpdate = true;
// 抓取耗材
ObservableCollection dropdownNames = LabwareDB.GetLabware(2);
cbGripPickObject.ItemsSource = dropdownNames;
cbGripPickObject.SelectedValue = methodGripTransport.gripPickLabwareValue;
// 放在耗材上
isConsumableUpdate = true;
ObservableCollection pickDropdownNames = new ObservableCollection(dropdownNames);
pickDropdownNames.Insert(0, new Labware() { labware_id = "-1", labware_name = "空板位" });
cbGripPlaceObject.ItemsSource = pickDropdownNames;
cbGripPlaceObject.SelectedValue = methodGripTransport.gripPlaceLabwareValue;
}
public GripTransportProperty(MethodEx method)
{
InitializeComponent();
mark = 0;
curArmSelectedIndex = 0;
curSourceSelectedIndex = 0;
curDestinationSelectedIndex = 0;
List deviceArms = DataModule.getInstance().GetDeviceArm();
cbArm.ItemsSource = deviceArms;
cbArm.SelectedIndex = 0;
if (deviceArms.Count == 2) //只有一个臂的情况下默认选中该臂
curArmSelectedIndex = 1;
else if(deviceArms.Count == 3)
curArmSelectedIndex = 2;
else if (deviceArms.Count == 4)
curArmSelectedIndex = 3;
else if (deviceArms.Count == 5)
curArmSelectedIndex = 2;
List gripTransportModels = gripTransportBll.GenerateGripTransportModel(Shared.SoftwareInformation.software_device_number);
cbGripModel.ItemsSource = gripTransportModels;
cbGripModelSet.ItemsSource = gripTransportModels;
List gripTransportModelPoss = gripTransportBll.GetGripTransportModelPoss();
cbGripModelPos.ItemsSource = gripTransportModelPoss;
// 抓取耗材
ObservableCollection dropdownNames = LabwareDB.GetLabware(2);
cbGripPickObject.ItemsSource = dropdownNames;
// 放在耗材上
ObservableCollection pickDropdownNames = new ObservableCollection(dropdownNames);
pickDropdownNames.Insert(0, new Labware() { labware_id = "-1", labware_name = "空板位" });
cbGripPlaceObject.ItemsSource = pickDropdownNames;
methodGripTransport = new MethodGripTransport();
methodGripTransport.name = method.method_name;
methodGripTransport.label = method.method_name;
methodGripTransport.transportMode = 0;
methodGripTransport.status = (method.isEnabled == true ? "enable" : "disable");
methodGripTransport.strIndex = method.strIndex;
this.method = method;
if (method.tag != null)
{
methodGripTransport = (MethodGripTransport)method.tag;
currmethodGripTransport = methodGripTransport;
isrun = methodGripTransport.isrun;
status = methodGripTransport.status;
name = methodGripTransport.name;
label = methodGripTransport.label;
armText = methodGripTransport.armText;
armValue = methodGripTransport.armValue;
sourceLatticeText = methodGripTransport.srcPositionText;
sourceLatticeValue = methodGripTransport.srcPositionValue;
destinationLatticeText = methodGripTransport.desPositionText;
destinationLatticeValue = methodGripTransport.desPositionValue;
gripModelText = methodGripTransport.gripModelText;
gripModelValue = methodGripTransport.gripModelValue;
gripModelSetText = methodGripTransport.gripModelSetText;
gripModelSetValue = methodGripTransport.gripModelSetValue;
gripPickLabwareValue = methodGripTransport.gripPickLabwareValue;
gripPickLabwareText = methodGripTransport.gripPickLabwareText;
pickPosMode= methodGripTransport.pickPosMode;
pickPosValue= methodGripTransport.pickPosValue;
gripPlaceLabwareValue = methodGripTransport.gripPlaceLabwareValue;
gripPlaceLabwareText = methodGripTransport.gripPlaceLabwareText;
placePosMode= methodGripTransport.placePosMode;
placePosValue = methodGripTransport.placePosValue;
gripModelPosText = methodGripTransport.gripModelPosText;
gripModelPosValue = methodGripTransport.gripModelPosValue;
transportMode = methodGripTransport.transportMode;
transportCount = methodGripTransport.transportCount;
}
this.DataContext = methodGripTransport;
// 加载转运点位
LoadGripPosition(Shared.ChanelArmId);
}
private void UserControl_Loaded(object sender, RoutedEventArgs e)
{
mark += 1;
try
{
if (mark > 1)
{
return;
}
if (!string.IsNullOrEmpty(armText))
{
tbxCommandName.Text = name;
cbArm.SelectedValue = armValue;
cbSourceLattice.SelectedValue = sourceLatticeValue;
cbDestinationLattice.SelectedValue = destinationLatticeValue;
cbGripModel.SelectedValue = gripModelValue;
cbGripModelSet.SelectedValue = gripModelSetValue;
cbGripModelPos.SelectedValue = gripModelPosValue;
cbGripPickObject.SelectedValue = gripPickLabwareValue;
cbGripPlaceObject.SelectedValue = gripPlaceLabwareValue;
Labware pickLabware = LabwareDB.GetLabware(gripPickLabwareValue);
Labware placeLabware = LabwareDB.GetLabware(gripPlaceLabwareValue);
if (transportMode == 0)
{
rbAll.IsChecked = true;
}
else if (transportMode == 1)
{
rbExceptOne.IsChecked = true;
}
else if (transportMode == 2)
{
rbCount.IsChecked = true;
tbxlevel.Text = transportCount.ToString();
}
if(pickPosMode==0)
{
radioBtnBoard.IsChecked= true;
}
else if(pickPosMode==1)//行
{
radioBtnRow.IsChecked= true;
string resultWells = "";
for(int q=1;q<= pickLabware.number_column;q++)
{
resultWells += ComUtility.GetRowName(pickPosValue)+ q.ToString()+ ",";
}
resultWells = resultWells.Substring(0, resultWells.Length - 1);
PickwellPlate.Selection = resultWells;
}
else if(pickPosMode==2)//列
{
radioBtnColumn.IsChecked= true;
string resultWells = "";
for (int q = 0; q < pickLabware.number_row; q++)
{
resultWells += ComUtility.GetRowChar(q) + pickPosValue.ToString() + ",";
}
resultWells = resultWells.Substring(0, resultWells.Length - 1);
PickwellPlate.Selection = resultWells;
}
else if(pickPosMode==3)//孔
{
radioBtnWell.IsChecked= true;
PickwellPlate.Selection = pickPosValue;
}
if (placePosMode == 0)
{
radioBtnPlaceBoard.IsChecked = true;
}
else if (placePosMode == 1)//行
{
radioBtnPlaceRow.IsChecked = true;
string resultWells = "";
if (placeLabware != null)
{
for (int q = 1; q <=placeLabware.number_column; q++)
{
resultWells += ComUtility.GetRowName(placePosValue) + q.ToString() + ",";
}
resultWells = resultWells.Substring(0, resultWells.Length - 1);
}
PlacewellPlate.Selection = resultWells;
}
else if (placePosMode == 2)//列
{
radioBtnPlaceColumn.IsChecked = true;
string resultWells = "";
if (placeLabware != null)
{
for (int q = 0; q < placeLabware.number_row; q++)
{
resultWells += ComUtility.GetRowChar(q) + placePosValue.ToString() + ",";
}
resultWells = resultWells.Substring(0, resultWells.Length - 1);
}
PlacewellPlate.Selection = resultWells;
}
else if (placePosMode == 3)
{
radioBtnPlaceWell.IsChecked = true;
PlacewellPlate.Selection = placePosValue;
}
if (currmethodGripTransport != null)
{
methodGripTransport = currmethodGripTransport;
}
if (this.method != null)
{
this.method.method_Tipcontent = string.Format("从{0}到{1}", methodGripTransport.srcPositionText, methodGripTransport.desPositionText);
}
}
else
{
Labware pickLabware = LabwareDB.GetLabware(gripPickLabwareValue);
Labware placeLabware = LabwareDB.GetLabware(gripPlaceLabwareValue);
cbArm.SelectedIndex = curArmSelectedIndex;
cbSourceLattice.SelectedIndex = curSourceSelectedIndex;
cbDestinationLattice.SelectedIndex = curDestinationSelectedIndex;
cbGripModel.SelectedIndex = curGripPositionSelectedIndex;
cbGripModelSet.SelectedIndex = curGripPositionSelectedIndex;
cbGripModelPos.SelectedIndex = curGripPositionSelectedIndex;
cbGripPickObject.SelectedIndex = curGripPositionSelectedIndex;
cbGripPlaceObject.SelectedIndex = 0;
if (methodGripTransport.transportMode == 0)
rbAll.IsChecked = true;
else if (methodGripTransport.transportMode == 1)
rbExceptOne.IsChecked = true;
else if (methodGripTransport.transportMode == 2)
rbCount.IsChecked = true;
if(methodGripTransport.pickPosMode==0)
{
radioBtnBoard.IsChecked = true;
}else if(methodGripTransport.pickPosMode==1)
{
radioBtnRow.IsChecked = true;
string resultWells = "";
for (int q = 1; q <= pickLabware.number_column; q++)
{
resultWells += ComUtility.GetRowName(pickPosValue) + q.ToString() + ",";
}
resultWells = resultWells.Substring(0, resultWells.Length - 1);
PickwellPlate.Selection = resultWells;
}
else if(methodGripTransport.pickPosMode==2)
{
radioBtnColumn.IsChecked = true;
string resultWells = "";
for (int q = 0; q < pickLabware.number_row; q++)
{
resultWells += ComUtility.GetRowChar(q) + pickPosValue.ToString() + ",";
}
resultWells = resultWells.Substring(0, resultWells.Length - 1);
PickwellPlate.Selection = resultWells;
}
else if(methodGripTransport.pickPosMode==3)
{
radioBtnWell.IsChecked = true;
PickwellPlate.Selection = pickPosValue;
}
if (methodGripTransport.placePosMode == 0)
{
radioBtnPlaceBoard.IsChecked = true;
}
else if (methodGripTransport.placePosMode == 1)
{
radioBtnPlaceRow.IsChecked = true;
string resultWells = "";
if (placeLabware != null)
{
for (int q = 1; q <= placeLabware.number_column; q++)
{
resultWells += ComUtility.GetRowName(placePosValue) + q.ToString() + ",";
}
resultWells = resultWells.Substring(0, resultWells.Length - 1);
}
PlacewellPlate.Selection = resultWells;
}
else if (methodGripTransport.placePosMode == 2)
{
radioBtnPlaceColumn.IsChecked = true;
string resultWells = "";
if (placeLabware != null)
{
for (int q = 0; q < placeLabware.number_row; q++)
{
resultWells += ComUtility.GetRowChar(q) + placePosValue.ToString() + ",";
}
resultWells = resultWells.Substring(0, resultWells.Length - 1);
}
PlacewellPlate.Selection = resultWells;
}
else if (methodGripTransport.placePosMode == 3)
{
radioBtnPlaceWell.IsChecked = true;
PlacewellPlate.Selection = placePosValue;
}
if (currmethodGripTransport != null)
{
methodGripTransport = currmethodGripTransport;
}
if (this.method != null)
{
this.method.method_Tipcontent = string.Format("从{0}到{1}", methodGripTransport.srcPositionText, methodGripTransport.desPositionText);
}
}
}
catch (Exception ex)
{
LoggerHelper.ErrorLog("ERROR:", ex);
}
}
private void cbArm_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
if (cbArm.SelectedIndex < 0)
{
return;
}
curArmSelectedIndex = cbArm.SelectedIndex;
DeviceArm arm = (DeviceArm)cbArm.SelectedItem;
if (methodGripTransport != null)
{
methodGripTransport.armText = arm.device_arm_name;
methodGripTransport.armValue = arm.device_arm_id.ToString();
}
}
public void SetTableName(string name, Labware labware)
{
//TextBox tb = Utilities.FindVisualChild(cbSourceLattice);
//if (tb.IsFocused)
//{
// Lattice l = lattices.Find(s => s.lattice_num == name);
// cbSourceLattice.SelectedItem = l;
//}
//else
//{
// TextBox tb1 = Utilities.FindVisualChild(cbDestinationLattice);
// if (tb1.IsFocused)
// {
// Lattice l = lattices.Find(s => s.lattice_num == name);
// cbDestinationLattice.SelectedItem = l;
// }
//}
}
private void cbSourceLattice_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
if (cbSourceLattice.SelectedIndex < 0 || mark == 0)
return;
curSourceSelectedIndex = cbSourceLattice.SelectedIndex;
if (string.IsNullOrEmpty(methodGripTransport.armValue))
{
new MessageDialog(Properties.Resources.msgPlsSelectArm).ShowDialog();
}
if (cbSourceLattice.SelectedIndex >= 0)
{
GripTransportPosition gripPosition = cbSourceLattice.SelectedItem as GripTransportPosition;
if (methodGripTransport != null)
{
methodGripTransport.srcPositionText = gripPosition.position_name;
methodGripTransport.srcPositionValue = gripPosition.position_id;
methodGripTransport.srcPositionType = gripPosition.position_type;
}
if (this.method != null)
{
this.method.method_Tipcontent = string.Format("从{0}到{1}", methodGripTransport.srcPositionText, methodGripTransport.desPositionText);
}
}
}
private void cbDestinationLattice_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
if (cbDestinationLattice.SelectedIndex < 0 || mark == 0)
return;
curDestinationSelectedIndex = cbDestinationLattice.SelectedIndex;
if (string.IsNullOrEmpty(methodGripTransport.armValue))
{
new MessageDialog(Properties.Resources.msgPlsSelectArm).ShowDialog();
}
if (cbDestinationLattice.SelectedIndex >= 0)
{
GripTransportPosition gripPosition = cbDestinationLattice.SelectedItem as GripTransportPosition;
if (methodGripTransport != null)
{
methodGripTransport.desPositionText = gripPosition.position_name;
methodGripTransport.desPositionValue = gripPosition.position_id;
methodGripTransport.desPositionType = gripPosition.position_type;
}
if (this.method != null)
{
this.method.method_Tipcontent = string.Format("从{0}到{1}", methodGripTransport.srcPositionText, methodGripTransport.desPositionText);
}
}
}
private void rbAll_Checked(object sender, RoutedEventArgs e)
{
if (rbAll.IsChecked == true)
{
if (methodGripTransport != null)
{
methodGripTransport.transportMode = (int)GripTransportModeEnum.TransportAll;
}
}
}
private void rbExceptOne_Checked(object sender, RoutedEventArgs e)
{
if (rbExceptOne.IsChecked == true)
{
if (methodGripTransport != null)
{
methodGripTransport.transportMode = (int)GripTransportModeEnum.TransportExceptOne;
}
}
}
private void rbCount_Checked(object sender, RoutedEventArgs e)
{
if (rbCount.IsChecked == true)
{
if (methodGripTransport != null)
{
methodGripTransport.transportMode = (int)GripTransportModeEnum.TransportCount;
}
}
}
private void tbxCommandName_TextChanged(object sender, TextChangedEventArgs e)
{
try
{
if (methodGripTransport != null)
{
methodGripTransport.name = tbxCommandName.Text;
}
}
catch (Exception ex)
{
LoggerHelper.ErrorLog("ERROR:", ex);
}
}
private void cbGripModel_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
try
{
GripTransportModel gripTransportModel = cbGripModel.SelectedItem as GripTransportModel;
if (methodGripTransport != null)
{
if (string.IsNullOrEmpty(methodGripTransport.armValue))
{
new MessageDialog(Properties.Resources.msgPlsSelectArm).ShowDialog();
}
methodGripTransport.gripModelText = gripTransportModel.model_name;
methodGripTransport.gripModelValue = Convert.ToInt32(gripTransportModel.model_id);
}
}
catch (Exception ex)
{
LoggerHelper.ErrorLog("ERROR:", ex);
}
}
private void tbxlevel_TextChanged(object sender, TextChangedEventArgs e)
{
try
{
if (methodGripTransport != null)
{
methodGripTransport.transportCount = Convert.ToInt32(tbxlevel.Text);
}
}
catch (Exception ex)
{
LoggerHelper.ErrorLog("ERROR:", ex);
}
}
private void cbGripModelSet_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
try
{
GripTransportModel gripTransportModel = cbGripModelSet.SelectedItem as GripTransportModel;
if (methodGripTransport != null)
{
if (string.IsNullOrEmpty(methodGripTransport.armValue))
{
new MessageDialog(Properties.Resources.msgPlsSelectArm).ShowDialog();
}
methodGripTransport.gripModelSetText = gripTransportModel.model_name;
methodGripTransport.gripModelSetValue = Convert.ToInt32(gripTransportModel.model_id);
}
}
catch (Exception ex)
{
LoggerHelper.ErrorLog("ERROR:", ex);
}
}
private void cbGripModelPos_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
try
{
GripTransportModel gripTransportModel = cbGripModelPos.SelectedItem as GripTransportModel;
if (methodGripTransport != null)
{
methodGripTransport.gripModelPosText = gripTransportModel.model_name;
methodGripTransport.gripModelPosValue = Convert.ToInt32(gripTransportModel.model_id);
}
}
catch (Exception ex)
{
LoggerHelper.ErrorLog("ERROR:", ex);
}
}
///
/// 抓取耗材类型
///
///
///
private void cbGripPickObject_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
try
{
if (isConsumableUpdate)
{
isConsumableUpdate = false;
return;
}
Labware gripTransportModel = cbGripPickObject.SelectedItem as Labware;
if (methodGripTransport != null)
{
if (string.IsNullOrEmpty(methodGripTransport.armValue))
{
new MessageDialog(Properties.Resources.msgPlsSelectArm).ShowDialog();
}
methodGripTransport.gripPickLabwareText = gripTransportModel.labware_name;
methodGripTransport.gripPickLabwareValue = gripTransportModel.labware_id;
PickwellPlate.Rows = gripTransportModel.number_row;
PickwellPlate.Columns = gripTransportModel.number_column;
PickwellPlate.labwareWellInfoList = gripTransportModel.labwareWellInfoList;
PickwellPlate.LabwareRealWidth = gripTransportModel.labware_length;
PickwellPlate.LabwareRealLength = gripTransportModel.labware_width;
PickwellPlate.DataContext = gripTransportModel;
PickwellPlate.Selection = "";
}
}
catch (Exception ex)
{
LoggerHelper.ErrorLog("ERROR:", ex);
}
}
#region 加载转运点位
///
/// 加载转运点位
///
///
private void LoadGripPosition(int armId)
{
List gripPositionList = new List();
// 获取台面点位
List lattices = aspirateBll.ProviderLatticeList(Shared.SoftwareInformation.software_device_number, armId);
// 获取台面以外点位
List positons = PositionDB.GetList(Shared.SoftwareInformation.software_information_id);
foreach (var lattice in lattices)
{
if (!lattice.lattice_num.Equals("请选择"))
{
GripTransportPosition gripPosition = new GripTransportPosition();
gripPosition.position_id = lattice.lattice_id;
gripPosition.position_name = lattice.lattice_num;
gripPosition.position_type = EnumManagement.GetEnumValue(PositonTypeEnum.Desktop);
gripPositionList.Add(gripPosition);
}
}
foreach (var positon in positons)
{
GripTransportPosition gripPosition = new GripTransportPosition();
gripPosition.position_id = positon.id;
gripPosition.position_name = positon.name;
gripPosition.position_type = positon.type;
gripPositionList.Add(gripPosition);
}
cbSourceLattice.ItemsSource = gripPositionList;
cbDestinationLattice.ItemsSource = gripPositionList;
cbSourceLattice.SelectedIndex = 0;
cbDestinationLattice.SelectedIndex = 0;
}
#endregion
private void cbGripPlaceObject_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
try
{
if(isConsumableUpdate)
{
isConsumableUpdate = false;
return;
}
Labware gripTransportModel = cbGripPlaceObject.SelectedItem as Labware;
if (methodGripTransport != null)
{
if (string.IsNullOrEmpty(methodGripTransport.armValue))
{
new MessageDialog(Properties.Resources.msgPlsSelectArm).ShowDialog();
}
methodGripTransport.gripPlaceLabwareText = gripTransportModel.labware_name;
methodGripTransport.gripPlaceLabwareValue = gripTransportModel.labware_id;
PlacewellPlate.Rows = gripTransportModel.number_row;
PlacewellPlate.Columns = gripTransportModel.number_column;
PlacewellPlate.labwareWellInfoList = gripTransportModel.labwareWellInfoList;
PlacewellPlate.LabwareRealWidth = gripTransportModel.labware_length;
PlacewellPlate.LabwareRealLength = gripTransportModel.labware_width;
PlacewellPlate.DataContext = gripTransportModel;
PlacewellPlate.Selection = "";
}
}
catch (Exception ex)
{
LoggerHelper.ErrorLog("ERROR:", ex);
}
}
private void PickwellPlate_MouseLeftButtonDown(object sender, System.Windows.Input.MouseButtonEventArgs e)
{
//获取当前已选中的孔
string wellsSelected = PickwellPlate.Selection;
if (!string.IsNullOrEmpty(wellsSelected))
{
string[] wellArray = wellsSelected.Split(',');
if (radioBtnRow.IsChecked==true)
{
string rowName = wellArray[wellArray.Length - 1].Substring(0, 1);
int colTotal = PickwellPlate.Columns;
string resultWells = "";
for (int i = 1; i <= colTotal; i++)
{
resultWells += rowName + i.ToString() + ",";
}
if (!string.IsNullOrEmpty(resultWells))
{
resultWells = resultWells.Substring(0, (resultWells.Length) - 1);
}
PickwellPlate.Selection = resultWells;
if (methodGripTransport != null)
{
methodGripTransport.pickPosValue = ComUtility.GetRowIndexByRowChar(rowName);
}
}
else if (radioBtnColumn.IsChecked == true)
{
string colName = wellArray[wellArray.Length - 1].Substring(1);
int rowTotal = PickwellPlate.Rows;
string resultWells = "";
for (int i = 0; i <= rowTotal; i++)
{
resultWells += ComUtility.GetRowChar(i) + colName + ",";
}
if (!string.IsNullOrEmpty(resultWells))
{
resultWells = resultWells.Substring(0, (resultWells.Length) - 1);
}
PickwellPlate.Selection = resultWells;
if (methodGripTransport != null)
{
methodGripTransport.pickPosValue = wellArray[wellArray.Length - 1].Substring(1);
}
}
else if (radioBtnWell.IsChecked == true)
{
string resultWells = "";
resultWells = wellArray[wellArray.Length - 1];
PickwellPlate.Selection = resultWells;
if (methodGripTransport != null)
{
methodGripTransport.pickPosValue = resultWells;
}
}
}
}
#region 抓整板选定
private void radioBtnBoard_Checked(object sender, RoutedEventArgs e)
{
if(radioBtnBoard.IsChecked == true)
{
gdPickSet.RowDefinitions[1].Height = new GridLength(0);
if (methodGripTransport != null)
{
methodGripTransport.pickPosMode = 0;
}
}
}
#endregion
#region 按行抓选定
private void radioBtnRow_Checked(object sender, RoutedEventArgs e)
{
if (radioBtnRow.IsChecked == true)
{
gdPickSet.RowDefinitions[1].Height = new GridLength(210);
if (methodGripTransport != null)
{
methodGripTransport.pickPosMode = 1;
PickwellPlate.Selection = "";
}
}
}
#endregion
#region 按列抓选定
private void radioBtnColumn_Checked(object sender, RoutedEventArgs e)
{
if (radioBtnColumn.IsChecked == true)
{
gdPickSet.RowDefinitions[1].Height = new GridLength(210);
if (methodGripTransport != null)
{
methodGripTransport.pickPosMode = 2;
PickwellPlate.Selection = "";
}
}
}
#endregion
#region 按孔抓选定
private void radioBtnWell_Checked(object sender, RoutedEventArgs e)
{
if (radioBtnWell.IsChecked == true)
{
gdPickSet.RowDefinitions[1].Height = new GridLength(210);
if (methodGripTransport != null)
{
methodGripTransport.pickPosMode = 3;
PickwellPlate.Selection = "";
}
}
}
#endregion
private void PlacewellPlate_MouseLeftButtonDown(object sender, System.Windows.Input.MouseButtonEventArgs e)
{
//获取当前已选中的孔
string wellsSelected = PlacewellPlate.Selection;
if (!string.IsNullOrEmpty(wellsSelected))
{
string[] wellArray = wellsSelected.Split(',');
if (radioBtnPlaceRow.IsChecked == true)
{
string rowName = wellArray[wellArray.Length - 1].Substring(0, 1);
int colTotal = PlacewellPlate.Columns;
string resultWells = "";
for (int i = 1; i <= colTotal; i++)
{
resultWells += rowName + i.ToString() + ",";
}
if (!string.IsNullOrEmpty(resultWells))
{
resultWells = resultWells.Substring(0, (resultWells.Length) - 1);
}
PlacewellPlate.Selection = resultWells;
if (methodGripTransport != null)
{
methodGripTransport.placePosValue = ComUtility.GetRowIndexByRowChar(rowName);
}
}
else if (radioBtnPlaceColumn.IsChecked == true)
{
string colName = wellArray[wellArray.Length - 1].Substring(1);
int rowTotal = PlacewellPlate.Rows;
string resultWells = "";
for (int i = 0; i <= rowTotal; i++)
{
resultWells += ComUtility.GetRowChar(i) + colName + ",";
}
if (!string.IsNullOrEmpty(resultWells))
{
resultWells = resultWells.Substring(0, (resultWells.Length) - 1);
}
PlacewellPlate.Selection = resultWells;
if (methodGripTransport != null)
{
methodGripTransport.placePosValue = wellArray[wellArray.Length - 1].Substring(1);
}
}
else if (radioBtnPlaceWell.IsChecked == true)
{
string resultWells = "";
resultWells = wellArray[wellArray.Length - 1];
PlacewellPlate.Selection = resultWells;
if (methodGripTransport != null)
{
methodGripTransport.placePosValue = resultWells;
}
}
}
}
#region 放整板选定
private void radioBtnPlaceBoard_Checked(object sender, RoutedEventArgs e)
{
if (radioBtnPlaceBoard.IsChecked == true)
{
gdPlaceSet.RowDefinitions[1].Height = new GridLength(0);
if (methodGripTransport != null)
{
methodGripTransport.placePosMode = 0;
}
}
}
#endregion
#region 按行放选定
private void radioBtnPlaceRow_Checked(object sender, RoutedEventArgs e)
{
if (radioBtnPlaceRow.IsChecked == true)
{
gdPlaceSet.RowDefinitions[1].Height = new GridLength(210);
if (methodGripTransport != null)
{
methodGripTransport.placePosMode = 1;
PlacewellPlate.Selection = "";
}
}
}
#endregion
#region 按列放选定
private void radioBtnPlaceColumn_Checked(object sender, RoutedEventArgs e)
{
if (radioBtnPlaceColumn.IsChecked == true)
{
gdPlaceSet.RowDefinitions[1].Height = new GridLength(210);
if (methodGripTransport != null)
{
methodGripTransport.placePosMode = 2;
PlacewellPlate.Selection = "";
}
}
}
#endregion
#region 按孔抓选定
private void radioBtnPlaceWell_Checked(object sender, RoutedEventArgs e)
{
if (radioBtnPlaceWell.IsChecked == true)
{
gdPlaceSet.RowDefinitions[1].Height = new GridLength(210);
if (methodGripTransport != null)
{
methodGripTransport.placePosMode = 3;
PlacewellPlate.Selection = "";
}
}
}
#endregion
}
}