فهرست منبع

样品台编辑器增加另存功能

cxs 1 سال پیش
والد
کامیت
5ea2f3735b

+ 1 - 25
Bin/x64/Debug/Config/SysData/OTSStage.stg

@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<XMLData Modify="true" PathName=".\Config\SysData\OTSStage.stg" WorkingStageId="3">
+<XMLData Modify="true" PathName=".\Config\SysData\OTSStage.stg" WorkingStageId="4">
   <Collection RegName="Stagelist">
     <Member strName="圆形九圆孔50mm">
       <Member RegName="boundary" PolygonPoint="" rectDomian="0,0,50000,0" shape="0:ROUND" />
@@ -78,29 +78,5 @@
         <Member HoleName="18" rectDomian="-14500,-24500,12000,0" shape="0" />
       </Collection>
     </Member>
-    <Member strName="Apero">
-      <Member RegName="boundary" PolygonPoint="" rectDomian="0,0,130000,120000" shape="1:RECTANGLE" />
-      <Member RegName="std" PolygonPoint="" rectDomian="6300,0,2,0" shape="0:ROUND" />
-      <Collection RegName="Holes">
-        <Member HoleName="9" rectDomian="0,0,10000,0" shape="0" />
-        <Member HoleName="2" rectDomian="0,25000,10000,0" shape="0" />
-        <Member HoleName="3" rectDomian="-15000,25000,10000,0" shape="0" />
-        <Member HoleName="1" rectDomian="15000,25500,10000,0" shape="0" />
-        <Member HoleName="4" rectDomian="22000,13000,10000,0" shape="0" />
-        <Member HoleName="5" rectDomian="7000,13000,10000,0" shape="0" />
-        <Member HoleName="6" rectDomian="-7500,13000,10000,0" shape="0" />
-        <Member HoleName="7" rectDomian="-22500,13000,10000,0" shape="0" />
-        <Member HoleName="8" rectDomian="14000,0,10000,0" shape="0" />
-        <Member HoleName="10" rectDomian="-15000,0,10000,0" shape="0" />
-        <Member HoleName="11" rectDomian="-30000,0,10000,0" shape="0" />
-        <Member HoleName="12" rectDomian="22000,-12500,10000,0" shape="0" />
-        <Member HoleName="13" rectDomian="7000,-12500,10000,0" shape="0" />
-        <Member HoleName="14" rectDomian="-7500,-12500,10000,0" shape="0" />
-        <Member HoleName="15" rectDomian="-22500,-12500,10000,0" shape="0" />
-        <Member HoleName="16" rectDomian="14500,-24500,10000,0" shape="0" />
-        <Member HoleName="17" rectDomian="-500,-24500,10000,0" shape="0" />
-        <Member HoleName="18" rectDomian="-14500,-24500,10000,0" shape="0" />
-      </Collection>
-    </Member>
   </Collection>
 </XMLData>

+ 1 - 1
OTSIncAMeasureApp/3-OTSDisplaySourceGridData/OTSPropertyWindow.cs

@@ -360,7 +360,7 @@ namespace OTSMeasureApp
             m_cotsprogmgrparamfile.SetGenParam(m_cgenparam);
             if (m_cotsprogmgrparamfile.SaveInfoToProgMgrFile())
             {
-                MessageBox.Show("Already saved!", "Tip");
+                //MessageBox.Show("Already saved!", "Tip");
             }
         }
 

+ 17 - 2
OTSIncAMeasureApp/7-OTSProgMgrInfo/Stage/DlgStageEdit.Designer.cs

@@ -71,6 +71,7 @@ namespace OTSMeasureApp._7_OTSProgMgrInfo.Stage
             this.button_Coordinate = new System.Windows.Forms.Button();
             this.btn_reght90 = new System.Windows.Forms.Button();
             this.btn_left90 = new System.Windows.Forms.Button();
+            this.btn_new = new System.Windows.Forms.Button();
             ((System.ComponentModel.ISupportInitialize)(this.m_ctrlStagePicture)).BeginInit();
             this.groupBox1.SuspendLayout();
             this.groupBox2.SuspendLayout();
@@ -492,10 +493,10 @@ namespace OTSMeasureApp._7_OTSProgMgrInfo.Stage
             // button_Ok
             // 
             this.button_Ok.Enabled = false;
-            this.button_Ok.Location = new System.Drawing.Point(1005, 584);
+            this.button_Ok.Location = new System.Drawing.Point(1065, 586);
             this.button_Ok.Margin = new System.Windows.Forms.Padding(2);
             this.button_Ok.Name = "button_Ok";
-            this.button_Ok.Size = new System.Drawing.Size(118, 30);
+            this.button_Ok.Size = new System.Drawing.Size(58, 30);
             this.button_Ok.TabIndex = 21;
             this.button_Ok.Text = "保存";
             this.button_Ok.UseVisualStyleBackColor = true;
@@ -536,11 +537,24 @@ namespace OTSMeasureApp._7_OTSProgMgrInfo.Stage
             this.btn_left90.UseVisualStyleBackColor = true;
             this.btn_left90.Click += new System.EventHandler(this.btn_left90_Click);
             // 
+            // btn_new
+            // 
+            this.btn_new.Enabled = false;
+            this.btn_new.Location = new System.Drawing.Point(1003, 586);
+            this.btn_new.Margin = new System.Windows.Forms.Padding(2);
+            this.btn_new.Name = "btn_new";
+            this.btn_new.Size = new System.Drawing.Size(58, 30);
+            this.btn_new.TabIndex = 25;
+            this.btn_new.Text = "新建";
+            this.btn_new.UseVisualStyleBackColor = true;
+            this.btn_new.Click += new System.EventHandler(this.btn_new_Click);
+            // 
             // DlgStageEdit
             // 
             this.AutoScaleDimensions = new System.Drawing.SizeF(96F, 96F);
             this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Dpi;
             this.ClientSize = new System.Drawing.Size(1127, 625);
+            this.Controls.Add(this.btn_new);
             this.Controls.Add(this.btn_left90);
             this.Controls.Add(this.btn_reght90);
             this.Controls.Add(this.button_Coordinate);
@@ -627,5 +641,6 @@ namespace OTSMeasureApp._7_OTSProgMgrInfo.Stage
         private System.Windows.Forms.Button button_Coordinate;
         private System.Windows.Forms.Button btn_reght90;
         private System.Windows.Forms.Button btn_left90;
+        private System.Windows.Forms.Button btn_new;
     }
 }

+ 50 - 19
OTSIncAMeasureApp/7-OTSProgMgrInfo/Stage/DlgStageEdit.cs

@@ -23,6 +23,7 @@ namespace OTSMeasureApp._7_OTSProgMgrInfo.Stage
         OTSCommon.Language lan;
         System.Collections.Hashtable hashtable;
         List<string> StageNames = new List<string>();
+        string StageN = "";
         public DlgStageEdit(List<string> a_StageNames)
         {
             InitializeComponent();
@@ -71,7 +72,8 @@ namespace OTSMeasureApp._7_OTSProgMgrInfo.Stage
             }
             SetHelp();
 
-            StageNames.Remove(tStageName.Text.Trim());
+            StageNames.Remove(tStageName.Text);
+            StageN = tStageName.Text;
         }
         void SetHelp()
         {
@@ -228,24 +230,24 @@ namespace OTSMeasureApp._7_OTSProgMgrInfo.Stage
             this.cmb_Temp.Visible = false;
         }
 
-        private void button_Generate_Click(object sender, EventArgs e)
-        {
-            if(StageNames.Contains(tStageName.Text.Trim()))
+        bool CheckAndSetStage()
+        { 
+            if(StageNames.Contains(tStageName.Text))
             {
                 MessageBox.Show("Already exist " + tStageName.Text.Trim() + "!", "Error");
-                return;
+                return false;
             }
             if (!CheckParams())
             {
                 this.button_Ok.Enabled = false;
                 MessageBox.Show("Please check Params!");
-                return;
+                return false;
             }
             if (tBoundaryWide.Text == "1" || tBoundaryHeight.Text == "1" || tStandardsampleWide.Text == "1" || tStandardsampleHeight.Text == "1")
             {
                 this.button_Ok.Enabled = false;
                 MessageBox.Show("The length value cannot be 1!");
-                return;
+                return false;
             }
             for (int i = 0; i < dataGridView_Holes.Rows.Count; i++)
             {
@@ -255,7 +257,7 @@ namespace OTSMeasureApp._7_OTSProgMgrInfo.Stage
                     {
                         this.button_Ok.Enabled = false;
                         MessageBox.Show("The length value cannot be 1!");
-                        return;
+                        return false;
                     }
                 }
             }
@@ -326,25 +328,25 @@ namespace OTSMeasureApp._7_OTSProgMgrInfo.Stage
             // name should be ok
             if (pBoundary == null)
             {
-                return ;
+                return false;
             }
             if (pBoundary.IsInvalid())
             {
                 // boundary is invalid
-                return ;
+                return false;
             }
             if (pSTD != null)
             {
-                // STD has to be inside of the boundary
-                if (!pBoundary.DomainInDomain(pSTD))
-                {
-                    MessageBox.Show("STD is over the boundary!");
-                    return;
-                }
+                // STD has to be inside of the boundary由于计算准确性问题,此项暂时去除
+                //if (!pBoundary.DomainInDomain(pSTD))
+                //{
+                //    MessageBox.Show("STD is over the boundary!");
+                //    return false;
+                //}
             }
             else
             {
-                return;
+                return false;
             }
 
             // hole has to be inside of the boundary and can't have common part with STD and each other
@@ -383,7 +385,7 @@ namespace OTSMeasureApp._7_OTSProgMgrInfo.Stage
             if (listStageHoles.Count == 0)
             {
                 // no hole at all
-                return ;
+                return false;
             }
 
             // the stage is in SEM coordinate system, convert all components to OTS system 
@@ -391,7 +393,7 @@ namespace OTSMeasureApp._7_OTSProgMgrInfo.Stage
             {
                 if (!a_pCSEMStageData.ConverSEMToOTSSystem(pBoundary, pSTD, listStageHoles))
                 {
-                    return ;
+                    return false;
                 }
             }
 
@@ -399,10 +401,20 @@ namespace OTSMeasureApp._7_OTSProgMgrInfo.Stage
             Stage.SetBoundary(pBoundary);
             Stage.SetSTD(pSTD);
             Stage.SetHoleList(listStageHoles, true);
+            return true;
+        }
+
+        private void button_Generate_Click(object sender, EventArgs e)
+        {
+            if(!CheckAndSetStage())
+            {
+                return;
+            }
             DrawStage();
             btn_reght90.Enabled = true;
             btn_left90.Enabled = true;
             this.button_Ok.Enabled = true;
+            btn_new.Enabled = true;
         }
 
         public void DrawStage()
@@ -484,6 +496,10 @@ namespace OTSMeasureApp._7_OTSProgMgrInfo.Stage
 
         private void button_Ok_Click(object sender, EventArgs e)
         {
+            if (!CheckAndSetStage())
+            {
+                return;
+            }
             this.DialogResult = DialogResult.OK;
             this.Close();
         }
@@ -666,5 +682,20 @@ namespace OTSMeasureApp._7_OTSProgMgrInfo.Stage
 
             button_Generate_Click(null, null);
         }
+
+        private void btn_new_Click(object sender, EventArgs e)
+        {
+            if(StageN.Trim()== tStageName.Text.Trim())
+            {
+                MessageBox.Show("Already exist " + tStageName.Text.Trim() + "!", "Error");
+                return;
+            }
+            if (!CheckAndSetStage())
+            {
+                return;
+            }
+            this.DialogResult = DialogResult.No;
+            this.Close();
+        }
     }
 }

+ 10 - 22
OTSIncAMeasureApp/7-OTSProgMgrInfo/Stage/DlgStageMgr.cs

@@ -317,24 +317,8 @@ namespace OTSModelSharp.Measure.GetStageInfo
 
         public void UpdateStageFileData(bool a_bUpdateData/* = TRUE*/)
         {
-            if (a_bUpdateData)
-            {
-                UpdateData(true);
-            }
-
-           
-                // if there is sample on the stage, the working stage can't be changed.
-                m_pStageFile.SetWorkingStageId(m_nListBoxStageListIndex);
-           
-
-
-        }
-
-        public bool UpdateData(bool bSaveAndValidate)
-        {
-
-            return true;
-
+            // if there is sample on the stage, the working stage can't be changed.
+            m_pStageFile.SetWorkingStageId(m_nListBoxStageListIndex);
         }
 
         public void DrawStage()
@@ -514,8 +498,8 @@ namespace OTSModelSharp.Measure.GetStageInfo
                 StageNames.Add(it.ToString());
             }
             DlgStageEdit dlgStageEdit = new DlgStageEdit(m_pStageFile.GetStagesList()[m_ctrlListBoxStageList.SelectedIndex], StageNames);
-
-            if (dlgStageEdit.ShowDialog() == DialogResult.OK)
+            DialogResult dialogResult = dlgStageEdit.ShowDialog();
+            if (dialogResult == DialogResult.OK)
             {
                 List<CStage> cli = m_pStageFile.GetStagesList();
                 cli[m_ctrlListBoxStageList.SelectedIndex]=dlgStageEdit.Stage;
@@ -523,9 +507,13 @@ namespace OTSModelSharp.Measure.GetStageInfo
                 m_pStageFile.SetModify(true);
                 SetStageListControlData();
             }
-            else
+            else if(dialogResult == DialogResult.No)
             {
-
+                List<CStage> cli = m_pStageFile.GetStagesList();
+                cli.Add(dlgStageEdit.Stage);
+                //m_pStageFile.SetStagesList(cli, true);
+                m_pStageFile.SetModify(true);
+                SetStageListControlData();
             }
         }