2026-04-15 16:31:22 +09:00

787 lines
30 KiB
C#

using AuroraLaser.Trupulse.DataTables;
using CoreUnit.Common;
using CoreUnit.Control.UserControl.Canvas;
using CoreUnit.Scanner.UserControl.ScannerCanvas;
using GUI.Dialog.Extender;
using System;
using System.Collections.Generic;
using System.Configuration;
using System.IO;
using System.Reflection;
using System.Windows.Forms;
using System.Xml;
namespace CoreUnit.Scanner.UserControl.Canvas.Dialog
{
public partial class WeldingParamDlg : FormBase
{
private readonly HintProvider _hintProvider = new HintProvider();
private readonly WaveFormTable waveFormTable = new WaveFormTable();
public WeldingParamDlg(int scannergParamNo, bool editMode = true)
{
InitializeComponent();
LoadDataTables();
InitializeHint();
if (scannergParamNo <= 0) {
m_selectedIndex = 1;
} else {
m_selectedIndex = scannergParamNo;
}
m_scannerParams.Clear();
foreach (ScannerParam originalParam in ScannerCanvasUserCtrl.ScannerParams) {
ScannerParam copyParam = originalParam.Clone();
m_scannerParams.Add(copyParam);
}
cbWobbelShape.Items.Clear();
cbWobbelShape.DataSource = Enum.GetValues(typeof(ScannerParam.eWobbelShape));
cbLaserProgramNo.Items.Clear();
cbLaserProgramNo.DataSource = Enum.GetValues(typeof(ScannerParam.eProgramNo));
ScannerParamToDialog(m_selectedIndex);
InitializeDialog(m_selectedIndex, editMode);
}
private void LoadDataTables()
{
try {
var filePath = Path.Combine(ConfigurationManager.AppSettings.Get("DATA_PATH"), "External", "Tables", "waveFormTable.csv");
waveFormTable.LoadFromFile(filePath);
} catch (Exception ex) {
return;
}
}
private void InitializeHint()
{
// 생성자에서 옵션 한번에
_hintProvider.Title = "RMS Param ";
_hintProvider.Icon = ToolTipIcon.Info;
_hintProvider.MaxWidth = 360;
_hintProvider.ShowAlways = true;
_hintProvider.AutoPopDelay = 6000;
_hintProvider.InitialDelay = 200;
_hintProvider.ReshowDelay = 100;
// 각 TextBox에 힌트 주입
_hintProvider.SetHint(label15/*tbDrawSpeed*/, "용접레이저 가공 속도");
_hintProvider.SetHint(label14/*tbJumpSpeed*/, "용접레이저 이동 속도");
_hintProvider.SetHint(label57/*tbLaserPower1*/, "용접 레이저 메인 출력 Core");
_hintProvider.SetHint(label22/*tbLaserPower2*/, "용접 레이저 메인 출력 Ring");
_hintProvider.SetHint(label46/*nudRampingStartPower*/, "용접 레이저 램핑 출력(Start)");
_hintProvider.SetHint(label45/*nudRampingStartDist*/, "용접 레이저 램핑 길이(Start)");
_hintProvider.SetHint(label36/*nudRampingEndPower*/, "용접 레이저 램핑 출력(End)");
_hintProvider.SetHint(label34/*nudRampingEndDist*/, "용접 레이저 램핑 길이(End)");
}
private void InitializeDialog(int selectedIndex, bool editMode)
{
btnPasteParam.Enabled = false;
//Welding Parameter 콤보 박스 초기화
cbParamExt.Enabled = false;
cbParamExt.Items.Clear();
//Paramter 17~128개
for (int i = 17; i <= 128; i++) {
cbParamExt.Items.Add(i);
}
//if (editMode) {
// gbLaser.Enabled = true;
// gbRamping.Enabled = true;
// gbScanner.Enabled = true;
// gbWobbel.Enabled = true;
// btnCopyParam.Enabled = true;
// btnImport.Enabled = true;
// btnImportAll.Enabled = true;
// btnExport.Enabled = true;
// btnExportAll.Enabled = true;
// btnOk.Enabled = true;
// btnCancel.Enabled = true;
//} else {
// gbLaser.Enabled = false;
// gbRamping.Enabled = false;
// gbScanner.Enabled = false;
// gbWobbel.Enabled = false;
// btnCopyParam.Enabled = false;
// btnImport.Enabled = false;
// btnImportAll.Enabled = false;
// btnExport.Enabled = false;
// btnExportAll.Enabled = false;
// btnOk.Enabled = false;
// btnCancel.Enabled = true;
//}
//Welding Paramter 색 지정
//rbParam1.ForeColor = Color.FromName(((WeldingParameterIDEditor.eWeldingColor)1).ToString());
//rbParam2.ForeColor = Color.FromName(((WeldingParameterIDEditor.eWeldingColor)2).ToString());
//rbParam3.ForeColor = Color.FromName(((WeldingParameterIDEditor.eWeldingColor)3).ToString());
foreach (System.Windows.Forms.Control rb in this.gbParameterSet.Controls) {
if (rb is RadioButton) {
string sIndex = rb.Name.Substring(7);
int index = 0;
if (int.TryParse(sIndex, out index)) {
rb.ForeColor = WeldingParameterIDEditor.weldingColorList[index - 1];
}
}
}
switch (selectedIndex) {
case 1:
rbParam1.Checked = true;
break;
case 2:
rbParam2.Checked = true;
break;
case 3:
rbParam3.Checked = true;
break;
case 4:
rbParam4.Checked = true;
break;
case 5:
rbParam5.Checked = true;
break;
case 6:
rbParam6.Checked = true;
break;
case 7:
rbParam7.Checked = true;
break;
case 8:
rbParam8.Checked = true;
break;
case 9:
rbParam9.Checked = true;
break;
case 10:
rbParam10.Checked = true;
break;
case 11:
rbParam11.Checked = true;
break;
case 12:
rbParam12.Checked = true;
break;
case 13:
rbParam13.Checked = true;
break;
case 14:
rbParam14.Checked = true;
break;
case 15:
rbParam15.Checked = true;
break;
case 16:
rbParam16.Checked = true;
break;
default:
rbParamExt.Checked = true;
cbParamExt.Select(selectedIndex - 16, 1);
break;
}
}
List<ScannerParam> m_scannerParams = new List<ScannerParam>();
ScannerParam m_copyParam = new ScannerParam();
int m_selectedIndex = 0;
private void ScannerParamToDialog(int selectedScannerParamID)
{
ScannerParam selectedParam = m_scannerParams[selectedScannerParamID - 1];
tbDrawSpeed.Text = selectedParam.MarkSpeed.ToString("F3");
tbJumpSpeed.Text = selectedParam.JumpSpeed.ToString("F3");
tbLaserOnDelay.Text = selectedParam.LaserOnDelay.ToString();
tbLaserOffDelay.Text = selectedParam.LaserOffDelay.ToString();
tbJumpDelay.Text = selectedParam.JumpDelay.ToString();
tbMarkDelay.Text = selectedParam.MarkDelay.ToString();
tbPolygonDelay.Text = selectedParam.PolygonDelay.ToString();
tbNumberOfCount.Text = selectedParam.NumberOfCount.ToString();
tbLaserPower1.Text = selectedParam.LaserPower1.ToString();
tbLaserPower2.Text = selectedParam.LaserPower2.ToString();
tbLaserFrequency.Text = selectedParam.LaserFrequency.ToString("F3");
tbLaserPulseDuration.Text = selectedParam.LaserPulseDuration.ToString("F3");
ckbWobbelEnabled.Checked = selectedParam.WobbelEnable;
tbWobbelTransversal.Text = selectedParam.WobbelTransversal.ToString("F3");
tbWobbelLongitudinal.Text = selectedParam.WobbelLongditudinal.ToString("F3");
tbWobbelFrequency.Text = selectedParam.WobbelFrequency.ToString("F3");
if (nudRampingStartPower.Maximum < Convert.ToDecimal(selectedParam.RampingStartPower))
nudRampingStartPower.Value = nudRampingStartPower.Maximum;
else if (nudRampingStartPower.Minimum > Convert.ToDecimal(selectedParam.RampingStartPower))
nudRampingStartPower.Value = nudRampingStartPower.Minimum;
else
nudRampingStartPower.Value = Convert.ToDecimal(selectedParam.RampingStartPower);
if (nudRampingStartDist.Maximum < Convert.ToDecimal(selectedParam.RampingStartDist))
nudRampingStartDist.Value = nudRampingStartDist.Maximum;
else if (nudRampingStartDist.Minimum > Convert.ToDecimal(selectedParam.RampingStartDist))
nudRampingStartDist.Value = nudRampingStartDist.Minimum;
else
nudRampingStartDist.Value = Convert.ToDecimal(selectedParam.RampingStartDist);
if (nudRampingEndPower.Maximum < Convert.ToDecimal(selectedParam.RampingEndPower))
nudRampingEndPower.Value = nudRampingEndPower.Maximum;
else if (nudRampingEndPower.Minimum > Convert.ToDecimal(selectedParam.RampingEndPower))
nudRampingEndPower.Value = nudRampingEndPower.Minimum;
else
nudRampingEndPower.Value = Convert.ToDecimal(selectedParam.RampingEndPower);
if (nudRampingEndDist.Maximum < Convert.ToDecimal(selectedParam.RampingEndDist))
nudRampingEndDist.Value = nudRampingEndDist.Maximum;
else if (nudRampingEndDist.Minimum > Convert.ToDecimal(selectedParam.RampingEndDist))
nudRampingEndDist.Value = nudRampingEndDist.Minimum;
else
nudRampingEndDist.Value = Convert.ToDecimal(selectedParam.RampingEndDist);
tbSpotShotTime.Text = selectedParam.SpotShotTime.ToString("F3");
if (nudArcRampingInterval.Maximum < Convert.ToDecimal(selectedParam.ArcRampingInterval))
nudArcRampingInterval.Value = nudArcRampingInterval.Maximum;
else if (nudArcRampingInterval.Minimum > Convert.ToDecimal(selectedParam.ArcRampingInterval))
nudArcRampingInterval.Value = nudArcRampingInterval.Minimum;
else
nudArcRampingInterval.Value = Convert.ToDecimal(selectedParam.ArcRampingInterval);
ckbSnowManEnabled.Checked = selectedParam.SnowManEnable;
cbWobbelShape.SelectedItem = selectedParam.WobbelShape;
labelColor.BackColor = selectedParam.Color;
ckbZigZagEnabled.Checked = selectedParam.ZigzagWobbelEnable;
checkBoxStartRampingSlopeMode.Checked = selectedParam.RampingStartSlopeMode;
checkBoxEndRampingSlopeMode.Checked = selectedParam.RampingEndSlopeMode;
cbLaserProgramNo.SelectedItem = selectedParam.LaserProgramNo;
checkBoxUsePowerProfile.Checked = selectedParam.UsePowerProfile;
textBoxPowerProfileID.Text = selectedParam.PowerProfileID.ToString();
}
private void DialogToScannerParam(int selectedScannerParamID)
{
try {
ScannerParam selectedParam = m_scannerParams[selectedScannerParamID - 1];
selectedParam.MarkSpeed = Convert.ToDouble(tbDrawSpeed.Text);
selectedParam.JumpSpeed = Convert.ToDouble(tbJumpSpeed.Text);
selectedParam.LaserOnDelay = Convert.ToInt32(tbLaserOnDelay.Text);
selectedParam.LaserOffDelay = Convert.ToUInt32(tbLaserOffDelay.Text);
selectedParam.JumpDelay = Convert.ToUInt32(tbJumpDelay.Text);
selectedParam.MarkDelay = Convert.ToUInt32(tbMarkDelay.Text);
selectedParam.PolygonDelay = Convert.ToUInt32(tbPolygonDelay.Text);
selectedParam.NumberOfCount = Convert.ToUInt32(tbNumberOfCount.Text);
selectedParam.LaserPower1 = Convert.ToUInt32(tbLaserPower1.Text);
selectedParam.LaserPower2 = Convert.ToUInt32(tbLaserPower2.Text);
selectedParam.SpotShotTime = Convert.ToDouble(tbSpotShotTime.Text);
selectedParam.LaserFrequency = Convert.ToDouble(tbLaserFrequency.Text);
selectedParam.LaserProgramNo = (ScannerParam.eProgramNo)cbLaserProgramNo.SelectedItem;
m_scannerParams[selectedScannerParamID - 1].LaserProgramNo = (ScannerParam.eProgramNo)cbLaserProgramNo.SelectedItem;
selectedParam.LaserPulseDuration = Convert.ToDouble(tbLaserPulseDuration.Text);
selectedParam.WobbelEnable = ckbWobbelEnabled.Checked;
selectedParam.WobbelFrequency = Convert.ToDouble(tbWobbelFrequency.Text);
selectedParam.WobbelTransversal = Convert.ToDouble(tbWobbelTransversal.Text);
selectedParam.WobbelLongditudinal = Convert.ToDouble(tbWobbelLongitudinal.Text);
selectedParam.RampingStartPower = Convert.ToUInt32(nudRampingStartPower.Value);
selectedParam.RampingStartDist = (double)nudRampingStartDist.Value;
selectedParam.RampingEndPower = Convert.ToUInt32(nudRampingEndPower.Value);
selectedParam.RampingEndDist = (double)nudRampingEndDist.Value;
selectedParam.ArcRampingInterval = (double)nudArcRampingInterval.Value;
selectedParam.SnowManEnable = ckbSnowManEnabled.Checked;
selectedParam.WobbelShape = (ScannerParam.eWobbelShape)cbWobbelShape.SelectedItem;
selectedParam.ZigzagWobbelEnable = ckbZigZagEnabled.Checked;
selectedParam.RampingEndSlopeMode = checkBoxEndRampingSlopeMode.Checked;
selectedParam.RampingStartSlopeMode = checkBoxStartRampingSlopeMode.Checked;
selectedParam.UsePowerProfile = checkBoxUsePowerProfile.Checked;
selectedParam.PowerProfileID = Convert.ToInt32(textBoxPowerProfileID.Text);
selectedParam.Color = labelColor.BackColor;
} catch {
UtilUnit.logUnit.SetLog(LogUnit.eLogType.ALARM, MethodBase.GetCurrentMethod().Name, "Please Check Value");
}
}
private void rbParam_CheckedChanged(object sender, EventArgs e)
{
RadioButton radioButton = (RadioButton)sender;
if (radioButton.Checked) {
m_selectedIndex = Convert.ToInt16(radioButton.Text.Split(' ')[1]);
ScannerParamToDialog(m_selectedIndex);
}
}
private void rbParamExt_CheckedChanged(object sender, EventArgs e)
{
RadioButton radioButton = (RadioButton)sender;
if (radioButton.Checked) {
cbParamExt.Enabled = true;
} else {
cbParamExt.Enabled = false;
}
}
private void cbParamExt_SelectedIndexChanged(object sender, EventArgs e)
{
m_selectedIndex = cbParamExt.SelectedIndex + 17;
ScannerParamToDialog(m_selectedIndex);
}
private void btnCopyParam_Click(object sender, EventArgs e)
{
btnPasteParam.Enabled = true;
m_copyParam = m_scannerParams[m_selectedIndex - 1].Clone();
}
private void btnPasteParam_Click(object sender, EventArgs e)
{
m_scannerParams[m_selectedIndex - 1] = m_copyParam.Clone();
ScannerParamToDialog(m_selectedIndex);
}
private void btnImport_Click(object sender, EventArgs e)
{
}
private void btnExport_Click(object sender, EventArgs e)
{
try {
SaveFileDialog dlg = new SaveFileDialog();
dlg.DefaultExt = "lsp";
dlg.Filter = "LASA Param 파일 (*.lsp)|*.lsp";
dlg.Title = "LASA Param 파일 저장";
if (dlg.ShowDialog() == DialogResult.OK) {
if (string.Equals(dlg.FileName.Substring(dlg.FileName.LastIndexOf(".")), ".lsp") == false) {
throw new Exception("ERR_MAIN_PAGE_NOT_LASA_TYPE_FILE");
}
SaveParam(dlg.FileName, m_selectedIndex);
}
} catch (Exception ex) {
UtilUnit.logUnit.SetLog(LogUnit.eLogType.ALARM, MethodBase.GetCurrentMethod().Name, ex.Message);
}
}
private void btnImportAll_Click(object sender, EventArgs e)
{
try {
OpenFileDialog dlg = new OpenFileDialog();
dlg.DefaultExt = "lsp";
dlg.Filter = "LASA Param 파일 (*.lsp)|*.lsp";
dlg.Title = "LASA Param 파일 열기";
if (dlg.ShowDialog() == DialogResult.OK) {
if (string.Equals(dlg.FileName.Substring(dlg.FileName.LastIndexOf(".")), ".lsp") == false) {
throw new Exception("ERR_MAIN_PAGE_NOT_LASA_TYPE_FILE");
}
LoadAllParam(dlg.FileName);
}
} catch (Exception ex) {
UtilUnit.logUnit.SetLog(LogUnit.eLogType.ALARM, MethodBase.GetCurrentMethod().Name, ex.Message);
}
}
private void btnExportAll_Click(object sender, EventArgs e)
{
try {
SaveFileDialog dlg = new SaveFileDialog();
dlg.DefaultExt = "lsp";
dlg.Filter = "LASA Param 파일 (*.lsp)|*.lsp";
dlg.Title = "LASA Param 파일 저장";
if (dlg.ShowDialog() == DialogResult.OK) {
if (string.Equals(dlg.FileName.Substring(dlg.FileName.LastIndexOf(".")), ".lsp") == false) {
throw new Exception("ERR_MAIN_PAGE_NOT_LASA_TYPE_FILE");
}
SaveAllParam(dlg.FileName);
}
} catch (Exception ex) {
UtilUnit.logUnit.SetLog(LogUnit.eLogType.ALARM, MethodBase.GetCurrentMethod().Name, ex.Message);
}
}
private void SaveParam(string fileName, int selectedIndex)
{
try {
XmlTextWriter wr = new XmlTextWriter(fileName, null);
wr.Formatting = Formatting.Indented;
wr.WriteStartElement("WeldingParameter");
wr.WriteStartElement("items");
wr.WriteStartElement("Param");
CoreUnit.Common.XmlUtil.WriteProperties(m_scannerParams[selectedIndex - 1], wr);
wr.WriteEndElement();
wr.WriteEndElement();
wr.WriteEndElement();
wr.Close();
} catch (Exception ex) {
throw ex;
}
}
public void SaveAllParam(string fileName)
{
try {
XmlTextWriter wr = new XmlTextWriter(fileName, null);
wr.Formatting = Formatting.Indented;
wr.WriteStartElement("WeldingParameter");
wr.WriteStartElement("items");
foreach (ScannerParam param in m_scannerParams) {
wr.WriteStartElement("Param");
CoreUnit.Common.XmlUtil.WriteProperties(param, wr);
wr.WriteEndElement();
}
wr.WriteEndElement();
wr.WriteEndElement();
wr.Close();
} catch (Exception ex) {
throw ex;
}
}
public void LoadAllParam(string fileName)
{
try {
FileInfo fi = new FileInfo(fileName);
StreamReader sr = new StreamReader(fileName);
XmlDocument doc = new XmlDocument();
doc.Load(sr);
sr.Dispose();
XmlElement root = doc.DocumentElement;
foreach (XmlElement node in root.ChildNodes) {
if (node.Name == "items") {
m_scannerParams.Clear();
foreach (XmlElement childnode in node.ChildNodes) {
Object param = new ScannerParam();
CoreUnit.Common.XmlUtil.ParseProperties(childnode, param);
m_scannerParams.Add((ScannerParam)param);
}
}
}
} catch (Exception ex) {
throw ex;
}
}
private void btnOk_Click(object sender, EventArgs e)
{
DialogToScannerParam(m_selectedIndex);
ScannerCanvasUserCtrl.ScannerParams.Clear();
foreach (ScannerParam param in m_scannerParams) {
ScannerParam copyParam = param;
ScannerParam orignalParam = copyParam.Clone();
WeldingParameterIDEditor.UpdateColorList(param.No, param.Color);
ScannerCanvasUserCtrl.ScannerParams.Add(orignalParam);
}
this.DialogResult = DialogResult.OK;
this.Close();
}
private void btnCancel_Click(object sender, EventArgs e)
{
this.DialogResult = DialogResult.Cancel;
this.Close();
}
private void textBoxScannerParam_Leave(object sender, EventArgs e)
{
try {
DialogToScannerParam(m_selectedIndex);
} catch {
MessageBox.Show("숫자 형식이 맞지 않습니다.");
}
}
private void btnOpenSnowManEditor_Click(object sender, EventArgs e)
{
SnowmanEditorDlg snowManEditorDlg = new SnowmanEditorDlg(m_selectedIndex);
if (DialogResult.OK == snowManEditorDlg.ShowDialog()) {
m_scannerParams[m_selectedIndex - 1] = ScannerCanvasUserCtrl.ScannerParams[m_selectedIndex - 1].Clone();
} else {
}
}
private void buttonSelectColor_Click(object sender, EventArgs e)
{
ColorDialog colorDlg = new ColorDialog();
if (colorDlg.ShowDialog() == DialogResult.OK) {
labelColor.BackColor = colorDlg.Color;
WeldingParameterIDEditor.UpdateColorList(m_selectedIndex - 1, colorDlg.Color);
DialogToScannerParam(m_selectedIndex);
switch (m_selectedIndex) {
case 1:
rbParam1.ForeColor = colorDlg.Color;
break;
case 2:
rbParam2.ForeColor = colorDlg.Color;
break;
case 3:
rbParam3.ForeColor = colorDlg.Color;
break;
case 4:
rbParam4.ForeColor = colorDlg.Color;
break;
case 5:
rbParam5.ForeColor = colorDlg.Color;
break;
case 6:
rbParam6.ForeColor = colorDlg.Color;
break;
case 7:
rbParam7.ForeColor = colorDlg.Color;
break;
case 8:
rbParam8.ForeColor = colorDlg.Color;
break;
case 9:
rbParam9.ForeColor = colorDlg.Color;
break;
case 10:
rbParam10.ForeColor = colorDlg.Color;
break;
case 11:
rbParam11.ForeColor = colorDlg.Color;
break;
case 12:
rbParam12.ForeColor = colorDlg.Color;
break;
case 13:
rbParam13.ForeColor = colorDlg.Color;
break;
case 14:
rbParam14.ForeColor = colorDlg.Color;
break;
case 15:
rbParam15.ForeColor = colorDlg.Color;
break;
case 16:
rbParam16.ForeColor = colorDlg.Color;
break;
default:
break;
}
}
}
private void btnOpenZigzagEditor_Click(object sender, EventArgs e)
{
ZigzagEditorDlg zigzagEditorDlg = new ZigzagEditorDlg(m_selectedIndex);
if (DialogResult.OK == zigzagEditorDlg.ShowDialog()) {
m_scannerParams[m_selectedIndex - 1] = ScannerCanvasUserCtrl.ScannerParams[m_selectedIndex - 1].Clone();
} else {
}
}
private void checkBoxStartRampingSlopeMode_CheckedChanged(object sender, EventArgs e)
{
}
private void checkBoxStartRampingSlopeMode_Click(object sender, EventArgs e)
{
try {
DialogToScannerParam(m_selectedIndex);
} catch {
MessageBox.Show("숫자 형식이 맞지 않습니다.");
}
}
private void checkBoxEndRampingSlopeMode_Click(object sender, EventArgs e)
{
try {
DialogToScannerParam(m_selectedIndex);
} catch {
MessageBox.Show("숫자 형식이 맞지 않습니다.");
}
}
private void ckbWobbelEnabled_Click(object sender, EventArgs e)
{
try {
DialogToScannerParam(m_selectedIndex);
} catch {
MessageBox.Show("숫자 형식이 맞지 않습니다.");
}
}
private void ckbSnowManEnabled_Click(object sender, EventArgs e)
{
try {
DialogToScannerParam(m_selectedIndex);
} catch {
MessageBox.Show("숫자 형식이 맞지 않습니다.");
}
}
private void ckbZigZagEnabled_Click(object sender, EventArgs e)
{
try {
DialogToScannerParam(m_selectedIndex);
} catch {
MessageBox.Show("숫자 형식이 맞지 않습니다.");
}
}
private void ckbWobbelEnabled_CheckedChanged(object sender, EventArgs e)
{
if (ckbWobbelEnabled.Checked) {
cbWobbelShape.Enabled = true;
tbWobbelFrequency.Enabled = true;
tbWobbelLongitudinal.Enabled = true;
tbWobbelTransversal.Enabled = true;
} else {
cbWobbelShape.Enabled = false;
tbWobbelFrequency.Enabled = false;
tbWobbelLongitudinal.Enabled = false;
tbWobbelTransversal.Enabled = false;
}
}
private void ckbSnowManEnabled_CheckedChanged(object sender, EventArgs e)
{
if (ckbSnowManEnabled.Checked) {
btnOpenSnowManEditor.Enabled = true;
} else {
btnOpenSnowManEditor.Enabled = false;
}
if (ckbSnowManEnabled.Checked || ckbZigZagEnabled.Checked) {
tbDrawSpeed.Enabled = false;
} else {
tbDrawSpeed.Enabled = true;
}
}
private void ckbZigZagEnabled_CheckedChanged(object sender, EventArgs e)
{
if (ckbZigZagEnabled.Checked) {
btnOpenZigzagEditor.Enabled = true;
} else {
btnOpenZigzagEditor.Enabled = false;
}
if (ckbSnowManEnabled.Checked || ckbZigZagEnabled.Checked) {
tbDrawSpeed.Enabled = false;
} else {
tbDrawSpeed.Enabled = true;
}
}
private void checkBoxUsePowerProfile_CheckedChanged(object sender, EventArgs e)
{
if (checkBoxUsePowerProfile.Checked) {
//nudRampingStartDist.Enabled = false;
//nudRampingStartPower.Enabled = false;
//nudRampingEndDist.Enabled = false;
//nudRampingEndPower.Enabled = false;
nudArcRampingInterval.Enabled = false;
checkBoxStartRampingSlopeMode.Enabled = false;
checkBoxEndRampingSlopeMode.Enabled = false;
textBoxPowerProfileID.Enabled = true;
} else {
//nudRampingStartDist.Enabled = true;
//nudRampingStartPower.Enabled = true;
//nudRampingEndDist.Enabled = true;
//nudRampingEndPower.Enabled = true;
nudArcRampingInterval.Enabled = true;
checkBoxStartRampingSlopeMode.Enabled = true;
checkBoxEndRampingSlopeMode.Enabled = true;
textBoxPowerProfileID.Enabled = false;
}
}
private void checkBoxUsePowerProfile_Click(object sender, EventArgs e)
{
try {
DialogToScannerParam(m_selectedIndex);
} catch {
MessageBox.Show("숫자 형식이 맞지 않습니다.");
}
}
private void textBoxPowerProfileID_Leave(object sender, EventArgs e)
{
try {
DialogToScannerParam(m_selectedIndex);
} catch {
MessageBox.Show("숫자 형식이 맞지 않습니다.");
}
}
private void cbLaserProgramNo_SelectedIndexChanged(object sender, EventArgs e)
{
try {
var selected = waveFormTable.GetWaveForm(cbLaserProgramNo.SelectedIndex);
if(selected != null) {
tbPRF0.Text = selected.PRF0;
tbPRFmax.Text = selected.PRFmax;
}
} catch {
MessageBox.Show("숫자 형식이 맞지 않습니다.");
}
}
}
}