using Aurora; using Aurora.Util.HislogPlus; using CoreUnit.Common; using CoreUnit.Control.UserControl.Canvas; using CoreUnit.Scanner.UserControl.ScannerCanvas; using System; using System.Collections.Generic; using System.IO; using System.Reflection; using System.Reflection.Emit; using System.Windows.Forms; using System.Xml; using static CoreUnit.Common.UtilUnit; namespace CoreUnit.Scanner.UserControl.Canvas.Dialog { public partial class WeldingParamDlg : FormBase { private eMachineName _MachineName; public WeldingParamDlg(eMachineName MachineName, int scannergParamNo, bool editMode = true) { _MachineName = MachineName; InitializeComponent(); 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)); ScannerParamToDialog(m_selectedIndex); InitializeDialog(m_selectedIndex, editMode); } 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; } //if(_MachineName == eMachineName.H52A_CCW || _MachineName == eMachineName.H52A_ACW || _MachineName == eMachineName.CIT) { label58.Text = _MachineName == eMachineName.H52A_CCW ? "(0~1500)" : "(0~4000)"; label31.Text = _MachineName == eMachineName.H52A_CCW ? "(0~2500)" : "(0~4000)"; label32.Text = "(0~10000)"; label17.Text = "(1~8000)"; label22.Enabled = _MachineName == eMachineName.H52A_CCW; tbLaserPower2.Enabled = _MachineName == eMachineName.H52A_CCW; label29.Enabled = _MachineName == eMachineName.H52A_CCW; label31.Enabled = _MachineName == eMachineName.H52A_CCW; // Ramping Start, End 구분 후 사용한다. Power 2번은 여전히 막아둠 //label68.Enabled = false; //label69.Enabled = false; //label71.Enabled = false; //label72.Enabled = false; //label73.Enabled = false; //label70.Enabled = false; nudRampingStartPower2.Enabled = false; nudRampingEndPower2.Enabled = false; #region Permission Checking // Engineer 이상 등급만 사용 가능 bool PermissionCheck = ApplicationExt.PermissionLevel <= (ushort)Aurora.Api.PermissionLevel.LEVEL3; label15.Enabled = PermissionCheck; label14.Enabled = PermissionCheck; label13.Enabled = PermissionCheck; label12.Enabled = PermissionCheck; label11.Enabled = PermissionCheck; label10.Enabled = PermissionCheck; label57.Enabled = PermissionCheck; label63.Enabled = PermissionCheck; label46.Enabled = PermissionCheck; label36.Enabled = PermissionCheck; label45.Enabled = PermissionCheck; label41.Enabled = PermissionCheck; nudRampingStartDist.Enabled = PermissionCheck; tbMarkDelay.Enabled = PermissionCheck; label62.Enabled = PermissionCheck; label16.Enabled = PermissionCheck; label17.Enabled = PermissionCheck; label18.Enabled = PermissionCheck; label23.Enabled = PermissionCheck; label24.Enabled = PermissionCheck; label25.Enabled = PermissionCheck; label58.Enabled = PermissionCheck; label42.Enabled = PermissionCheck; label35.Enabled = PermissionCheck; label34.Enabled = PermissionCheck; label51.Enabled = PermissionCheck; nudRampingEndDist.Enabled = PermissionCheck; tbDrawSpeed.Enabled = PermissionCheck; tbJumpSpeed.Enabled = PermissionCheck; tbLaserOnDelay.Enabled = PermissionCheck; tbLaserOffDelay.Enabled = PermissionCheck; tbJumpDelay.Enabled = PermissionCheck; tbPolygonDelay.Enabled = PermissionCheck; tbLaserPower1.Enabled = PermissionCheck; nudRampingStartPower1.Enabled = PermissionCheck; nudRampingEndPower1.Enabled = PermissionCheck; nudRampingStartAPower1.Enabled = PermissionCheck; nudRampingStartAPower2.Enabled = PermissionCheck; nudRampingStartADist.Enabled = PermissionCheck; label74.Enabled = PermissionCheck; label77.Enabled = PermissionCheck; label76.Enabled = PermissionCheck; label81.Enabled = PermissionCheck; label75.Enabled = PermissionCheck; label80.Enabled = PermissionCheck; label68.Enabled = PermissionCheck; label69.Enabled = PermissionCheck; label71.Enabled = PermissionCheck; label72.Enabled = PermissionCheck; //label73.Enabled = PermissionCheck; //label70.Enabled = PermissionCheck; label79.Enabled = PermissionCheck; label65.Enabled = PermissionCheck; label78.Enabled = PermissionCheck; nudRampingStartPower2.Visible = false; nudRampingEndPower2.Visible = false; #endregion //} //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; } //IME Mode를 Disable로 해서 alt + 조합 단축키로 인한 숫자 이상 입력 못하게 변경 //대신에 한글도 안써짐(오히려 좋음) IMEDisable(); } List m_scannerParams = new List(); 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"); tbLaserDuty.Text = selectedParam.LaserDuty.ToString(); 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 (nudRampingStartAPower1.Maximum < Convert.ToDecimal(selectedParam.RampingStartAPower1)) nudRampingStartAPower1.Value = nudRampingStartAPower1.Maximum; else if (nudRampingStartAPower1.Minimum > Convert.ToDecimal(selectedParam.RampingStartAPower1)) nudRampingStartAPower1.Value = nudRampingStartAPower1.Minimum; else nudRampingStartAPower1.Value = Convert.ToDecimal(selectedParam.RampingStartAPower1); if (nudRampingStartAPower2.Maximum < Convert.ToDecimal(selectedParam.RampingStartAPower2)) nudRampingStartAPower2.Value = nudRampingStartAPower2.Maximum; else if (nudRampingStartAPower2.Minimum > Convert.ToDecimal(selectedParam.RampingStartAPower2)) nudRampingStartAPower2.Value = nudRampingStartAPower2.Minimum; else nudRampingStartAPower2.Value = Convert.ToDecimal(selectedParam.RampingStartAPower2); if (nudRampingStartADist.Maximum < Convert.ToDecimal(selectedParam.RampingStartADist)) nudRampingStartADist.Value = nudRampingStartADist.Maximum; else if (nudRampingStartADist.Minimum > Convert.ToDecimal(selectedParam.RampingStartADist)) nudRampingStartADist.Value = nudRampingStartADist.Minimum; else nudRampingStartADist.Value = Convert.ToDecimal(selectedParam.RampingStartADist); if (nudRampingStartPower1.Maximum < Convert.ToDecimal(selectedParam.RampingStartPower1)) nudRampingStartPower1.Value = nudRampingStartPower1.Maximum; else if (nudRampingStartPower1.Minimum > Convert.ToDecimal(selectedParam.RampingStartPower1)) nudRampingStartPower1.Value = nudRampingStartPower1.Minimum; else nudRampingStartPower1.Value = Convert.ToDecimal(selectedParam.RampingStartPower1); if (nudRampingStartPower2.Maximum < Convert.ToDecimal(selectedParam.RampingStartPower2)) nudRampingStartPower2.Value = nudRampingStartPower2.Maximum; else if (nudRampingStartPower2.Minimum > Convert.ToDecimal(selectedParam.RampingStartPower2)) nudRampingStartPower2.Value = nudRampingStartPower2.Minimum; else nudRampingStartPower2.Value = Convert.ToDecimal(selectedParam.RampingStartPower2); 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 (nudRampingEndPower1.Maximum < Convert.ToDecimal(selectedParam.RampingEndPower1)) nudRampingEndPower1.Value = nudRampingEndPower1.Maximum; else if (nudRampingEndPower1.Minimum > Convert.ToDecimal(selectedParam.RampingEndPower1)) nudRampingEndPower1.Value = nudRampingEndPower1.Minimum; else nudRampingEndPower1.Value = Convert.ToDecimal(selectedParam.RampingEndPower1); if (nudRampingEndPower2.Maximum < Convert.ToDecimal(selectedParam.RampingEndPower2)) nudRampingEndPower2.Value = nudRampingEndPower2.Maximum; else if (nudRampingEndPower2.Minimum > Convert.ToDecimal(selectedParam.RampingEndPower2)) nudRampingEndPower2.Value = nudRampingEndPower2.Minimum; else nudRampingEndPower2.Value = Convert.ToDecimal(selectedParam.RampingEndPower2); 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 (nudRampingInterval.Maximum < Convert.ToDecimal(selectedParam.RampingInterval)) nudRampingInterval.Value = nudRampingInterval.Maximum; else if (nudRampingInterval.Minimum > Convert.ToDecimal(selectedParam.RampingInterval)) nudRampingInterval.Value = nudRampingInterval.Minimum; else nudRampingInterval.Value = Convert.ToDecimal(selectedParam.RampingInterval); ckbSnowManEnabled.Checked = selectedParam.SnowManEnable; cbWobbelShape.SelectedItem = selectedParam.WobbelShape; labelColor.BackColor = selectedParam.Color; ckbZigZagEnabled.Checked = selectedParam.ZigzagWobbelEnable; //checkBoxStartRampingSlopeMode.Checked = selectedParam.RampingStartSlopeMode; //checkBoxEndRampingSlopeMode.Checked = selectedParam.RampingEndSlopeMode; //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.LaserDuty = Convert.ToUInt32(tbLaserDuty.Text); 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.RampingStartAPower1 = Convert.ToUInt32(nudRampingStartAPower1.Value); selectedParam.RampingStartAPower2 = Convert.ToUInt32(nudRampingStartAPower2.Value); selectedParam.RampingStartADist = (double)nudRampingStartADist.Value; selectedParam.RampingStartPower1 = Convert.ToUInt32(nudRampingStartPower1.Value); selectedParam.RampingStartPower2 = Convert.ToUInt32(nudRampingStartPower2.Value); selectedParam.RampingStartDist = (double)nudRampingStartDist.Value; selectedParam.RampingEndPower1 = Convert.ToUInt32(nudRampingEndPower1.Value); selectedParam.RampingEndPower2 = Convert.ToUInt32(nudRampingEndPower2.Value); selectedParam.RampingEndDist = (double)nudRampingEndDist.Value; selectedParam.RampingInterval = (double)nudRampingInterval.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(); bool Result = false; for (int i = 0; i < m_scannerParams.Count; i++) { Result = m_scannerParams[i].RampingStartDist + m_scannerParams[i].RampingEndDist + m_scannerParams[i].RampingStartADist > 100.0; if (Result) { MessageBox.Show($"Parameter Update Fail.. Parameter No : {i + 1}"); return; } } 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; nudRampingStartPower1.Enabled = false; nudRampingStartPower2.Enabled = false; nudRampingEndDist.Enabled = false; nudRampingEndPower1.Enabled = false; nudRampingEndPower2.Enabled = false; nudRampingInterval.Enabled = false; checkBoxStartRampingSlopeMode.Enabled = false; checkBoxEndRampingSlopeMode.Enabled = false; textBoxPowerProfileID.Enabled = true; } else { nudRampingStartDist.Enabled = true; nudRampingStartPower1.Enabled = true; nudRampingStartPower2.Enabled = true; nudRampingEndDist.Enabled = true; nudRampingEndPower1.Enabled = true; nudRampingEndPower2.Enabled = true; nudRampingInterval.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 IMEDisable() { tbDrawSpeed.ImeMode = ImeMode.Disable; tbJumpSpeed.ImeMode = ImeMode.Disable; tbLaserOnDelay.ImeMode = ImeMode.Disable; tbLaserOffDelay.ImeMode = ImeMode.Disable; tbJumpDelay.ImeMode = ImeMode.Disable; tbMarkDelay.ImeMode = ImeMode.Disable; tbPolygonDelay.ImeMode = ImeMode.Disable; tbNumberOfCount.ImeMode = ImeMode.Disable; tbSpotShotTime.ImeMode = ImeMode.Disable; tbLaserPower1.ImeMode = ImeMode.Disable; tbLaserPower2.ImeMode = ImeMode.Disable; tbLaserFrequency.ImeMode = ImeMode.Disable; tbLaserPulseDuration.ImeMode = ImeMode.Disable; tbLaserDuty.ImeMode = ImeMode.Disable; tbWobbelTransversal.ImeMode = ImeMode.Disable; tbWobbelLongitudinal.ImeMode = ImeMode.Disable; tbWobbelFrequency.ImeMode = ImeMode.Disable; nudRampingStartAPower1.ImeMode = ImeMode.Disable; nudRampingStartAPower2.ImeMode = ImeMode.Disable; nudRampingStartADist.ImeMode = ImeMode.Disable; nudRampingStartPower1.ImeMode = ImeMode.Disable; nudRampingStartPower2.ImeMode = ImeMode.Disable; nudRampingStartDist.ImeMode = ImeMode.Disable; nudRampingEndPower1.ImeMode = ImeMode.Disable; nudRampingEndPower2.ImeMode = ImeMode.Disable; nudRampingEndDist.ImeMode = ImeMode.Disable; nudRampingInterval.ImeMode = ImeMode.Disable; } } }