ReferenceLibrary.cs 22 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513
  1. using OTS.WinFormsUI.Docking;
  2. using SpectrumSTDEditor.BaseClass;
  3. using System;
  4. using System.Collections.Generic;
  5. using System.Data;
  6. using System.Windows.Forms;
  7. namespace SpectrumSTDEditor
  8. {
  9. public partial class ReferenceLibrary : DockContent
  10. {
  11. public SubMidWindow m_SubMidWindow = null;
  12. protected SourceGrid.Cells.Views.Cell m_CellGroupType = null;
  13. public Dictionary<int, STDdata> ReferenceDictionary = new Dictionary<int, STDdata>();
  14. System.Collections.Hashtable table_ReferenceLibrary;
  15. Dictionary<int, string> ReferenceGroup = new Dictionary<int, string>();
  16. List<STDEditor.STDXray> ReferenceXrayList = null;
  17. byte[] ReferencexrayByteData = null;
  18. public ReferenceLibrary(SubMidWindow SubMidWindow)
  19. {
  20. InitializeComponent();
  21. m_SubMidWindow = SubMidWindow;
  22. }
  23. private void InitGrid()
  24. {
  25. int iColumnWidth = 20; // 第一列的宽度
  26. int width = this.Width;
  27. PropGrid.Redim(1, 10);
  28. PropGrid.Columns.SetWidth(0, iColumnWidth);
  29. PropGrid.Columns.AutoSizeColumn(2); // 固定进度条
  30. PropGrid.Columns.SetWidth(2, 1 * (width - iColumnWidth) / 30);
  31. PropGrid.Columns.SetWidth(3, 1 * (width - iColumnWidth) / 30);
  32. PropGrid.Columns.SetWidth(4, 25 * (width - iColumnWidth) / 30);
  33. PropGrid.Columns.SetWidth(5, 1 * (width - iColumnWidth) / 30);
  34. PropGrid.Columns.SetWidth(6, 1 * (width - iColumnWidth) / 30);
  35. PropGrid.Columns.SetWidth(7, 2 * (width - iColumnWidth) / 30);
  36. PropGrid.Columns.SetWidth(8, 3 * (width - iColumnWidth) / 30);
  37. PropGrid.Columns.SetWidth(9, 5 * (width - iColumnWidth) / 30);
  38. PropGrid.AutoStretchColumnsToFitWidth = true;
  39. // 创建列标题
  40. if (null == PropGrid[0, 1])
  41. {
  42. List<String> listColName = new List<string>();
  43. if (m_SubMidWindow.m_MainForm.lan.GetNameTable("Form_Main")["language"].ToString() == "ZH")
  44. {
  45. listColName.Add("规则名称");
  46. listColName.Add("中文名");
  47. listColName.Add("颜色");
  48. listColName.Add("硬度");
  49. listColName.Add("密度");
  50. listColName.Add("BSE");
  51. listColName.Add("化学式");
  52. listColName.Add("元素");
  53. }
  54. else
  55. {
  56. listColName.Add("Rule Name");
  57. listColName.Add("ChineseName");
  58. listColName.Add("Color");
  59. listColName.Add("Hardness");
  60. listColName.Add("Density");
  61. listColName.Add("BSE");
  62. listColName.Add("Formula");
  63. listColName.Add("Element");
  64. }
  65. for (int i = 0; i < listColName.Count; i++)
  66. {
  67. if (null == PropGrid[0, 1 + i])
  68. {
  69. PropGrid[0, 1 + i] = new SourceGrid.Cells.Cell(listColName[i]);
  70. }
  71. else
  72. {
  73. PropGrid[0, 1 + i].Value = listColName[i];
  74. }
  75. }
  76. PropGrid.FixedRows = 1; // 第一行是列标题不可以滚动
  77. PropGrid.Selection.EnableMultiSelection = false;
  78. PropGrid.Refresh();
  79. }
  80. }
  81. private void ComparativeLibrary_Load(object sender, EventArgs e)
  82. {
  83. m_SubMidWindow.m_MainForm.lan = new Language(this);
  84. table_ReferenceLibrary = m_SubMidWindow.m_MainForm.lan.GetNameTable("ReferenceLibrary");
  85. InitGrid();
  86. }
  87. bool LoadClassifyToDictionary(string DBAddress, ref Dictionary<int, STDdata> STDDictionary)
  88. {
  89. try
  90. {
  91. System.Data.SQLite.SQLiteConnection m_dbConnection = new System.Data.SQLite.SQLiteConnection("data source='" + DBAddress + "'");
  92. m_dbConnection.Open();
  93. //加载STD信息
  94. System.Data.SQLite.SQLiteDataAdapter m_dataAdapter = new System.Data.SQLite.SQLiteDataAdapter("select * from STDMinerals", m_dbConnection);
  95. DataSet ds = new DataSet();
  96. m_dataAdapter.Fill(ds);
  97. DataTable dt = ds.Tables[0];
  98. ReferenceGroup.Clear();
  99. STDDictionary.Clear();
  100. if (dt != null)
  101. {
  102. if (dt.Rows.Count > 0)
  103. {
  104. foreach (DataRow item in dt.Rows)
  105. {
  106. STDdata new_STDdata = new STDdata();
  107. new_STDdata.Hardness = item["rigiditymod"].ToString();
  108. new_STDdata.Density = item["density"].ToString();
  109. new_STDdata.BSE = item["BSEValue"].ToString();
  110. new_STDdata.Formula = item["formula"].ToString();
  111. new_STDdata.Element = item["element"].ToString();
  112. new_STDdata.StrName = item["name"].ToString();
  113. new_STDdata.Color = item["color"].ToString();
  114. new_STDdata.ChineseName = item["chinesename"].ToString();
  115. new_STDdata.XrayData = (byte[])item["SPEC"];
  116. STDDictionary.Add(int.Parse(item["id"].ToString()), new_STDdata);
  117. }
  118. }
  119. }
  120. //加载Xray信息
  121. System.Data.SQLite.SQLiteDataAdapter m_dataAdapterXray = new System.Data.SQLite.SQLiteDataAdapter("select Id,SPEC from STDMinerals", m_dbConnection);
  122. DataSet dsXray = new DataSet();
  123. m_dataAdapterXray.Fill(dsXray);
  124. DataTable dtXray = dsXray.Tables[0];
  125. ReferenceXrayList = new List<STDEditor.STDXray>();
  126. if (dtXray != null)
  127. {
  128. if (dtXray.Rows.Count > 0)
  129. {
  130. foreach (DataRow item in dtXray.Rows)
  131. {
  132. STDEditor.STDXray sXray = new STDEditor.STDXray();
  133. sXray.StdID = item["Id"].ToString();
  134. sXray.XrayData = (byte[])item["SPEC"];
  135. ReferenceXrayList.Add(sXray);
  136. }
  137. }
  138. }
  139. return true;
  140. }
  141. catch (Exception)
  142. {
  143. MessageBox.Show("Reference library format error, please open the correct reference library!", "Tip");
  144. return false;
  145. }
  146. }
  147. void AddDataToRefereceLiberary(Dictionary<int, STDdata> RefDictionary)
  148. {
  149. PropGrid.Redim(RefDictionary.Count+1, 9);
  150. int i = 1;
  151. foreach (KeyValuePair<int, STDdata> kv in RefDictionary)
  152. {
  153. if (null == PropGrid[i, 0])
  154. {
  155. PropGrid[i, 0] = new SourceGrid.Cells.CheckBox(null, false);
  156. SourceGrid.Cells.Controllers.CheckBox clickEvent = new SourceGrid.Cells.Controllers.CheckBox();
  157. clickEvent.CheckedChanged += new EventHandler(clickEvent_Click);
  158. PropGrid[i, 0].AddController(clickEvent);
  159. }
  160. else
  161. {
  162. PropGrid[i, 0].Value = false;
  163. }
  164. PropGrid.Rows[i].Height = 25;
  165. PropGrid.Rows[i].Tag = kv.Key;
  166. PropGrid[i, 1] = new SourceGrid.Cells.Cell(kv.Value.StrName, typeof(string));
  167. PropGrid[i, 1].Tag = kv.Key;
  168. PropGrid[i, 2] = new SourceGrid.Cells.Cell(kv.Value.ChineseName, typeof(string));
  169. PropGrid[i, 3] = new SourceGrid.Cells.Cell("", typeof(string));
  170. SourceGrid.Cells.Views.Cell view = new SourceGrid.Cells.Views.Cell();
  171. view.BackColor = shareFunction.string10ToColor(kv.Value.Color);
  172. PropGrid[i, 3].View = view;
  173. PropGrid[i, 4] = new SourceGrid.Cells.Cell(kv.Value.Hardness, typeof(string));
  174. PropGrid[i, 5] = new SourceGrid.Cells.Cell(kv.Value.Density, typeof(string));
  175. PropGrid[i, 6] = new SourceGrid.Cells.Cell(kv.Value.BSE, typeof(string));
  176. PropGrid[i, 7] = new SourceGrid.Cells.Cell(kv.Value.Formula, typeof(string));
  177. PropGrid[i, 8] = new SourceGrid.Cells.Cell(kv.Value.Element, typeof(string));
  178. i++;
  179. }
  180. PropGrid.AutoSizeCells();
  181. int iColumnWidth = 45; // 第一列的宽度
  182. int width = this.Width;
  183. PropGrid.Columns.SetWidth(0, iColumnWidth);
  184. PropGrid.Columns.SetWidth(3, 1 * (width - iColumnWidth) / 20);
  185. //PropGrid.Columns.SetWidth(3, 25 * (width - iColumnWidth) / 30);
  186. //PropGrid.Columns.SetWidth(4, 3 * (width - iColumnWidth) / 30);
  187. //PropGrid.Columns.SetWidth(5, 1 * (width - iColumnWidth) / 30);
  188. //PropGrid.Columns.SetWidth(6, 1 * (width - iColumnWidth) / 30);
  189. //PropGrid.Columns.SetWidth(7, 2 * (width - iColumnWidth) / 30);
  190. //PropGrid.Columns.SetWidth(8, 1 * (width - iColumnWidth) / 30);
  191. //PropGrid.Columns.SetWidth(9, 3 * (width - iColumnWidth) / 30);
  192. //PropGrid.Columns.SetWidth(10, 10 * (width - iColumnWidth) / 30);
  193. for (int ro = 0; ro < PropGrid.RowsCount; ro++)
  194. {
  195. PropGrid.Rows.SetHeight(ro,25);
  196. }
  197. for (int col = 1; col < PropGrid.ColumnsCount; col++)
  198. {
  199. for (int ro = 0; ro < PropGrid.RowsCount; ro++)
  200. {
  201. PropGrid[ro,col].AddController(SourceGrid.Cells.Controllers.Unselectable.Default);
  202. }
  203. }
  204. PropGrid.Refresh();
  205. //为修改bug 第一次点击sourcegrid滚动界面时,取数不准问题(载入数据时将第一次点击落在1,0单元格)
  206. if (PropGrid[1,0] != null)
  207. {
  208. SourceGrid.Position pos = new SourceGrid.Position(1, 0);
  209. PropGrid.Selection.Focus(pos, true);
  210. }
  211. }
  212. public void MakeCheckboxUnchecked()
  213. {
  214. for (int i = 1; i < PropGrid.RowsCount; i++)
  215. {
  216. if ((bool)PropGrid[i, 0].Value == true)
  217. {
  218. PropGrid[i, 0].Value = false;
  219. }
  220. }
  221. }
  222. private void clickEvent_Click(object sender, EventArgs e)
  223. {
  224. int t = PropGrid.Selection.ActivePosition.Column;
  225. if (t == 0)//选择事件
  226. {
  227. if ((bool)PropGrid[PropGrid.Selection.ActivePosition.Row, 0].Value == true)
  228. {
  229. PropGrid[PropGrid.Selection.ActivePosition.Row, 0].Value = false;
  230. m_SubMidWindow.m_STDEditor.ShowXrayAtlas();
  231. }
  232. else
  233. {
  234. int r = PropGrid.Selection.ActivePosition.Row;
  235. SelReferenceXray((int)PropGrid.Rows[r].Tag, ReferenceDictionary[(int)PropGrid.Rows[r].Tag]);
  236. ShowReferenceContent(PropGrid.Rows[r].Tag.ToString());
  237. //m_SubMidWindow.m_MainForm.m_Attributes.SetDatatoGrid_Attributes(ReferenceDictionary[(int)PropGrid.Rows[r].Tag]);
  238. MakeCheckboxUnchecked();
  239. PropGrid[PropGrid.Selection.ActivePosition.Row, 0].Value = true;
  240. }
  241. PropGrid.Refresh();
  242. }
  243. }
  244. private void TSLoad_Click(object sender, EventArgs e)
  245. {
  246. OpenFileDialog fileSel = new OpenFileDialog();
  247. fileSel.Filter = "(*.db)|*.db";
  248. if (DialogResult.OK == fileSel.ShowDialog())
  249. {
  250. ReferenceDictionary.Clear();
  251. if (LoadClassifyToDictionary(fileSel.FileName, ref ReferenceDictionary))
  252. {
  253. AddDataToRefereceLiberary(ReferenceDictionary);
  254. this.Text = " " + fileSel.FileName;
  255. PropGrid.Refresh();
  256. }
  257. }
  258. }
  259. /// <summary>
  260. /// 根据选择节点显示对应的Xray信息
  261. /// </summary>
  262. public void SelReferenceXray(int Key, STDdata sT)
  263. {
  264. if (sT == null)
  265. {
  266. return;
  267. }
  268. if (ReferenceXrayList != null)
  269. {
  270. //if (m_STDXrayList.Count > 0)
  271. //{
  272. bool isExists = false;
  273. foreach (STDEditor.STDXray item in ReferenceXrayList)
  274. {
  275. //修改XrayData信息
  276. if (item.StdID == Key.ToString())
  277. {
  278. string selColor = sT.Color;
  279. int colorValue = Convert.ToInt32(selColor);
  280. //显示Xray信息
  281. if (item.XrayData != null)
  282. {
  283. isExists = true;
  284. m_SubMidWindow.m_STDEditor.ShowXrayAtlas(colorValue, item.XrayData);
  285. }
  286. break;
  287. }
  288. }
  289. if (!isExists)
  290. {
  291. m_SubMidWindow.m_STDEditor.ShowXrayAtlas();
  292. }
  293. //}
  294. }
  295. }
  296. private void TSClose_Click(object sender, EventArgs e)
  297. {
  298. if (PropGrid.RowsCount > 1)
  299. {
  300. PropGrid.Rows.RemoveRange(1, PropGrid.RowsCount - 1);
  301. ReferenceDictionary.Clear();
  302. this.Text = this.Text.Split(' ')[0];
  303. PropGrid.Refresh();
  304. }
  305. else
  306. {
  307. ReferenceDictionary.Clear();
  308. this.Text = this.Text.Split(' ')[0];
  309. PropGrid.Refresh();
  310. }
  311. }
  312. private void PropGrid_MouseClick(object sender, MouseEventArgs e)
  313. {
  314. SourceGrid.Grid oSender = (SourceGrid.Grid)sender;
  315. oSender.Focus();
  316. // 表示右击的是无效区域, 则退出(第0行是标题)
  317. if (oSender.MouseCellPosition.Row < 1 || oSender.MouseCellPosition.Column < 0)
  318. {
  319. return;
  320. }
  321. // 右击的区域获取焦点
  322. PropGrid.Selection.Focus(new SourceGrid.Position(oSender.MouseCellPosition.Row, oSender.MouseCellPosition.Column), true);
  323. try
  324. {
  325. if (MouseButtons.Right == e.Button && e.Clicks == 1)
  326. {
  327. // 此处编写在什么情况下弹出右击菜单
  328. contextMenuStrip.Show(PointToScreen(e.Location));
  329. // 判断左侧区域是否已经选中了某个stdmineral
  330. bool bEnable = false;
  331. bEnable = (-1 == m_SubMidWindow.m_MainForm.m_STDRuleslist.PreRow) ? false : true;
  332. this.insertToolStripMenuItem.Enabled = bEnable;
  333. }
  334. }
  335. catch (Exception/* ex*/)
  336. {
  337. }
  338. }
  339. private void insertToolStripMenuItem_Click(object sender, EventArgs e)
  340. {
  341. m_SubMidWindow.m_MainForm.m_STDRuleslist.Grid_Minerals.Focus(true);
  342. int i = m_SubMidWindow.m_MainForm.m_STDRuleslist.Grid_Minerals.Selection.ActivePosition.Row;
  343. int j = m_SubMidWindow.m_MainForm.m_STDRuleslist.Grid_Minerals.Selection.ActivePosition.Column;
  344. if (i >= 0 && j >= 0)
  345. {
  346. if (m_SubMidWindow.m_MainForm.m_STDRuleslist.Grid_Minerals[i, 0].Value.ToString().Replace(" ", "").Trim() != "")
  347. {
  348. m_SubMidWindow.m_MainForm.SaveDataOfSelRule(i, j);
  349. PropGrid.Focus(true);
  350. int selrow = PropGrid.Selection.ActivePosition.Row;
  351. int STDnum = (int)PropGrid[selrow, 1].Tag;
  352. int STDId = 1;
  353. foreach (KeyValuePair<int, STDdata> kv in m_SubMidWindow.m_MainForm.STDDictionary)
  354. {
  355. if (STDId < kv.Key)
  356. {
  357. STDId = kv.Key;
  358. }
  359. }
  360. STDdata sT = new STDdata();
  361. sT.BSE = ReferenceDictionary[STDnum].BSE;
  362. sT.StrName = ReferenceDictionary[STDnum].StrName;
  363. sT.Color = ReferenceDictionary[STDnum].Color;
  364. sT.Density = ReferenceDictionary[STDnum].Density;
  365. sT.Formula = ReferenceDictionary[STDnum].Formula;
  366. sT.Hardness = ReferenceDictionary[STDnum].Hardness;
  367. sT.Element = ReferenceDictionary[STDnum].Element;
  368. m_SubMidWindow.m_MainForm.STDDictionary.Add(STDId + 1, sT);
  369. m_SubMidWindow.m_MainForm.m_STDRuleslist.InsertNewRow(STDId + 1, sT.StrName, shareFunction.string10ToColor(sT.Color));
  370. m_SubMidWindow.m_MainForm.m_STDRuleslist.Refresh();
  371. m_SubMidWindow.m_MainForm.m_STDRuleslist.PreRow = i;
  372. for (int k = 0; k < ReferenceXrayList.Count; k++)
  373. {
  374. if (int.Parse(ReferenceXrayList[k].StdID) == STDnum)
  375. {
  376. STDEditor.STDXray tDXray = new STDEditor.STDXray();
  377. tDXray.StdID = (STDId + 1).ToString();
  378. tDXray.XrayData = ReferenceXrayList[k].XrayData;
  379. tDXray.InfoState = (int)STDEditor.STDXrayInfoState.Add;
  380. m_SubMidWindow.m_STDEditor.m_STDXrayList.Add(tDXray);
  381. }
  382. }
  383. }
  384. }
  385. else
  386. {
  387. AddIntoMainLab();
  388. }
  389. }
  390. private void ShowReferenceContent(string stdID)
  391. {
  392. if (ReferenceXrayList != null)
  393. {
  394. for (int i = 0; i < ReferenceXrayList.Count; i++)
  395. {
  396. if (ReferenceXrayList[i].StdID == stdID)
  397. {
  398. //获取修改行的信息
  399. ReferencexrayByteData = (byte[])ReferenceXrayList[i].XrayData;
  400. }
  401. }
  402. }
  403. }
  404. #region 因为复制容易引起用户误操作,故取消
  405. private void copyDataToolStripMenuItem_Click(object sender, EventArgs e)
  406. {
  407. //int selrow = PropGrid.Selection.ActivePosition.Row;
  408. //int STDnum = (int)PropGrid[selrow, 1].Tag;
  409. //int STDid = (int)m_SubMidWindow.m_MainForm.m_STDRuleslist.Grid_Minerals[m_SubMidWindow.m_MainForm.m_STDRuleslist.PreRow, 0].Tag;
  410. //m_SubMidWindow.m_MainForm.STDDictionary[STDid] = ReferenceDictionary[STDnum];
  411. //m_SubMidWindow.m_MainForm.m_STDRuleslist.ChangeStrName(m_SubMidWindow.m_MainForm.m_STDRuleslist.PreRow, ReferenceDictionary[STDnum].StrName);
  412. //m_SubMidWindow.m_MainForm.ChangeSTDEditorAndGrid_Attributes(STDid);
  413. //m_SubMidWindow.m_MainForm.m_STDRuleslist.Grid_Minerals.Refresh();
  414. }
  415. #endregion
  416. private void addIntoMainLabToolStripMenuItem_Click(object sender, EventArgs e)
  417. {
  418. m_SubMidWindow.m_MainForm.m_STDRuleslist.Grid_Minerals.Focus(true);
  419. int i = m_SubMidWindow.m_MainForm.m_STDRuleslist.Grid_Minerals.Selection.ActivePosition.Row;
  420. int j = m_SubMidWindow.m_MainForm.m_STDRuleslist.Grid_Minerals.Selection.ActivePosition.Column;
  421. /// 保证鼠标点击的GRID行和列是有效的
  422. if (i > 0 && j >= 0)
  423. {
  424. //规则名称不为空
  425. if (m_SubMidWindow.m_MainForm.m_STDRuleslist.Grid_Minerals[i, j].Value.ToString().Replace(" ", "").Trim() != "")
  426. {
  427. m_SubMidWindow.m_MainForm.SaveDataOfSelRule(i, j);
  428. AddIntoMainLab();
  429. }
  430. }
  431. else if(i==-1&&j==-1)
  432. {
  433. AddIntoMainLab();
  434. }
  435. }
  436. void AddIntoMainLab()
  437. {
  438. PropGrid.Focus(true);
  439. int selrow = PropGrid.Selection.ActivePosition.Row;
  440. int STDnum = (int)PropGrid[selrow, 1].Tag;
  441. int STDId = 1;
  442. foreach (KeyValuePair<int, STDdata> kv in m_SubMidWindow.m_MainForm.STDDictionary)
  443. {
  444. if (STDId < kv.Key)
  445. {
  446. STDId = kv.Key;
  447. }
  448. }
  449. STDdata sT = new STDdata();
  450. sT.BSE = ReferenceDictionary[STDnum].BSE;
  451. sT.StrName = ReferenceDictionary[STDnum].StrName;
  452. sT.Color = ReferenceDictionary[STDnum].Color;
  453. sT.Density = ReferenceDictionary[STDnum].Density;
  454. sT.Formula = ReferenceDictionary[STDnum].Formula;
  455. sT.Hardness = ReferenceDictionary[STDnum].Hardness;
  456. sT.ChineseName = ReferenceDictionary[STDnum].ChineseName;
  457. sT.Element = ReferenceDictionary[STDnum].Element;
  458. sT.XrayData = ReferenceDictionary[STDnum].XrayData;
  459. m_SubMidWindow.m_MainForm.STDDictionary.Add(STDId + 1, sT);
  460. m_SubMidWindow.m_MainForm.m_STDRuleslist.AddNewRow(STDId + 1, sT.StrName, shareFunction.string10ToColor(sT.Color));
  461. m_SubMidWindow.m_MainForm.m_STDRuleslist.Refresh();
  462. m_SubMidWindow.m_MainForm.m_STDRuleslist.PreRow = m_SubMidWindow.m_MainForm.m_STDRuleslist.Grid_Minerals.RowsCount - 1;
  463. for (int k = 0; k < ReferenceXrayList.Count; k++)
  464. {
  465. if (int.Parse(ReferenceXrayList[k].StdID) == STDnum)
  466. {
  467. STDEditor.STDXray tDXray = new STDEditor.STDXray();
  468. tDXray.StdID = (STDId + 1).ToString();
  469. tDXray.XrayData = ReferenceXrayList[k].XrayData;
  470. tDXray.InfoState = (int)STDEditor.STDXrayInfoState.Add;
  471. m_SubMidWindow.m_STDEditor.m_STDXrayList.Add(tDXray);
  472. }
  473. }
  474. }
  475. }
  476. }