Browse Source

Merge branch 'OTSsteelmineralsystem' of http://36.129.163.148:30080/gogsadmin/OTS into OTSsteelmineralsystem

gsp 2 months ago
parent
commit
67f1bb9d80

+ 38 - 0
OTS.sln

@@ -77,6 +77,8 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "OTSInclusionsTraceability",
 EndProject
 Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "OxfordExtenderWrapper", "OxfordExtenderWrapper\OxfordExtenderWrapper.csproj", "{B2683648-C829-40E7-A479-AC90B1B80286}"
 EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SpectrumSTDEditor", "SpectrumSTDEditor\SpectrumSTDEditor.csproj", "{A60440F1-FC94-4802-BFCB-E96457830D50}"
+EndProject
 Global
 	GlobalSection(SolutionConfigurationPlatforms) = preSolution
 		Debug|Any CPU = Debug|Any CPU
@@ -735,6 +737,42 @@ Global
 		{B2683648-C829-40E7-A479-AC90B1B80286}.Release_oxford62|x64.Build.0 = Release_oxford62|x64
 		{B2683648-C829-40E7-A479-AC90B1B80286}.Release_oxford62|x86.ActiveCfg = Release_oxford62|x64
 		{B2683648-C829-40E7-A479-AC90B1B80286}.Release_oxford62|x86.Build.0 = Release_oxford62|x64
+		{A60440F1-FC94-4802-BFCB-E96457830D50}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{A60440F1-FC94-4802-BFCB-E96457830D50}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{A60440F1-FC94-4802-BFCB-E96457830D50}.Debug|x64.ActiveCfg = Debug|x64
+		{A60440F1-FC94-4802-BFCB-E96457830D50}.Debug|x64.Build.0 = Debug|x64
+		{A60440F1-FC94-4802-BFCB-E96457830D50}.Debug|x86.ActiveCfg = Debug|Any CPU
+		{A60440F1-FC94-4802-BFCB-E96457830D50}.Debug|x86.Build.0 = Debug|Any CPU
+		{A60440F1-FC94-4802-BFCB-E96457830D50}.Release_oxford50|Any CPU.ActiveCfg = Release|Any CPU
+		{A60440F1-FC94-4802-BFCB-E96457830D50}.Release_oxford50|Any CPU.Build.0 = Release|Any CPU
+		{A60440F1-FC94-4802-BFCB-E96457830D50}.Release_oxford50|x64.ActiveCfg = Release|x64
+		{A60440F1-FC94-4802-BFCB-E96457830D50}.Release_oxford50|x64.Build.0 = Release|x64
+		{A60440F1-FC94-4802-BFCB-E96457830D50}.Release_oxford50|x86.ActiveCfg = Release|Any CPU
+		{A60440F1-FC94-4802-BFCB-E96457830D50}.Release_oxford50|x86.Build.0 = Release|Any CPU
+		{A60440F1-FC94-4802-BFCB-E96457830D50}.Release_oxford60|Any CPU.ActiveCfg = Release|Any CPU
+		{A60440F1-FC94-4802-BFCB-E96457830D50}.Release_oxford60|Any CPU.Build.0 = Release|Any CPU
+		{A60440F1-FC94-4802-BFCB-E96457830D50}.Release_oxford60|x64.ActiveCfg = Release|x64
+		{A60440F1-FC94-4802-BFCB-E96457830D50}.Release_oxford60|x64.Build.0 = Release|x64
+		{A60440F1-FC94-4802-BFCB-E96457830D50}.Release_oxford60|x86.ActiveCfg = Release|Any CPU
+		{A60440F1-FC94-4802-BFCB-E96457830D50}.Release_oxford60|x86.Build.0 = Release|Any CPU
+		{A60440F1-FC94-4802-BFCB-E96457830D50}.Release_oxford61|Any CPU.ActiveCfg = Release|Any CPU
+		{A60440F1-FC94-4802-BFCB-E96457830D50}.Release_oxford61|Any CPU.Build.0 = Release|Any CPU
+		{A60440F1-FC94-4802-BFCB-E96457830D50}.Release_oxford61|x64.ActiveCfg = Release|x64
+		{A60440F1-FC94-4802-BFCB-E96457830D50}.Release_oxford61|x64.Build.0 = Release|x64
+		{A60440F1-FC94-4802-BFCB-E96457830D50}.Release_oxford61|x86.ActiveCfg = Release|Any CPU
+		{A60440F1-FC94-4802-BFCB-E96457830D50}.Release_oxford61|x86.Build.0 = Release|Any CPU
+		{A60440F1-FC94-4802-BFCB-E96457830D50}.Release_oxford61sp1|Any CPU.ActiveCfg = Release|Any CPU
+		{A60440F1-FC94-4802-BFCB-E96457830D50}.Release_oxford61sp1|Any CPU.Build.0 = Release|Any CPU
+		{A60440F1-FC94-4802-BFCB-E96457830D50}.Release_oxford61sp1|x64.ActiveCfg = Release|x64
+		{A60440F1-FC94-4802-BFCB-E96457830D50}.Release_oxford61sp1|x64.Build.0 = Release|x64
+		{A60440F1-FC94-4802-BFCB-E96457830D50}.Release_oxford61sp1|x86.ActiveCfg = Release|Any CPU
+		{A60440F1-FC94-4802-BFCB-E96457830D50}.Release_oxford61sp1|x86.Build.0 = Release|Any CPU
+		{A60440F1-FC94-4802-BFCB-E96457830D50}.Release_oxford62|Any CPU.ActiveCfg = Release|Any CPU
+		{A60440F1-FC94-4802-BFCB-E96457830D50}.Release_oxford62|Any CPU.Build.0 = Release|Any CPU
+		{A60440F1-FC94-4802-BFCB-E96457830D50}.Release_oxford62|x64.ActiveCfg = Release|x64
+		{A60440F1-FC94-4802-BFCB-E96457830D50}.Release_oxford62|x64.Build.0 = Release|x64
+		{A60440F1-FC94-4802-BFCB-E96457830D50}.Release_oxford62|x86.ActiveCfg = Release|Any CPU
+		{A60440F1-FC94-4802-BFCB-E96457830D50}.Release_oxford62|x86.Build.0 = Release|Any CPU
 	EndGlobalSection
 	GlobalSection(SolutionProperties) = preSolution
 		HideSolutionNode = FALSE

+ 26 - 0
OTSPartA_STDEditor/UI/Attributes.cs

@@ -227,5 +227,31 @@ namespace OTSPartA_STDEditor
 
             Grid_Attributes.Refresh();
         }
+
+        public void SetDatatoGrid_AttributesByReferenceLibrary(STDdata sTDdata)
+        {
+            Grid_Attributes[1, 1].Value = "";
+            Grid_Attributes[2, 1].Value = sTDdata.StrName;
+            SourceGrid.Cells.Views.Cell view = new SourceGrid.Cells.Views.Cell();
+            view.BackColor = colorHx16toRGB(sTDdata.Color);
+            Grid_Attributes[3, 1].View = view;
+            Grid_Attributes[4, 1].Value = Convert.ToBoolean(sTDdata.IfElementAnalysis);
+            Grid_Attributes[5, 1].Value = sTDdata.Hardness;
+            Grid_Attributes[6, 1].Value = sTDdata.Density;
+            Grid_Attributes[7, 1].Value = sTDdata.Electrical_conductivity;
+
+            Grid_Attributes[8, 1].Value = int.Parse(sTDdata.BSE);
+            Grid_Attributes[9, 1].Value = sTDdata.Formula;
+            Grid_Attributes[10, 1].Value = sTDdata.Element;
+
+            //m_MainForm.AddSTDGroupsToAttribute();
+            Grid_Attributes[11, 1].Value = m_MainForm.GroupIdDictionaryFromId[int.Parse(sTDdata.GroupId)];
+
+            //SourceGrid.Position po = new SourceGrid.Position(1, 0);
+            //Grid_Attributes[1, 0].Grid.Select();
+            //Grid_Attributes.Selection.Focus(po, true);
+
+            Grid_Attributes.Refresh();
+        }
     }
 }

+ 2 - 1
SpectrumSTDEditor/BaseClass/STDdata.cs

@@ -26,7 +26,7 @@ namespace SpectrumSTDEditor
         string s_OrderId = "";
         //bool b_IfElementAnalysis = true;
         string s_ChineseName = "";
-
+        private byte[] xrayData;
         //public string STDId
         //{
         //    set { s_STDId = value; }
@@ -130,6 +130,7 @@ namespace SpectrumSTDEditor
         //}
 
         public string ChineseName { get => s_ChineseName; set => s_ChineseName = value; }
+        public byte[] XrayData { get => xrayData; set => xrayData = value; }
 
         public bool Equals(STDdata a_oSource)
         {

+ 1 - 0
SpectrumSTDEditor/SpectrumSTDEditor.csproj

@@ -55,6 +55,7 @@
   <ItemGroup>
     <Reference Include="OTS.WinFormsUI.Docking">
       <HintPath>..\..\..\OTS2_7\OTS2_0\OpenDll\WordApiDll\OTS.WinFormsUI.Docking.dll</HintPath>
+      <Private>False</Private>
     </Reference>
     <Reference Include="OTSClrInterface, Version=0.0.0.0, Culture=neutral, processorArchitecture=AMD64">
       <SpecificVersion>False</SpecificVersion>

+ 16 - 1
SpectrumSTDEditor/UI/Attributes.cs

@@ -156,7 +156,6 @@ namespace SpectrumSTDEditor
             //Grid_Attributes[1, 0].Grid.Select();
             //Grid_Attributes.Selection.Focus(po, true);
         }
-
         public void SetDatatoGrid_Attributes(int STDId)
         {
             Grid_Attributes[1, 1].Value = STDId;
@@ -176,5 +175,21 @@ namespace SpectrumSTDEditor
             //Grid_Attributes.Selection.Focus(po, true);
             Grid_Attributes.Refresh();
         }
+        public void SetDatatoGrid_Attributes(STDdata sTDdata)
+        {
+            Grid_Attributes[1, 1].Value = "";
+            Grid_Attributes[2, 1].Value = sTDdata.StrName;
+            Grid_Attributes[3, 1].Value = sTDdata.ChineseName;
+            SourceGrid.Cells.Views.Cell view = new SourceGrid.Cells.Views.Cell();
+            view.BackColor = shareFunction.string10ToColor(sTDdata.Color);
+            Grid_Attributes[4, 1].View = view;
+            Grid_Attributes[5, 1].Value = sTDdata.Hardness;
+            Grid_Attributes[6, 1].Value = sTDdata.Density;
+
+            Grid_Attributes[7, 1].Value = sTDdata.BSE;
+            Grid_Attributes[8, 1].Value = sTDdata.Formula;
+            Grid_Attributes[9, 1].Value = sTDdata.Element;
+            Grid_Attributes.Refresh();
+        }
     }
 }

+ 3 - 0
SpectrumSTDEditor/UI/Form_Main.cs

@@ -127,6 +127,7 @@ namespace SpectrumSTDEditor
                             //new_STDdata.SubElementList = item["SubElementList"].ToString();
                             //new_STDdata.GroupId = item["GroupId"].ToString();
                             new_STDdata.OrderId = item["orderid"].ToString();
+                            new_STDdata.XrayData = (byte[])item["SPEC"];
                             //new_STDdata.GroupId = item["GroupId"].ToString();
                             //if (dt.Columns.Contains("IfElementAnalysis"))
                             //{
@@ -447,6 +448,7 @@ namespace SpectrumSTDEditor
                     newRow["formula"] = kv.Value.Formula;
                     newRow["element"] = kv.Value.Element;
                     newRow["orderid"] = kv.Value.OrderId;
+                    newRow["SPEC"] = kv.Value.XrayData;
                     dt.Rows.Add(newRow);
                 }
                 m_dataAdapter.Update(ds, "STDMinerals");
@@ -491,6 +493,7 @@ namespace SpectrumSTDEditor
                     newRow["formula"] = kv.Value.Formula;
                     newRow["element"] = kv.Value.Element;
                     newRow["orderid"] = kv.Value.OrderId;
+                    newRow["SPEC"] = kv.Value.XrayData;
                     dt.Rows.Add(newRow);
                 }
                 m_dataAdapter.Update(ds, "STDMinerals");

+ 20 - 20
SpectrumSTDEditor/UI/Form_Main.resx

@@ -121,121 +121,121 @@
   <data name="ribbonOrbMenuItem_Convert.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
     <value>
         iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
-        wAAADsABataJCQAAABpJREFUWEftwQEBAAAAgiD/r25IQAAAAMC5GhAgAAGdeElDAAAAAElFTkSuQmCC
+        vwAADr8BOAVTJAAAABpJREFUWEftwQEBAAAAgiD/r25IQAAAAMC5GhAgAAGdeElDAAAAAElFTkSuQmCC
 </value>
   </data>
   <data name="ribbonOrbMenuItem_Convert.SmallImage" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
     <value>
         iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
-        wAAADsABataJCQAAABNJREFUOE9jGAWjYBSMAjBgYAAABBAAAadEfGMAAAAASUVORK5CYII=
+        vwAADr8BOAVTJAAAABNJREFUOE9jGAWjYBSMAjBgYAAABBAAAadEfGMAAAAASUVORK5CYII=
 </value>
   </data>
   <data name="ribbonOrbRecentItem1.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
     <value>
         iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
-        vwAADr8BOAVTJAAAABpJREFUWEftwQEBAAAAgiD/r25IQAAAAMC5GhAgAAGdeElDAAAAAElFTkSuQmCC
+        vgAADr4B6kKxwAAAABpJREFUWEftwQEBAAAAgiD/r25IQAAAAMC5GhAgAAGdeElDAAAAAElFTkSuQmCC
 </value>
   </data>
   <data name="ribbonOrbRecentItem1.SmallImage" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
     <value>
         iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
-        vwAADr8BOAVTJAAAABNJREFUOE9jGAWjYBSMAjBgYAAABBAAAadEfGMAAAAASUVORK5CYII=
+        vgAADr4B6kKxwAAAABNJREFUOE9jGAWjYBSMAjBgYAAABBAAAadEfGMAAAAASUVORK5CYII=
 </value>
   </data>
   <data name="ribbonOrbOptionButton1.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
     <value>
         iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
-        vwAADr8BOAVTJAAAABpJREFUWEftwQEBAAAAgiD/r25IQAAAAMC5GhAgAAGdeElDAAAAAElFTkSuQmCC
+        vgAADr4B6kKxwAAAABpJREFUWEftwQEBAAAAgiD/r25IQAAAAMC5GhAgAAGdeElDAAAAAElFTkSuQmCC
 </value>
   </data>
   <data name="ribbonOrbOptionButton1.SmallImage" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
     <value>
         iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
-        vwAADr8BOAVTJAAAABNJREFUOE9jGAWjYBSMAjBgYAAABBAAAadEfGMAAAAASUVORK5CYII=
+        vgAADr4B6kKxwAAAABNJREFUOE9jGAWjYBSMAjBgYAAABBAAAadEfGMAAAAASUVORK5CYII=
 </value>
   </data>
   <data name="ribbonOrbMenuItem1.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
     <value>
         iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
-        vwAADr8BOAVTJAAAABpJREFUWEftwQEBAAAAgiD/r25IQAAAAMC5GhAgAAGdeElDAAAAAElFTkSuQmCC
+        vgAADr4B6kKxwAAAABpJREFUWEftwQEBAAAAgiD/r25IQAAAAMC5GhAgAAGdeElDAAAAAElFTkSuQmCC
 </value>
   </data>
   <data name="ribbonOrbMenuItem1.SmallImage" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
     <value>
         iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
-        vwAADr8BOAVTJAAAABNJREFUOE9jGAWjYBSMAjBgYAAABBAAAadEfGMAAAAASUVORK5CYII=
+        vgAADr4B6kKxwAAAABNJREFUOE9jGAWjYBSMAjBgYAAABBAAAadEfGMAAAAASUVORK5CYII=
 </value>
   </data>
   <data name="ribbonDescriptionMenuItem1.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
     <value>
         iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
-        vwAADr8BOAVTJAAAABpJREFUWEftwQEBAAAAgiD/r25IQAAAAMC5GhAgAAGdeElDAAAAAElFTkSuQmCC
+        vgAADr4B6kKxwAAAABpJREFUWEftwQEBAAAAgiD/r25IQAAAAMC5GhAgAAGdeElDAAAAAElFTkSuQmCC
 </value>
   </data>
   <data name="ribbonDescriptionMenuItem1.SmallImage" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
     <value>
         iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
-        vwAADr8BOAVTJAAAABNJREFUOE9jGAWjYBSMAjBgYAAABBAAAadEfGMAAAAASUVORK5CYII=
+        vgAADr4B6kKxwAAAABNJREFUOE9jGAWjYBSMAjBgYAAABBAAAadEfGMAAAAASUVORK5CYII=
 </value>
   </data>
   <data name="ribbonColorChooser1.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
     <value>
         iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
-        vwAADr8BOAVTJAAAABpJREFUWEftwQEBAAAAgiD/r25IQAAAAMC5GhAgAAGdeElDAAAAAElFTkSuQmCC
+        vgAADr4B6kKxwAAAABpJREFUWEftwQEBAAAAgiD/r25IQAAAAMC5GhAgAAGdeElDAAAAAElFTkSuQmCC
 </value>
   </data>
   <data name="ribbonColorChooser1.SmallImage" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
     <value>
         iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
-        vwAADr8BOAVTJAAAABNJREFUOE9jGAWjYBSMAjBgYAAABBAAAadEfGMAAAAASUVORK5CYII=
+        vgAADr4B6kKxwAAAABNJREFUOE9jGAWjYBSMAjBgYAAABBAAAadEfGMAAAAASUVORK5CYII=
 </value>
   </data>
   <data name="ribbonOrbMenuItem2.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
     <value>
         iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
-        vwAADr8BOAVTJAAAABpJREFUWEftwQEBAAAAgiD/r25IQAAAAMC5GhAgAAGdeElDAAAAAElFTkSuQmCC
+        vgAADr4B6kKxwAAAABpJREFUWEftwQEBAAAAgiD/r25IQAAAAMC5GhAgAAGdeElDAAAAAElFTkSuQmCC
 </value>
   </data>
   <data name="ribbonOrbMenuItem2.SmallImage" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
     <value>
         iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
-        vwAADr8BOAVTJAAAABNJREFUOE9jGAWjYBSMAjBgYAAABBAAAadEfGMAAAAASUVORK5CYII=
+        vgAADr4B6kKxwAAAABNJREFUOE9jGAWjYBSMAjBgYAAABBAAAadEfGMAAAAASUVORK5CYII=
 </value>
   </data>
   <data name="ribbonButton1.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
     <value>
         iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
-        vwAADr8BOAVTJAAAABpJREFUWEftwQEBAAAAgiD/r25IQAAAAMC5GhAgAAGdeElDAAAAAElFTkSuQmCC
+        vgAADr4B6kKxwAAAABpJREFUWEftwQEBAAAAgiD/r25IQAAAAMC5GhAgAAGdeElDAAAAAElFTkSuQmCC
 </value>
   </data>
   <data name="ribbonButton1.SmallImage" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
     <value>
         iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
-        vwAADr8BOAVTJAAAABNJREFUOE9jGAWjYBSMAjBgYAAABBAAAadEfGMAAAAASUVORK5CYII=
+        vgAADr4B6kKxwAAAABNJREFUOE9jGAWjYBSMAjBgYAAABBAAAadEfGMAAAAASUVORK5CYII=
 </value>
   </data>
   <data name="ribbonButton2.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
     <value>
         iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
-        vwAADr8BOAVTJAAAABpJREFUWEftwQEBAAAAgiD/r25IQAAAAMC5GhAgAAGdeElDAAAAAElFTkSuQmCC
+        vgAADr4B6kKxwAAAABpJREFUWEftwQEBAAAAgiD/r25IQAAAAMC5GhAgAAGdeElDAAAAAElFTkSuQmCC
 </value>
   </data>
   <data name="ribbonButton2.SmallImage" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
     <value>
         iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
-        vwAADr8BOAVTJAAAABNJREFUOE9jGAWjYBSMAjBgYAAABBAAAadEfGMAAAAASUVORK5CYII=
+        vgAADr4B6kKxwAAAABNJREFUOE9jGAWjYBSMAjBgYAAABBAAAadEfGMAAAAASUVORK5CYII=
 </value>
   </data>
   <data name="ribbonButton3.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
     <value>
         iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
-        vwAADr8BOAVTJAAAABpJREFUWEftwQEBAAAAgiD/r25IQAAAAMC5GhAgAAGdeElDAAAAAElFTkSuQmCC
+        vgAADr4B6kKxwAAAABpJREFUWEftwQEBAAAAgiD/r25IQAAAAMC5GhAgAAGdeElDAAAAAElFTkSuQmCC
 </value>
   </data>
   <data name="ribbonButton3.SmallImage" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
     <value>
         iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
-        vwAADr8BOAVTJAAAABNJREFUOE9jGAWjYBSMAjBgYAAABBAAAadEfGMAAAAASUVORK5CYII=
+        vgAADr4B6kKxwAAAABNJREFUOE9jGAWjYBSMAjBgYAAABBAAAadEfGMAAAAASUVORK5CYII=
 </value>
   </data>
 </root>

+ 126 - 39
SpectrumSTDEditor/UI/ReferenceLibrary.cs

@@ -14,7 +14,9 @@ namespace SpectrumSTDEditor
         public Dictionary<int, STDdata> ReferenceDictionary = new Dictionary<int, STDdata>();
         System.Collections.Hashtable table_ReferenceLibrary;
         Dictionary<int, string> ReferenceGroup = new Dictionary<int, string>();
+        List<STDEditor.STDXray> ReferenceXrayList = null;
 
+        byte[] ReferencexrayByteData = null;
         public ReferenceLibrary(SubMidWindow SubMidWindow)
         {
             InitializeComponent();
@@ -119,10 +121,30 @@ namespace SpectrumSTDEditor
                             new_STDdata.StrName = item["name"].ToString();
                             new_STDdata.Color = item["color"].ToString();
                             new_STDdata.ChineseName = item["chinesename"].ToString();
+                            new_STDdata.XrayData = (byte[])item["SPEC"];
                             STDDictionary.Add(int.Parse(item["id"].ToString()), new_STDdata);
                         }
                     }
                 }
+                //加载Xray信息
+                System.Data.SQLite.SQLiteDataAdapter m_dataAdapterXray = new System.Data.SQLite.SQLiteDataAdapter("select Id,SPEC from STDMinerals", m_dbConnection);
+                DataSet dsXray = new DataSet();
+                m_dataAdapterXray.Fill(dsXray);
+                DataTable dtXray = dsXray.Tables[0];
+                ReferenceXrayList = new List<STDEditor.STDXray>();
+                if (dtXray != null)
+                {
+                    if (dtXray.Rows.Count > 0)
+                    {
+                        foreach (DataRow item in dtXray.Rows)
+                        {
+                            STDEditor.STDXray sXray = new STDEditor.STDXray();
+                            sXray.StdID = item["Id"].ToString();
+                            sXray.XrayData = (byte[])item["SPEC"];
+                            ReferenceXrayList.Add(sXray);
+                        }
+                    }
+                }
                 return true;
             }
             catch (Exception)
@@ -229,10 +251,14 @@ namespace SpectrumSTDEditor
                 if ((bool)PropGrid[PropGrid.Selection.ActivePosition.Row, 0].Value == true)
                 {
                     PropGrid[PropGrid.Selection.ActivePosition.Row, 0].Value = false;
+                    m_SubMidWindow.m_STDEditor.ShowXrayAtlas();
                 }
                 else
                 {
                     int r = PropGrid.Selection.ActivePosition.Row;
+                    SelReferenceXray((int)PropGrid.Rows[r].Tag, ReferenceDictionary[(int)PropGrid.Rows[r].Tag]);
+                    ShowReferenceContent(PropGrid.Rows[r].Tag.ToString());
+                    //m_SubMidWindow.m_MainForm.m_Attributes.SetDatatoGrid_Attributes(ReferenceDictionary[(int)PropGrid.Rows[r].Tag]);
 
                     MakeCheckboxUnchecked();
                     PropGrid[PropGrid.Selection.ActivePosition.Row, 0].Value = true;
@@ -257,7 +283,44 @@ namespace SpectrumSTDEditor
             }
 
         }
+        /// <summary>
+        /// 根据选择节点显示对应的Xray信息
+        /// </summary>
+        public void SelReferenceXray(int Key, STDdata sT)
+        {
+            if (sT == null)
+            {
+                return;
+            }
+            if (ReferenceXrayList != null)
+            {
+                //if (m_STDXrayList.Count > 0)
+                //{
+                bool isExists = false;
+                foreach (STDEditor.STDXray item in ReferenceXrayList)
+                {
+                    //修改XrayData信息
+                    if (item.StdID == Key.ToString())
+                    {
+                        string selColor = sT.Color;
+                        int colorValue = Convert.ToInt32(selColor);
+                        //显示Xray信息
+                        if (item.XrayData != null)
+                        {
+                            isExists = true;
+                            m_SubMidWindow.m_STDEditor.ShowXrayAtlas(colorValue, item.XrayData);
+                        }
+                        break;
+                    }
+                }
+                if (!isExists)
+                {
+                    m_SubMidWindow.m_STDEditor.ShowXrayAtlas();
+                }
+                //}
+            }
 
+        }
         private void TSClose_Click(object sender, EventArgs e)
         {
             if (PropGrid.RowsCount > 1)
@@ -279,7 +342,6 @@ namespace SpectrumSTDEditor
         {
             SourceGrid.Grid oSender = (SourceGrid.Grid)sender;
             oSender.Focus();
-
             // 表示右击的是无效区域, 则退出(第0行是标题)
             if (oSender.MouseCellPosition.Row < 1 || oSender.MouseCellPosition.Column < 0)
             {
@@ -287,7 +349,6 @@ namespace SpectrumSTDEditor
             }
             // 右击的区域获取焦点
             PropGrid.Selection.Focus(new SourceGrid.Position(oSender.MouseCellPosition.Row, oSender.MouseCellPosition.Column), true);
-
             try
             {
                 if (MouseButtons.Right == e.Button && e.Clicks == 1)
@@ -306,48 +367,50 @@ namespace SpectrumSTDEditor
 
             }
         }
-
         private void insertToolStripMenuItem_Click(object sender, EventArgs e)
         {
             m_SubMidWindow.m_MainForm.m_STDRuleslist.Grid_Minerals.Focus(true);
             int i = m_SubMidWindow.m_MainForm.m_STDRuleslist.Grid_Minerals.Selection.ActivePosition.Row;
             int j = m_SubMidWindow.m_MainForm.m_STDRuleslist.Grid_Minerals.Selection.ActivePosition.Column;
-            /// 保证鼠标点击的GRID行和列是有效的
             if (i >= 0 && j >= 0)
             {
-                //规则名称不为空
                 if (m_SubMidWindow.m_MainForm.m_STDRuleslist.Grid_Minerals[i, 0].Value.ToString().Replace(" ", "").Trim() != "")
                 {
-                    
-                            m_SubMidWindow.m_MainForm.SaveDataOfSelRule(i, j);
-
-                            PropGrid.Focus(true);
-                            int selrow = PropGrid.Selection.ActivePosition.Row;
-                            int STDnum = (int)PropGrid[selrow, 1].Tag;
-                            int STDId = 1;
-                            foreach (KeyValuePair<int, STDdata> kv in m_SubMidWindow.m_MainForm.STDDictionary)
-                            {
-                                if (STDId < kv.Key)
-                                {
-                                    STDId = kv.Key;
-                                }
-                            }
-                            STDdata sT = new STDdata();
-                            sT.BSE = ReferenceDictionary[STDnum].BSE;
-                            sT.StrName = ReferenceDictionary[STDnum].StrName;
-                            sT.Color = ReferenceDictionary[STDnum].Color;
-                            sT.Density = ReferenceDictionary[STDnum].Density;
-                            sT.Formula = ReferenceDictionary[STDnum].Formula;
-                            sT.Hardness = ReferenceDictionary[STDnum].Hardness;
-                            sT.Element = ReferenceDictionary[STDnum].Element;
-                            m_SubMidWindow.m_MainForm.STDDictionary.Add(STDId + 1, sT);
-                            
-                            m_SubMidWindow.m_MainForm.m_STDRuleslist.InsertNewRow(STDId + 1, sT.StrName, shareFunction.string10ToColor(sT.Color));
-                            m_SubMidWindow.m_MainForm.m_STDRuleslist.Refresh();
-
-                            m_SubMidWindow.m_MainForm.m_STDRuleslist.PreRow = i;
-                       
-
+                    m_SubMidWindow.m_MainForm.SaveDataOfSelRule(i, j);
+                    PropGrid.Focus(true);
+                    int selrow = PropGrid.Selection.ActivePosition.Row;
+                    int STDnum = (int)PropGrid[selrow, 1].Tag;
+                    int STDId = 1;
+                    foreach (KeyValuePair<int, STDdata> kv in m_SubMidWindow.m_MainForm.STDDictionary)
+                    {
+                        if (STDId < kv.Key)
+                        {
+                            STDId = kv.Key;
+                        }
+                    }
+                    STDdata sT = new STDdata();
+                    sT.BSE = ReferenceDictionary[STDnum].BSE;
+                    sT.StrName = ReferenceDictionary[STDnum].StrName;
+                    sT.Color = ReferenceDictionary[STDnum].Color;
+                    sT.Density = ReferenceDictionary[STDnum].Density;
+                    sT.Formula = ReferenceDictionary[STDnum].Formula;
+                    sT.Hardness = ReferenceDictionary[STDnum].Hardness;
+                    sT.Element = ReferenceDictionary[STDnum].Element;
+                    m_SubMidWindow.m_MainForm.STDDictionary.Add(STDId + 1, sT);
+                    m_SubMidWindow.m_MainForm.m_STDRuleslist.InsertNewRow(STDId + 1, sT.StrName, shareFunction.string10ToColor(sT.Color));
+                    m_SubMidWindow.m_MainForm.m_STDRuleslist.Refresh();
+                    m_SubMidWindow.m_MainForm.m_STDRuleslist.PreRow = i;
+                    for (int k = 0; k < ReferenceXrayList.Count; k++)
+                    {
+                        if (int.Parse(ReferenceXrayList[k].StdID) == STDnum)
+                        {
+                            STDEditor.STDXray tDXray = new STDEditor.STDXray();
+                            tDXray.StdID = (STDId + 1).ToString();
+                            tDXray.XrayData = ReferenceXrayList[k].XrayData;
+                            tDXray.InfoState = (int)STDEditor.STDXrayInfoState.Add;
+                            m_SubMidWindow.m_STDEditor.m_STDXrayList.Add(tDXray);
+                        }
+                    }
                 }
 
             }
@@ -356,7 +419,20 @@ namespace SpectrumSTDEditor
                 AddIntoMainLab();
             }
         }
-
+        private void ShowReferenceContent(string stdID)
+        {
+            if (ReferenceXrayList != null)
+            {
+                for (int i = 0; i < ReferenceXrayList.Count; i++)
+                {
+                    if (ReferenceXrayList[i].StdID == stdID)
+                    {
+                        //获取修改行的信息
+                        ReferencexrayByteData = (byte[])ReferenceXrayList[i].XrayData;
+                    }
+                }
+            }
+        }
         #region 因为复制容易引起用户误操作,故取消
         private void copyDataToolStripMenuItem_Click(object sender, EventArgs e)
         {
@@ -383,9 +459,7 @@ namespace SpectrumSTDEditor
                 //规则名称不为空
                 if (m_SubMidWindow.m_MainForm.m_STDRuleslist.Grid_Minerals[i, j].Value.ToString().Replace(" ", "").Trim() != "")
                 {
-
                     m_SubMidWindow.m_MainForm.SaveDataOfSelRule(i, j);
-
                     AddIntoMainLab();
                 }
             }
@@ -416,11 +490,24 @@ namespace SpectrumSTDEditor
             sT.Density = ReferenceDictionary[STDnum].Density;
             sT.Formula = ReferenceDictionary[STDnum].Formula;
             sT.Hardness = ReferenceDictionary[STDnum].Hardness;
-
+            sT.ChineseName = ReferenceDictionary[STDnum].ChineseName;
+            sT.Element = ReferenceDictionary[STDnum].Element;
+            sT.XrayData = ReferenceDictionary[STDnum].XrayData;
             m_SubMidWindow.m_MainForm.STDDictionary.Add(STDId + 1, sT);
             m_SubMidWindow.m_MainForm.m_STDRuleslist.AddNewRow(STDId + 1, sT.StrName, shareFunction.string10ToColor(sT.Color));
             m_SubMidWindow.m_MainForm.m_STDRuleslist.Refresh();
             m_SubMidWindow.m_MainForm.m_STDRuleslist.PreRow = m_SubMidWindow.m_MainForm.m_STDRuleslist.Grid_Minerals.RowsCount - 1;
+            for (int k = 0; k < ReferenceXrayList.Count; k++)
+            {
+                if (int.Parse(ReferenceXrayList[k].StdID) == STDnum)
+                {
+                    STDEditor.STDXray tDXray = new STDEditor.STDXray();
+                    tDXray.StdID = (STDId + 1).ToString();
+                    tDXray.XrayData = ReferenceXrayList[k].XrayData;
+                    tDXray.InfoState = (int)STDEditor.STDXrayInfoState.Add;
+                    m_SubMidWindow.m_STDEditor.m_STDXrayList.Add(tDXray);
+                }
+            }
         }
     }
 }