Browse Source

add history project trace function

GSP 1 week ago
parent
commit
7ed0e552c7

+ 11 - 0
Bin/x64/Debug/Config/ProData/HistoryPrj.xml

@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<XMLData>
+  <PathName>C:\Users\zym\Desktop\otsRst\Untitled13\Untitled13.prj</PathName>
+  <PathName>C:\Users\zym\Desktop\otsRst\Untitled14\Untitled14.prj</PathName>
+  <PathName>C:\Users\zym\Desktop\otsRst\Untitled15\Untitled15.prj</PathName>
+  <PathName>C:\Users\zym\Desktop\otsRst\Untitled16\Untitled16.prj</PathName>
+  <PathName>C:\Users\zym\Desktop\otsRst\Untitled17\Untitled17.prj</PathName>
+  <PathName>C:\Users\zym\Desktop\otsRst\Untitled18\Untitled18.prj</PathName>
+  <PathName>C:\Users\zym\Desktop\otsRst\Untitled19\Untitled19.prj</PathName>
+  <PathName>C:\Users\zym\Desktop\otsRst\Untitled20\Untitled20.prj</PathName>
+</XMLData>

+ 4 - 4
Bin/x64/Debug/Config/ReportTemplate/Inca_Template/ReportTemplateConfig.xml

@@ -45,7 +45,7 @@
     <INCAGraphicSelection>0</INCAGraphicSelection>
   </M_KLFXJG>
   <M_YSFXJG>
-    <b_ck_ysfx_xsmk>False</b_ck_ysfx_xsmk>
+    <b_ck_ysfx_xsmk>True</b_ck_ysfx_xsmk>
     <index_cb_yxfx_jsfs>0</index_cb_yxfx_jsfs>
     <index_cb_ysfx_klfw>0</index_cb_ysfx_klfw>
     <str_tb_ysfx_xsys>Al,Si,S,N,O,F,Fe,Mo,Cr,Zr,Ti,Mn,Ca,Ce,Nb,V,La,Na,Mg</str_tb_ysfx_xsys>
@@ -80,7 +80,7 @@
     </list_str_tb_yscf_ysxx>
   </M_YSFXJG>
   <M_SYXT>
-    <b_ck_syxt_xsmk>False</b_ck_syxt_xsmk>
+    <b_ck_syxt_xsmk>True</b_ck_syxt_xsmk>
     <index_cb_syxt_jsfs>0</index_cb_syxt_jsfs>
     <index_cb_syxt_klfw>0</index_cb_syxt_klfw>
     <str_cb_syxt_mhxssl>2</str_cb_syxt_mhxssl>
@@ -99,7 +99,7 @@
     <str_cb_syxt_ljb>lj.psf</str_cb_syxt_ljb>
   </M_SYXT>
   <M_KLLBXX>
-    <b_ck_kllb_xsmk>False</b_ck_kllb_xsmk>
+    <b_ck_kllb_xsmk>True</b_ck_kllb_xsmk>
     <index_cb_kllb_jsfs>0</index_cb_kllb_jsfs>
     <index_cb_kllb_klfw>0</index_cb_kllb_klfw>
     <int_tb_kllb_ylsx>1</int_tb_kllb_ylsx>
@@ -150,7 +150,7 @@
     <Path>./Config/ReportTemplate/ReportTemplateConfig.xml</Path>
   </M_address>
   <M_JZWZB>
-    <b_ck_surface>False</b_ck_surface>
+    <b_ck_surface>True</b_ck_surface>
     <b_ck_chart>True</b_ck_chart>
   </M_JZWZB>
   <whole>

BIN
Bin/x64/Debug/Config/SysData/Baohuzha.db


+ 1 - 1
Bin/x64/Debug/Resources/XMLData/AppResource_EN.xml

@@ -1165,7 +1165,7 @@ field of view(%)" />
 	  <Control name="m_MeasureRetWindowName" text="MeasurementResult" />
 	  <Control name="m_NoWindowName" text="UnknownWorkingWindow" />
 	  <Control name="rbSTDEdit" text="Edit standard library" />
-	  <Control name="rbReClassify" text="Reclassification" />
+	  <Control name="menuHistoryPrj" text="HistoryProject" />
 	  <Control name="rbSysMgrApp" text="SystemSetting" />
 	  <Control name="rbConnectHardware" text="ConnectSem" />
 	  <Control name="rbDisconnectHardware" text="DisConnectSem" />

+ 1 - 1
Bin/x64/Debug/Resources/XMLData/AppResource_ZH.xml

@@ -1098,7 +1098,7 @@
 	  <Control name="m_MeasureRetWindowName" text="测量结果" />
 	  <Control name="m_NoWindowName" text="未知工作窗口" />
 	  <Control name="rbSTDEdit" text="编辑标准库" />
-	  <Control name="rbReClassify" text="重新分类" />
+	  <Control name="menuHistoryPrj" text="历史项目" />
 	  <Control name="rbSysMgrApp" text="系统设置" />
 	  <Control name="language" text="ZH" />
 	  <Control name="message1" text="无OTSIncA有效通行证!" />

+ 3 - 1
OTSCPP/OTSClrInterface/CommonClr/OTSParticleClr.cpp

@@ -262,7 +262,9 @@ namespace OTSCLRINTERFACE {
 	}
 	void COTSParticleClr::SetFieldOTSPos(System::Drawing::Point^ a_pOTSPos)
 	{
-		m_Particle->get()->SetOTSScanFieldPos(CPoint(a_pOTSPos->X, a_pOTSPos->Y));
+		int x = a_pOTSPos->X;
+		int y = a_pOTSPos->Y;	
+		m_Particle->get()->SetOTSScanFieldPos(CPoint(x, y));
 	}
 
 	COTSFeatureClr^ COTSParticleClr::GetFeature()

+ 131 - 0
OTSCommon/CHistoryPrj.cs

@@ -0,0 +1,131 @@
+
+using OTSDataType;
+using System;
+using System.Collections.Generic;
+using System.IO;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using System.Xml;
+
+namespace  OTSCommon
+{
+    public class CHistoryPrj : ISlo
+    {
+        private string strfilepath = @".\Config\ProData\HistoryPrj.xml";
+        List<string> m_listPrjPath;
+        public CHistoryPrj()
+        {
+            m_listPrjPath = new List<string>();
+        }
+        public void AddPrjPath(string strPath)
+        {
+            if (!m_listPrjPath.Contains(strPath))
+            {
+                m_listPrjPath.Add(strPath);
+            }
+            else 
+            { 
+            int i=m_listPrjPath.IndexOf(strPath);
+                m_listPrjPath.RemoveAt(i);  
+                m_listPrjPath.Add(strPath); 
+            }
+            if (m_listPrjPath.Count > 10)
+            {
+                m_listPrjPath.RemoveAt(0);
+            }
+        }
+        public List<string> GetPrjPathList()
+        {
+           List< string> strTemp= new List<string>(m_listPrjPath);
+            strTemp.Reverse();
+            return strTemp;
+        }
+        public string GetLatestPrjFolder()
+        {
+            string strLatestFolder = string.Empty;
+            if (m_listPrjPath.Count > 0)
+            {
+                strLatestFolder = m_listPrjPath[m_listPrjPath.Count - 1];
+                int nLastIndex = strLatestFolder.LastIndexOf('\\');
+                if (nLastIndex != -1)
+                {
+                    strLatestFolder = strLatestFolder.Substring(0, nLastIndex);
+                    return strLatestFolder;
+                }
+            }
+            return string.Empty;
+        }
+        public string GetLatestPrjUpFolder()
+        {
+            string strLatestPrj = GetLatestPrjFolder();
+            string strLatestFolder;
+            int nLastIndex = strLatestPrj.LastIndexOf('\\');
+            if (nLastIndex != -1)
+            {
+                strLatestFolder = strLatestPrj.Substring(0, nLastIndex);
+                return strLatestFolder;
+            }
+            return string.Empty;
+        }
+
+        public override void Serialize(bool isStoring, XmlDocument classDoc, XmlNode rootNode)
+        {
+            if (isStoring)
+            {
+                foreach (string strPath in m_listPrjPath)
+                {
+                    
+                  
+                    rootNode.AppendChild(classDoc.CreateElement("PathName")).InnerText = strPath;
+                }
+              
+              
+            }
+            else
+            {
+                m_listPrjPath.Clear();
+              
+                for (int i = 0; i < rootNode.ChildNodes.Count; i++)
+                {
+
+                    m_listPrjPath.Add(rootNode.ChildNodes[i].InnerText);
+                }
+                
+            }
+        }
+        public void loadHistoryPath()
+        {
+            
+            if (File.Exists(strfilepath))
+            {
+                XmlDocument doc = new XmlDocument();
+                //载入xml文件
+                doc.Load(strfilepath);
+
+                XmlNode root = doc.SelectSingleNode("XMLData");
+                // tried to load it
+                Serialize(false, doc, root);
+            }
+
+        }
+        public void saveHistoryPath()
+        {
+            XmlDocument doc = new XmlDocument();
+            doc.Load(strfilepath);
+            doc.RemoveAll();
+            //添加xml文件头申明
+            XmlDeclaration xmldecl = doc.CreateXmlDeclaration("1.0", "UTF-8", null);
+            doc.AppendChild(xmldecl);
+            XmlElement rootNode = doc.CreateElement("XMLData");
+            doc.AppendChild(rootNode);
+
+            Serialize(true, doc, rootNode);
+            try
+            {
+                doc.Save(strfilepath);
+            }
+            catch (Exception ex) { }
+        }   
+    }
+}

+ 6 - 0
OTSCommon/OTSCommon.csproj

@@ -162,6 +162,10 @@
       <HintPath>..\OpenDll\WordApiDll\ICSharpCode.SharpZipLib.dll</HintPath>
       <Private>False</Private>
     </Reference>
+    <Reference Include="NLog">
+      <HintPath>..\OpenDll\Nlog\NLog.dll</HintPath>
+      <Private>False</Private>
+    </Reference>
     <Reference Include="NPOI">
       <HintPath>..\OpenDll\NPOI\NPOI.dll</HintPath>
       <Private>False</Private>
@@ -199,6 +203,7 @@
     <Reference Include="System.Xml" />
   </ItemGroup>
   <ItemGroup>
+    <Compile Include="CHistoryPrj.cs" />
     <Compile Include="DBOperate\Model\Element.cs" />
     <Compile Include="DBOperate\Model\Field.cs" />
     <Compile Include="DBOperate\Model\Particle.cs" />
@@ -212,6 +217,7 @@
     <Compile Include="DBOperate\SqLiteHelper.cs" />
     <Compile Include="DBOperate\SQliteManageClass.cs" />
     <Compile Include="XMLoperate.cs" />
+    <Compile Include="XMLSerialization.cs" />
   </ItemGroup>
   <ItemGroup>
     <None Include="App.config" />

+ 599 - 0
OTSCommon/XMLSerialization.cs

@@ -0,0 +1,599 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using System.Xml;
+using System.Drawing;
+
+namespace OTSDataType
+{
+
+
+    public interface Convertinterface
+    {
+        void Serialize(bool isStoring, XmlDocument xml, XmlNode rootNode);
+    }
+    public class MemberBase
+    {
+        const string RootClassName = "XMLData";
+        const string XMLClassEndTag = "</" + RootClassName + ">";
+        const string Empty_String = "";
+
+        protected string m_sValue;
+        //public virtual ~MemberBase() { };
+        public virtual void Dispose() { }
+        public string toString() { return m_sValue; }
+        //public const char* c_str() { return m_sValue.c_str(); }
+        public string getStringPtr(string str) { return m_sValue = str; }     //c++原代码为:std::string *getStringPtr() { return &m_sValue; }; 
+    }
+    /**
+		serializable string
+	*/
+    public class xString : MemberBase
+    {
+        public void AssignValue(string value) { m_sValue = value; }           //因为c#无=重载,所以修改为public
+        public xString() { }
+        public xString(string value) { AssignValue(value); }
+        public string value() { return m_sValue; }
+
+
+    }
+
+    public class xInt : MemberBase
+    {
+        public void AssignValue(int value) { m_sValue = value.ToString(); }        //因为c#无=重载,所以修改为public
+        public xInt() { AssignValue(0); }
+        public xInt(int value) { AssignValue(value); }
+        public int value()
+        {
+            int value;
+            value = int.Parse(m_sValue);
+            return value;
+        }
+ 
+    }
+
+    public class xDouble : MemberBase
+    {
+        public void AssignValue(double value) { m_sValue = value.ToString(); }       //因为c#无=重载,所以修改为public
+        public xDouble() { AssignValue(0); }
+        public xDouble(double value) { AssignValue(value); }
+        public double value()
+        {
+            double value;
+            if(m_sValue == null || m_sValue == "")
+            {
+                return 0;
+            }
+            value = Convert.ToDouble(m_sValue);
+            return value;
+        }
+
+    }
+
+
+
+
+    public class xLong : MemberBase
+    {
+        public void AssignValue(long value) { m_sValue = value.ToString(); }   //因为c#无=重载,所以修改为public            public xLong() { AssignValue(0); }
+        public xLong() { AssignValue(0); }
+        public xLong(long value) { AssignValue(value); }
+        public long value()
+        {
+            long value;
+            if (m_sValue == null || m_sValue == "")
+            {
+                return 0;
+            }
+            value = long.Parse(m_sValue);
+            return value;
+        }
+
+    }
+
+    public class xDWORD : MemberBase
+    {
+        public void AssignValue(uint value) { m_sValue = value.ToString(); }    //因为c#无=重载,所以修改为public
+        public xDWORD() { AssignValue(0); }
+        public xDWORD(uint value) { AssignValue(value); }
+        public uint value()
+        {
+            uint value;
+            if (m_sValue == null || m_sValue == "")
+            {
+                return 0;
+            }
+            value = uint.Parse(m_sValue);
+            return value;
+        }
+
+    }
+    public class xBool : MemberBase
+    {
+        public void AssignValue(bool value) { m_sValue = value ? "true" : "false"; }       //因为c#无=重载,所以修改为public
+        public xBool() { AssignValue(false); }
+        public xBool(bool value) { AssignValue(value); }
+        public bool value()
+        {
+            bool value = false;
+            string sHelp = m_sValue;
+            //transform(sHelp.GetEnumerator(), sHelp.end(), sHelp.GetEnumerator(), toupper);
+            sHelp = sHelp.ToUpper();
+            if (sHelp == "TRUE")
+                return true;
+            return value;
+        }
+
+    }
+
+
+    public class xTime_t : MemberBase                
+    {
+        public void AssignValue(DateTime value)     //因为c#无=重载,所以修改为public
+        {
+            m_sValue = value.ToString();
+        }
+
+        public xTime_t()
+        {
+            DateTime t = Convert.ToDateTime("1000-01-01 00:00:00");
+            AssignValue(t);
+        }
+
+        public xTime_t(DateTime value) { AssignValue(value); }
+
+        public DateTime value()
+        {
+            return Convert.ToDateTime(m_sValue);
+        }
+    }
+
+
+    public class xOleDateTimeSpan : MemberBase   
+    {
+        public void AssignValue(TimeSpan value)        //因为c#无=重载,所以修改为public
+        {
+            m_sValue = value.ToString();
+        }
+        public xOleDateTimeSpan()
+        {
+            TimeSpan timeSpan = DateTime.Now - DateTime.Now;
+            AssignValue(timeSpan);
+        }
+        public xOleDateTimeSpan(TimeSpan value) { AssignValue(value); }
+
+        public TimeSpan value()
+        {
+            return TimeSpan.Parse(m_sValue);
+        }
+       
+    };
+
+    public class xRect : MemberBase
+    {
+        public void AssignValue(RectangleF value, int shape = 1)        //因为c#无=重载,所以修改为public
+        {
+            //Rect x = new Rect();
+
+            // domain text body
+            string strDomainTextBody = "";
+            // value 1 -- shape
+            string strValue = "";
+
+            // value 2 -- center x
+            // domain center
+            int centerX = (int)(value.Left + value.Right) / 2;
+            strValue = centerX.ToString();
+
+            strDomainTextBody += strValue + ",";
+            // value 3 -- center y
+            int centerY = (int)(value.Top + value.Bottom) / 2;
+            strValue = centerY.ToString();
+            strDomainTextBody += strValue + ",";
+
+            if (shape == 0)
+            {
+                // value 4 -- diameter
+                int diameter = (int)value.Width;
+                strValue = diameter.ToString();
+                strDomainTextBody += strValue + ",";
+                // value 5 -- 0
+                strDomainTextBody += "0";
+            }
+            else
+            {
+                // value 4 -- width
+                int width = (int)value.Width;
+                strValue = width.ToString();
+                strDomainTextBody += strValue + ",";
+                // value 5 -- height
+                int height = (int)value.Height;
+                strValue = height.ToString();
+                strDomainTextBody += strValue;
+            }
+
+            // return domain text body
+            m_sValue = strDomainTextBody;
+        }
+
+        public xRect()  //xRect() { AssignValue(0); };???
+        {
+            Rectangle value = new Rectangle();
+            value.X = 0;
+            value.Y = 0;
+            value.Width = 1;
+            value.Height = 1;
+            AssignValue(value, 1);
+        }
+
+        public xRect(Rectangle value, int shape) { AssignValue(value, shape); }
+
+        public void SplitString(string s, ref List<string> v, string c)
+        {
+            string[] sArray = System.Text.RegularExpressions.Regex.Split(s, c, System.Text.RegularExpressions.RegexOptions.None);
+            foreach (string i in sArray)
+                v.Add(i);
+        }
+        public Rectangle value()
+        {
+            List<string> point = new List<string>();
+            SplitString(m_sValue, ref point, ",");
+
+            System.Drawing.Point pReftTop = new System.Drawing.Point();
+            pReftTop.X = int.Parse(point[0]);
+            pReftTop.Y = int.Parse(point[1]);
+            System.Drawing.Size pRightBottom = new System.Drawing.Size();
+            pRightBottom.Width = int.Parse(point[2]);
+            pRightBottom.Height = int.Parse(point[3]);
+            Rectangle rectangle = new Rectangle(pReftTop, pRightBottom);
+
+            return rectangle;
+        }
+       
+    }
+
+    public class xPoint : MemberBase
+    {
+        public void AssignValue(System.Drawing.Point value)             //因为c#无=重载,所以修改为public
+        {
+            int X = value.X;
+            int Y = value.Y;
+            string OutString;
+            string sX = X.ToString();
+            string sY = Y.ToString();
+            OutString = sX + "," + sY;
+            m_sValue = OutString;
+        }
+        public xPoint()
+        {
+            System.Drawing.Point value = new System.Drawing.Point();
+            value.X = 0;
+            value.Y = 0;
+            AssignValue(value);
+        }
+        public xPoint(System.Drawing.Point value) { AssignValue(value); }
+        public void SplitString(string s, ref List<string> v, string c)
+        {
+            string[] sArray = System.Text.RegularExpressions.Regex.Split(s, c, System.Text.RegularExpressions.RegexOptions.None);
+            foreach (string i in sArray)
+                v.Add(i);
+        }
+        public System.Drawing.Point value()
+        {
+            System.Drawing.Point p = new System.Drawing.Point();
+            List<string> point = new List<string>();
+            SplitString(m_sValue, ref point, ",");
+
+            p.X = int.Parse(point[0]);
+            p.Y = int.Parse(point[1]);
+
+            return p;
+        }
+      
+    };
+
+
+ 
+    public abstract class CollectionBase<ISlo>
+    {
+        private string m_sCollectionName;
+        private string m_sCollectionClassType;
+        public CollectionBase() { m_sCollectionName = ""; m_sCollectionClassType = ""; }
+        public List<ISlo> m_vCollection = new List<ISlo>(); //vector<ISlo*> m_vCollection;  ISlo*转??
+
+        public SortedDictionary<ISlo, bool> m_mOwner = new SortedDictionary<ISlo, bool>();   //map<ISlo*, bool> ??
+        public void setCollectionName(string value) { m_sCollectionName = value; }
+        public void setCollectionClassType(string value) { m_sCollectionClassType = value; }
+        public abstract ISlo newElement();
+        public string getCollectionName() { return m_sCollectionName; }
+        public int size() { return m_vCollection.Count(); }
+        public ISlo getItem(int itemID) { return m_vCollection[itemID]; }
+        public void Clear()
+        {
+            if (m_vCollection.Count() > 0)
+            {
+                m_vCollection.Clear();
+            }
+        }
+    }
+
+    public class Collection<T> : CollectionBase<ISlo>
+    {
+        /**
+        create new element of type T
+        @return empty object of type T
+        */
+        public override ISlo newElement() 
+        {
+            T newItem = System.Activator.CreateInstance<T>();
+            //T newItem = default(T);
+            object temp = newItem;
+            ISlo sIo = (ISlo)temp;
+
+            //Slo sIo = new Slo();
+            m_vCollection.Add(sIo);
+            //I change this value to be false forever(gsp).No matter what case there's no need to set the object's owner to the collection
+            //after we created the object we'll put them to in a smartpointer.then the smartpointer will manage it.
+            //m_mOwner[sIo] = false;//m_mOwner[newItem]=true 
+            //Type type = newItem.GetType();
+            return sIo;
+        }
+
+        public void addItem(T item)
+        {
+            object temp = item;
+            ISlo sIo = (ISlo)temp;
+            m_vCollection.Add(sIo);/* m_mOwner[item] = false;*/
+        }
+
+        public T getItem(int itemID)
+        {
+            object temp = m_vCollection[itemID];
+            T item = (T)temp;
+            return item;
+        }
+    };
+
+    public abstract class ISlo : Convertinterface
+    {
+        public abstract void Serialize(bool isStoring, XmlDocument classDoc, XmlNode rootNode);
+
+       
+    }
+
+
+
+    public class Slo: ISlo
+    {
+        
+
+        public string strReplaceAll(string source, string searchFor, string replaceWith)
+        {
+            if ((searchFor == null) || (searchFor == ""))
+            {
+                return source;
+            }
+            source.Replace(searchFor, replaceWith);
+            return source;
+        }
+
+        public string m_sXML;
+        public string m_sClassName;
+        public string m_sVersion;
+        public SortedDictionary<string, MemberBase> m_AttributeMappings = new SortedDictionary<string, MemberBase>();
+        public SortedDictionary<string, ISlo> m_MemberMappings=new SortedDictionary<string, ISlo>();
+        public SortedDictionary<string, CollectionBase<ISlo>> m_MemberCollections=new SortedDictionary<string, CollectionBase<ISlo>>();
+
+        public void setClassName(string ClassName) { m_sClassName = ClassName; }
+        public Slo()
+        {
+            m_sClassName = null;
+            m_sVersion = null;
+            m_sXML = null;
+            m_AttributeMappings.Clear();
+            m_MemberMappings.Clear();
+            m_MemberCollections.Clear();
+        }
+
+        /**
+         Register a member
+         @MemberName XML-Description/Name for the member
+         @Member Member to register
+         @return void
+        */
+        public void Register(string MemberName, MemberBase Member)  // public void Register(string MemberName, MemberBase Member, string DefaultValue)  DefaultValue无引用,c#无自动补充功能,故方法调整为双参数
+        {
+            m_AttributeMappings[MemberName] = Member;
+        }
+
+        /**
+        Register a member-subclass
+        @MemberName XML-Description/Name for the member-class
+        @Member Member-class to register
+        @return void
+        */
+        public void Register(string MemberName, ISlo Member)
+        {
+            m_MemberMappings[MemberName] = Member;
+        }
+
+        /**
+         Register a class-collection
+         @CollectionName XML-Description/Name for the collection
+         @SubclassCollection Collection to register
+         @return void
+        */
+        public void Register(string CollectionName, CollectionBase<ISlo> SubclassCollection)
+        {
+            SubclassCollection.setCollectionName(CollectionName);
+            m_MemberCollections[CollectionName] = SubclassCollection;
+        }
+
+
+        public override void Serialize(bool isStoring, XmlDocument xml, XmlNode rootNode)
+        {
+            if (isStoring)
+            {
+                if (xml.DocumentElement != null)
+                {
+                    toXML(xml, rootNode);
+                }
+            }
+            else
+            {
+                fromXML(xml, rootNode);
+            }
+        }
+        public void toXML(XmlDocument xml, XmlNode rootNode)
+        {
+
+            for (int it_member = 0; it_member < m_AttributeMappings.Count; it_member++)
+            {
+                var element = m_AttributeMappings.ElementAt(it_member);
+
+                if (rootNode.Attributes[element.Key] == null)
+                {
+                    XmlElement XmlEle = (XmlElement)rootNode;
+                    XmlEle.SetAttribute(element.Key, element.Value.toString());
+                }
+                else
+                {
+                    rootNode.Attributes[element.Key].InnerText = element.Value.toString();
+                }
+            }
+
+
+            for (int it_subclass = 0; it_subclass < m_MemberMappings.Count; it_subclass++)
+            {
+                var element = m_MemberMappings.ElementAt(it_subclass);
+                ISlo subMember = element.Value;
+                XmlNode subClassNode = xml.CreateElement("Member");
+                rootNode.AppendChild(subClassNode);
+
+  
+                XmlElement XmlEle_subclass = (XmlElement)subClassNode;
+                XmlEle_subclass.SetAttribute("RegName", element.Key);
+                subMember.Serialize(true, xml, subClassNode);
+            }
+
+
+  
+
+            for (int it_collection = 0; it_collection < m_MemberCollections.Count; it_collection++)
+            {
+                var element = m_MemberCollections.ElementAt(it_collection);
+                XmlNode listNode = xml.CreateElement("Collection");
+                XmlElement XmlEle = (XmlElement)listNode;
+                XmlEle.SetAttribute("RegName", element.Value.getCollectionName());
+                for (int c = 0; c < element.Value.size(); c++)
+                {
+                    ISlo item = element.Value.getItem(c);
+                    XmlNode elementNode = xml.CreateElement("Member");
+                    item.Serialize(true, xml, elementNode);
+                    listNode.AppendChild(elementNode);
+                }
+
+                rootNode.AppendChild(listNode);
+            }
+        }
+
+        public void fromXML(XmlDocument xml, XmlNode rootNode)
+        {
+
+
+            for (int count = 0; count < m_AttributeMappings.Count; count++)
+            {
+                var element = m_AttributeMappings.ElementAt(count);
+                if (rootNode.Attributes[element.Key] != null)
+                {
+                    //string aa = rootNode.Attributes[element.Key].Value;
+                    element.Value.getStringPtr(rootNode.Attributes[element.Key].Value);
+                }
+                else
+                {
+                   element.Value.getStringPtr("");
+                    NLog.LogManager.GetCurrentClassLogger().Error("cann't find " + element.Key + " in config file!");
+
+                }
+            }
+
+
+
+            XmlNodeList classNodeList = rootNode.SelectNodes("Member");
+            if (classNodeList.Count != 0)
+            {
+                for (int i = 0; i < classNodeList.Count; i++)
+                {
+                    string className = classNodeList[i].Attributes["RegName"].Value;
+                    for (int count = 0; count < m_MemberMappings.Count; count++)
+                    {
+                        var element = m_MemberMappings.ElementAt(count);
+                        if (element.Key == className)
+                        {
+                            element.Value.Serialize(false, xml, classNodeList[i]);
+                            break;
+                        }
+                    }
+                }
+            }
+
+ 
+
+            XmlNodeList collectionNodeList = rootNode.SelectNodes("Collection");
+            if (collectionNodeList.Count != 0)
+            {
+                for (int i = 0; i < collectionNodeList.Count; i++)
+                {
+                    string collectionName = collectionNodeList[i].Attributes["RegName"].Value;
+
+                    for (int count = 0; count < m_MemberCollections.Count; count++)
+                    {
+                        var element = m_MemberCollections.ElementAt(count);
+                        if (element.Value.getCollectionName() == collectionName)
+                        {
+                            element.Value.Clear();
+                            XmlNodeList classNode2List = collectionNodeList[i].SelectNodes("Member");
+                            if (classNode2List.Count != 0)
+                            {
+                                for (int j = 0; j < classNode2List.Count; j++)
+                                {
+                                    Convertinterface newItem = (Convertinterface)element.Value.newElement();
+                                    newItem.Serialize(false, xml, classNode2List[j]);
+                                }
+                            }
+                        }
+                    }
+                }
+            }
+        }
+
+        public string IdentifyClass(XmlNode rootNode, string XMLSource)
+        {
+            return rootNode.Attributes["RegName"].Value;
+        }
+
+        public string IdentifyClassVersions(XmlNode rootNode, string XMLSource)  //同 IdentifyClass ???
+        {
+            return rootNode.Attributes["RegName"].Value;
+        }
+
+
+        public string getClassName() { return m_sClassName; }
+        public void setVersion(string value) { m_sVersion = value; }
+        public string getVersion() { return m_sVersion; }
+
+        public void Clear()
+        {
+            m_AttributeMappings.Clear();
+            m_MemberMappings.Clear();
+            m_MemberCollections.Clear();
+        }
+
+        internal void Register(string v, bool m_obShowAreaUp)
+        {
+            throw new NotImplementedException();
+        }
+    }
+}

+ 6 - 2
OTSIncAMeasureApp/1-OTSMeasure/Measure/ParamData/COTSMsrPrjResultData.cs

@@ -1,4 +1,5 @@
 using OTSCLRINTERFACE;
+using OTSCommon;
 using OTSDataType;
 using OTSModelSharp.ServiceCenter;
 using System;
@@ -66,7 +67,7 @@ namespace OTSModelSharp
             //m_listHoleBSEImg.Clear();
 
             m_bModify = false;
-            m_strPathName = "";
+            m_strPathName = UNTITLED_FILE_NAME;
             m_nWorkingSampeIndex = -1;
 
         }
@@ -221,7 +222,7 @@ namespace OTSModelSharp
             m_listSamples.Clear();
 
             m_bModify = false;
-            m_strPathName = "";
+            m_strPathName = UNTITLED_FILE_NAME;
             m_nWorkingSampeIndex = -1;
         }
 
@@ -521,6 +522,9 @@ namespace OTSModelSharp
             saveFileDialog.FileName = m_strPathName.Split('\\')[m_strPathName.Split('\\').Length - 1];
             saveFileDialog.Filter = "Directory (*.*)|*.*";
             saveFileDialog.AddExtension = false;
+            CHistoryPrj historyPrj = new CHistoryPrj();
+            historyPrj.loadHistoryPath();
+            saveFileDialog.InitialDirectory = historyPrj.GetLatestPrjUpFolder();
             if (saveFileDialog.ShowDialog() != DialogResult.OK)
             {
                 return false;

+ 0 - 1
OTSIncAMeasureApp/4-OTSSamplespaceGraphicsPanel/OTSSamplespaceWindow.cs

@@ -2703,7 +2703,6 @@ namespace OTSMeasureApp
                     polygonPoints.RemoveAt(polygonPoints.Count - 1);//remove the last one.
                     m_DrawMeasureGDIObject.SetPolygonPointFList(polygonPoints);
 
-
                 }
                 else
                 {

+ 6 - 6
OTSIncAMeasureApp/6-OTSDisplayTreeViewData/OTSSolutionWindow.Designer.cs

@@ -76,19 +76,19 @@
             this.RightClickNoCheckContextMenuStrip.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
             this.toolStripMenuItem1});
             this.RightClickNoCheckContextMenuStrip.Name = "RightClickNoCheckContextMenuStrip";
-            this.RightClickNoCheckContextMenuStrip.Size = new System.Drawing.Size(149, 26);
+            this.RightClickNoCheckContextMenuStrip.Size = new System.Drawing.Size(181, 48);
             // 
             // toolStripMenuItem1
             // 
             this.toolStripMenuItem1.Name = "toolStripMenuItem1";
-            this.toolStripMenuItem1.Size = new System.Drawing.Size(148, 22);
+            this.toolStripMenuItem1.Size = new System.Drawing.Size(180, 22);
             this.toolStripMenuItem1.Text = "增加样品测量";
             this.toolStripMenuItem1.Click += new System.EventHandler(this.toolStripMenuItem1_AddNode_Click);
             // 
             // DeleteNode
             // 
             this.DeleteNode.Name = "DeleteNode";
-            this.DeleteNode.Size = new System.Drawing.Size(180, 22);
+            this.DeleteNode.Size = new System.Drawing.Size(148, 22);
             this.DeleteNode.Text = "删除样品";
             this.DeleteNode.Click += new System.EventHandler(this.DeleteNode_Click);
             // 
@@ -100,12 +100,12 @@
             this.ClearMeasureData,
             this.reClassifyToolStripMenuItem});
             this.RightClickCheckContextMenuStrip.Name = "contextMenuStrip1";
-            this.RightClickCheckContextMenuStrip.Size = new System.Drawing.Size(181, 92);
+            this.RightClickCheckContextMenuStrip.Size = new System.Drawing.Size(149, 70);
             // 
             // ClearMeasureData
             // 
             this.ClearMeasureData.Name = "ClearMeasureData";
-            this.ClearMeasureData.Size = new System.Drawing.Size(180, 22);
+            this.ClearMeasureData.Size = new System.Drawing.Size(148, 22);
             this.ClearMeasureData.Text = "清除测量数据";
             this.ClearMeasureData.Visible = false;
             this.ClearMeasureData.Click += new System.EventHandler(this.ClearSampleMeasureData_Click);
@@ -113,7 +113,7 @@
             // reClassifyToolStripMenuItem
             // 
             this.reClassifyToolStripMenuItem.Name = "reClassifyToolStripMenuItem";
-            this.reClassifyToolStripMenuItem.Size = new System.Drawing.Size(180, 22);
+            this.reClassifyToolStripMenuItem.Size = new System.Drawing.Size(148, 22);
             this.reClassifyToolStripMenuItem.Text = "ReClassify";
             this.reClassifyToolStripMenuItem.Click += new System.EventHandler(this.reClassifyToolStripMenuItem_Click);
             // 

+ 1 - 0
OTSIncAMeasureApp/OTSIncAMeasureApp.csproj

@@ -450,6 +450,7 @@
     <Compile Include="4-OTSSamplespaceGraphicsPanel\SlopFocus.Designer.cs">
       <DependentUpon>SlopFocus.cs</DependentUpon>
     </Compile>
+    <Compile Include="6-OTSDisplayTreeViewData\CHistoryPrj.cs" />
     <Compile Include="7-OTSProgMgrInfo\OtherSelection.cs">
       <SubType>Form</SubType>
     </Compile>

+ 157 - 206
OTSIncAMeasureApp/OTSIncAMeasureAppForm.Designer.cs

@@ -49,24 +49,21 @@
             this.rbSave = new System.Windows.Forms.RibbonButton();
             this.rbSaveAs = new System.Windows.Forms.RibbonButton();
             this.rbMenu = new System.Windows.Forms.Ribbon();
-            this.rbNewDocument = new System.Windows.Forms.RibbonOrbMenuItem();
-            this.rbOpenFile = new System.Windows.Forms.RibbonOrbMenuItem();
+            this.menuNewDocument = new System.Windows.Forms.RibbonOrbMenuItem();
+            this.menuOpenprj = new System.Windows.Forms.RibbonOrbMenuItem();
             this.ribbonSeparator1 = new System.Windows.Forms.RibbonSeparator();
-            this.rbSaveFile = new System.Windows.Forms.RibbonOrbMenuItem();
-            this.rvSaveAsFile = new System.Windows.Forms.RibbonOrbMenuItem();
-            this.rbSTDEdit = new System.Windows.Forms.RibbonButton();
-            this.rbReClassify = new System.Windows.Forms.RibbonButton();
-            this.rbSysMgrApp = new System.Windows.Forms.RibbonButton();
+            this.menuSaveprj = new System.Windows.Forms.RibbonOrbMenuItem();
+            this.menuSaveAsprj = new System.Windows.Forms.RibbonOrbMenuItem();
+            this.menuSTDEdit = new System.Windows.Forms.RibbonButton();
+            this.menuHistoryPrj = new System.Windows.Forms.RibbonButton();
+            this.menuSysMgrApp = new System.Windows.Forms.RibbonButton();
             this.ribbonSeparator2 = new System.Windows.Forms.RibbonSeparator();
-            this.rbAbout = new System.Windows.Forms.RibbonOrbMenuItem();
-            this.rbExitApp = new System.Windows.Forms.RibbonOrbMenuItem();
+            this.menuAbout = new System.Windows.Forms.RibbonOrbMenuItem();
+            this.menuExitApp = new System.Windows.Forms.RibbonOrbMenuItem();
             this.rbSelectDlg = new System.Windows.Forms.RibbonOrbOptionButton();
             this.rbTabHome = new System.Windows.Forms.RibbonTab();
             this.rbPanelFile = new System.Windows.Forms.RibbonPanel();
             this.rbPanelSample = new System.Windows.Forms.RibbonPanel();
-            this.rbAddSample = new System.Windows.Forms.RibbonButton();
-            this.ribbonSeparator3 = new System.Windows.Forms.RibbonSeparator();
-            this.rbDeleteSample = new System.Windows.Forms.RibbonButton();
             this.ribInvers = new System.Windows.Forms.RibbonButton();
             this.ribCircle = new System.Windows.Forms.RibbonButton();
             this.rbCircleCenter = new System.Windows.Forms.RibbonButton();
@@ -180,17 +177,17 @@
             // 
             this.rbMenu.OrbDropDown.BorderRoundness = 10;
             this.rbMenu.OrbDropDown.Location = new System.Drawing.Point(0, 0);
-            this.rbMenu.OrbDropDown.MenuItems.Add(this.rbNewDocument);
-            this.rbMenu.OrbDropDown.MenuItems.Add(this.rbOpenFile);
+            this.rbMenu.OrbDropDown.MenuItems.Add(this.menuNewDocument);
+            this.rbMenu.OrbDropDown.MenuItems.Add(this.menuOpenprj);
             this.rbMenu.OrbDropDown.MenuItems.Add(this.ribbonSeparator1);
-            this.rbMenu.OrbDropDown.MenuItems.Add(this.rbSaveFile);
-            this.rbMenu.OrbDropDown.MenuItems.Add(this.rvSaveAsFile);
-            this.rbMenu.OrbDropDown.MenuItems.Add(this.rbSTDEdit);
-            this.rbMenu.OrbDropDown.MenuItems.Add(this.rbReClassify);
-            this.rbMenu.OrbDropDown.MenuItems.Add(this.rbSysMgrApp);
+            this.rbMenu.OrbDropDown.MenuItems.Add(this.menuSaveprj);
+            this.rbMenu.OrbDropDown.MenuItems.Add(this.menuSaveAsprj);
+            this.rbMenu.OrbDropDown.MenuItems.Add(this.menuSTDEdit);
+            this.rbMenu.OrbDropDown.MenuItems.Add(this.menuHistoryPrj);
+            this.rbMenu.OrbDropDown.MenuItems.Add(this.menuSysMgrApp);
             this.rbMenu.OrbDropDown.MenuItems.Add(this.ribbonSeparator2);
-            this.rbMenu.OrbDropDown.MenuItems.Add(this.rbAbout);
-            this.rbMenu.OrbDropDown.MenuItems.Add(this.rbExitApp);
+            this.rbMenu.OrbDropDown.MenuItems.Add(this.menuAbout);
+            this.rbMenu.OrbDropDown.MenuItems.Add(this.menuExitApp);
             this.rbMenu.OrbDropDown.Name = "";
             this.rbMenu.OrbDropDown.OptionItems.Add(this.rbSelectDlg);
             this.rbMenu.OrbDropDown.Size = new System.Drawing.Size(527, 474);
@@ -211,35 +208,35 @@
             this.rbMenu.Tabs.Add(this.rbTabView);
             this.rbMenu.TabSpacing = 6;
             // 
-            // rbNewDocument
-            // 
-            this.rbNewDocument.AltKey = null;
-            this.rbNewDocument.DropDownArrowDirection = System.Windows.Forms.RibbonArrowDirection.Left;
-            this.rbNewDocument.DropDownArrowSize = new System.Drawing.Size(5, 3);
-            this.rbNewDocument.Image = global::OTSMeasureApp.Properties.Resources.newdocument32;
-            this.rbNewDocument.SmallImage = global::OTSMeasureApp.Properties.Resources.newdocument32;
-            this.rbNewDocument.Style = System.Windows.Forms.RibbonButtonStyle.Normal;
-            this.rbNewDocument.Tag = "rbNewDocument";
-            this.rbNewDocument.Text = "新建";
-            this.rbNewDocument.ToolTip = null;
-            this.rbNewDocument.ToolTipImage = null;
-            this.rbNewDocument.ToolTipTitle = null;
-            this.rbNewDocument.Click += new System.EventHandler(this.ribbonOrbMenuItem3_CreateWorkspace_Click);
-            // 
-            // rbOpenFile
-            // 
-            this.rbOpenFile.AltKey = null;
-            this.rbOpenFile.DropDownArrowDirection = System.Windows.Forms.RibbonArrowDirection.Left;
-            this.rbOpenFile.DropDownArrowSize = new System.Drawing.Size(5, 3);
-            this.rbOpenFile.Image = global::OTSMeasureApp.Properties.Resources.open32;
-            this.rbOpenFile.SmallImage = global::OTSMeasureApp.Properties.Resources.open32;
-            this.rbOpenFile.Style = System.Windows.Forms.RibbonButtonStyle.Normal;
-            this.rbOpenFile.Tag = "rbOpenFile";
-            this.rbOpenFile.Text = "打开";
-            this.rbOpenFile.ToolTip = "rbOpenFile";
-            this.rbOpenFile.ToolTipImage = null;
-            this.rbOpenFile.ToolTipTitle = "rbOpenFile";
-            this.rbOpenFile.Click += new System.EventHandler(this.ribbonOrbMenuItem1_OpenWorkspace_Click);
+            // menuNewDocument
+            // 
+            this.menuNewDocument.AltKey = null;
+            this.menuNewDocument.DropDownArrowDirection = System.Windows.Forms.RibbonArrowDirection.Left;
+            this.menuNewDocument.DropDownArrowSize = new System.Drawing.Size(5, 3);
+            this.menuNewDocument.Image = global::OTSMeasureApp.Properties.Resources.newdocument32;
+            this.menuNewDocument.SmallImage = global::OTSMeasureApp.Properties.Resources.newdocument32;
+            this.menuNewDocument.Style = System.Windows.Forms.RibbonButtonStyle.Normal;
+            this.menuNewDocument.Tag = "rbNewDocument";
+            this.menuNewDocument.Text = "新建";
+            this.menuNewDocument.ToolTip = null;
+            this.menuNewDocument.ToolTipImage = null;
+            this.menuNewDocument.ToolTipTitle = null;
+            this.menuNewDocument.Click += new System.EventHandler(this.ribbonOrbMenuItem3_CreateWorkspace_Click);
+            // 
+            // menuOpenprj
+            // 
+            this.menuOpenprj.AltKey = null;
+            this.menuOpenprj.DropDownArrowDirection = System.Windows.Forms.RibbonArrowDirection.Left;
+            this.menuOpenprj.DropDownArrowSize = new System.Drawing.Size(5, 3);
+            this.menuOpenprj.Image = global::OTSMeasureApp.Properties.Resources.open32;
+            this.menuOpenprj.SmallImage = global::OTSMeasureApp.Properties.Resources.open32;
+            this.menuOpenprj.Style = System.Windows.Forms.RibbonButtonStyle.Normal;
+            this.menuOpenprj.Tag = "rbOpenFile";
+            this.menuOpenprj.Text = "打开";
+            this.menuOpenprj.ToolTip = "rbOpenFile";
+            this.menuOpenprj.ToolTipImage = null;
+            this.menuOpenprj.ToolTipTitle = "rbOpenFile";
+            this.menuOpenprj.Click += new System.EventHandler(this.ribbonOrbMenuItem1_OpenWorkspace_Click);
             // 
             // ribbonSeparator1
             // 
@@ -251,80 +248,80 @@
             this.ribbonSeparator1.ToolTipImage = null;
             this.ribbonSeparator1.ToolTipTitle = null;
             // 
-            // rbSaveFile
-            // 
-            this.rbSaveFile.AltKey = null;
-            this.rbSaveFile.DropDownArrowDirection = System.Windows.Forms.RibbonArrowDirection.Left;
-            this.rbSaveFile.DropDownArrowSize = new System.Drawing.Size(5, 3);
-            this.rbSaveFile.Image = global::OTSMeasureApp.Properties.Resources.save32;
-            this.rbSaveFile.SmallImage = global::OTSMeasureApp.Properties.Resources.save32;
-            this.rbSaveFile.Style = System.Windows.Forms.RibbonButtonStyle.Normal;
-            this.rbSaveFile.Tag = "rbSaveFile";
-            this.rbSaveFile.Text = "保存";
-            this.rbSaveFile.ToolTip = null;
-            this.rbSaveFile.ToolTipImage = null;
-            this.rbSaveFile.ToolTipTitle = null;
-            this.rbSaveFile.Click += new System.EventHandler(this.rbSaveFile_Click);
-            // 
-            // rvSaveAsFile
-            // 
-            this.rvSaveAsFile.AltKey = null;
-            this.rvSaveAsFile.DropDownArrowDirection = System.Windows.Forms.RibbonArrowDirection.Left;
-            this.rvSaveAsFile.DropDownArrowSize = new System.Drawing.Size(5, 3);
-            this.rvSaveAsFile.Image = global::OTSMeasureApp.Properties.Resources.saveas32;
-            this.rvSaveAsFile.SmallImage = global::OTSMeasureApp.Properties.Resources.saveas32;
-            this.rvSaveAsFile.Style = System.Windows.Forms.RibbonButtonStyle.Normal;
-            this.rvSaveAsFile.Tag = "rvSaveAsFile";
-            this.rvSaveAsFile.Text = "另存为...";
-            this.rvSaveAsFile.ToolTip = null;
-            this.rvSaveAsFile.ToolTipImage = null;
-            this.rvSaveAsFile.ToolTipTitle = null;
-            this.rvSaveAsFile.Click += new System.EventHandler(this.ribbonOrbMenuItemSaveAs_Click);
-            // 
-            // rbSTDEdit
-            // 
-            this.rbSTDEdit.AltKey = null;
-            this.rbSTDEdit.DropDownArrowDirection = System.Windows.Forms.RibbonArrowDirection.Left;
-            this.rbSTDEdit.DropDownArrowSize = new System.Drawing.Size(5, 3);
-            this.rbSTDEdit.Image = global::OTSMeasureApp.Properties.Resources.编辑;
-            this.rbSTDEdit.SmallImage = global::OTSMeasureApp.Properties.Resources.编辑;
-            this.rbSTDEdit.Style = System.Windows.Forms.RibbonButtonStyle.Normal;
-            this.rbSTDEdit.Tag = "rbSTDEdit";
-            this.rbSTDEdit.Text = "编辑标准库";
-            this.rbSTDEdit.ToolTip = null;
-            this.rbSTDEdit.ToolTipImage = null;
-            this.rbSTDEdit.ToolTipTitle = null;
-            this.rbSTDEdit.Click += new System.EventHandler(this.rbSTDEdit_Click_1);
-            // 
-            // rbReClassify
-            // 
-            this.rbReClassify.AltKey = null;
-            this.rbReClassify.DropDownArrowDirection = System.Windows.Forms.RibbonArrowDirection.Left;
-            this.rbReClassify.DropDownArrowSize = new System.Drawing.Size(5, 3);
-            this.rbReClassify.Image = global::OTSMeasureApp.Properties.Resources.Reset32;
-            this.rbReClassify.SmallImage = global::OTSMeasureApp.Properties.Resources.Reset32;
-            this.rbReClassify.Style = System.Windows.Forms.RibbonButtonStyle.Normal;
-            this.rbReClassify.Tag = "rbReClassify";
-            this.rbReClassify.Text = "重新分类";
-            this.rbReClassify.ToolTip = null;
-            this.rbReClassify.ToolTipImage = null;
-            this.rbReClassify.ToolTipTitle = null;
-            this.rbReClassify.Click += new System.EventHandler(this.rbReClassify_Click);
-            // 
-            // rbSysMgrApp
-            // 
-            this.rbSysMgrApp.AltKey = null;
-            this.rbSysMgrApp.DropDownArrowDirection = System.Windows.Forms.RibbonArrowDirection.Left;
-            this.rbSysMgrApp.DropDownArrowSize = new System.Drawing.Size(5, 3);
-            this.rbSysMgrApp.Image = global::OTSMeasureApp.Properties.Resources.Ruler321;
-            this.rbSysMgrApp.SmallImage = global::OTSMeasureApp.Properties.Resources.Ruler321;
-            this.rbSysMgrApp.Style = System.Windows.Forms.RibbonButtonStyle.Normal;
-            this.rbSysMgrApp.Tag = "rbSysMgrApp";
-            this.rbSysMgrApp.Text = "系统设置";
-            this.rbSysMgrApp.ToolTip = null;
-            this.rbSysMgrApp.ToolTipImage = null;
-            this.rbSysMgrApp.ToolTipTitle = null;
-            this.rbSysMgrApp.Click += new System.EventHandler(this.rbSysMgrApp_Click);
+            // menuSaveprj
+            // 
+            this.menuSaveprj.AltKey = null;
+            this.menuSaveprj.DropDownArrowDirection = System.Windows.Forms.RibbonArrowDirection.Left;
+            this.menuSaveprj.DropDownArrowSize = new System.Drawing.Size(5, 3);
+            this.menuSaveprj.Image = global::OTSMeasureApp.Properties.Resources.save32;
+            this.menuSaveprj.SmallImage = global::OTSMeasureApp.Properties.Resources.save32;
+            this.menuSaveprj.Style = System.Windows.Forms.RibbonButtonStyle.Normal;
+            this.menuSaveprj.Tag = "rbSaveFile";
+            this.menuSaveprj.Text = "保存";
+            this.menuSaveprj.ToolTip = null;
+            this.menuSaveprj.ToolTipImage = null;
+            this.menuSaveprj.ToolTipTitle = null;
+            this.menuSaveprj.Click += new System.EventHandler(this.rbSaveFile_Click);
+            // 
+            // menuSaveAsprj
+            // 
+            this.menuSaveAsprj.AltKey = null;
+            this.menuSaveAsprj.DropDownArrowDirection = System.Windows.Forms.RibbonArrowDirection.Left;
+            this.menuSaveAsprj.DropDownArrowSize = new System.Drawing.Size(5, 3);
+            this.menuSaveAsprj.Image = global::OTSMeasureApp.Properties.Resources.saveas32;
+            this.menuSaveAsprj.SmallImage = global::OTSMeasureApp.Properties.Resources.saveas32;
+            this.menuSaveAsprj.Style = System.Windows.Forms.RibbonButtonStyle.Normal;
+            this.menuSaveAsprj.Tag = "rvSaveAsFile";
+            this.menuSaveAsprj.Text = "另存为...";
+            this.menuSaveAsprj.ToolTip = null;
+            this.menuSaveAsprj.ToolTipImage = null;
+            this.menuSaveAsprj.ToolTipTitle = null;
+            this.menuSaveAsprj.Click += new System.EventHandler(this.ribbonOrbMenuItemSaveAs_Click);
+            // 
+            // menuSTDEdit
+            // 
+            this.menuSTDEdit.AltKey = null;
+            this.menuSTDEdit.DropDownArrowDirection = System.Windows.Forms.RibbonArrowDirection.Left;
+            this.menuSTDEdit.DropDownArrowSize = new System.Drawing.Size(5, 3);
+            this.menuSTDEdit.Image = global::OTSMeasureApp.Properties.Resources.编辑;
+            this.menuSTDEdit.SmallImage = global::OTSMeasureApp.Properties.Resources.编辑;
+            this.menuSTDEdit.Style = System.Windows.Forms.RibbonButtonStyle.Normal;
+            this.menuSTDEdit.Tag = "rbSTDEdit";
+            this.menuSTDEdit.Text = "编辑标准库";
+            this.menuSTDEdit.ToolTip = null;
+            this.menuSTDEdit.ToolTipImage = null;
+            this.menuSTDEdit.ToolTipTitle = null;
+            this.menuSTDEdit.Click += new System.EventHandler(this.rbSTDEdit_Click_1);
+            // 
+            // menuHistoryPrj
+            // 
+            this.menuHistoryPrj.AltKey = null;
+            this.menuHistoryPrj.DropDownArrowDirection = System.Windows.Forms.RibbonArrowDirection.Down;
+            this.menuHistoryPrj.DropDownArrowSize = new System.Drawing.Size(5, 3);
+            this.menuHistoryPrj.DropDownResizable = true;
+            this.menuHistoryPrj.Image = global::OTSMeasureApp.Properties.Resources.Recover32;
+            this.menuHistoryPrj.SmallImage = global::OTSMeasureApp.Properties.Resources.Recover32;
+            this.menuHistoryPrj.Style = System.Windows.Forms.RibbonButtonStyle.DropDown;
+            this.menuHistoryPrj.Tag = null;
+            this.menuHistoryPrj.Text = "历史项目";
+            this.menuHistoryPrj.ToolTip = null;
+            this.menuHistoryPrj.ToolTipImage = null;
+            this.menuHistoryPrj.ToolTipTitle = null;
+            // 
+            // menuSysMgrApp
+            // 
+            this.menuSysMgrApp.AltKey = null;
+            this.menuSysMgrApp.DropDownArrowDirection = System.Windows.Forms.RibbonArrowDirection.Left;
+            this.menuSysMgrApp.DropDownArrowSize = new System.Drawing.Size(5, 3);
+            this.menuSysMgrApp.Image = global::OTSMeasureApp.Properties.Resources.Ruler321;
+            this.menuSysMgrApp.SmallImage = global::OTSMeasureApp.Properties.Resources.Ruler321;
+            this.menuSysMgrApp.Style = System.Windows.Forms.RibbonButtonStyle.Normal;
+            this.menuSysMgrApp.Tag = "rbSysMgrApp";
+            this.menuSysMgrApp.Text = "系统设置";
+            this.menuSysMgrApp.ToolTip = null;
+            this.menuSysMgrApp.ToolTipImage = null;
+            this.menuSysMgrApp.ToolTipTitle = null;
+            this.menuSysMgrApp.Click += new System.EventHandler(this.rbSysMgrApp_Click);
             // 
             // ribbonSeparator2
             // 
@@ -336,33 +333,33 @@
             this.ribbonSeparator2.ToolTipImage = null;
             this.ribbonSeparator2.ToolTipTitle = null;
             // 
-            // rbAbout
-            // 
-            this.rbAbout.AltKey = null;
-            this.rbAbout.DropDownArrowDirection = System.Windows.Forms.RibbonArrowDirection.Left;
-            this.rbAbout.DropDownArrowSize = new System.Drawing.Size(5, 3);
-            this.rbAbout.Image = null;
-            this.rbAbout.Style = System.Windows.Forms.RibbonButtonStyle.Normal;
-            this.rbAbout.Tag = "rbAbout";
-            this.rbAbout.Text = "About";
-            this.rbAbout.ToolTip = null;
-            this.rbAbout.ToolTipImage = null;
-            this.rbAbout.ToolTipTitle = null;
-            this.rbAbout.Click += new System.EventHandler(this.rbAbout_Click);
-            // 
-            // rbExitApp
-            // 
-            this.rbExitApp.AltKey = null;
-            this.rbExitApp.DropDownArrowDirection = System.Windows.Forms.RibbonArrowDirection.Left;
-            this.rbExitApp.DropDownArrowSize = new System.Drawing.Size(5, 3);
-            this.rbExitApp.Image = null;
-            this.rbExitApp.Style = System.Windows.Forms.RibbonButtonStyle.Normal;
-            this.rbExitApp.Tag = "rbExitApp";
-            this.rbExitApp.Text = "退出";
-            this.rbExitApp.ToolTip = null;
-            this.rbExitApp.ToolTipImage = null;
-            this.rbExitApp.ToolTipTitle = null;
-            this.rbExitApp.Click += new System.EventHandler(this.rbExitApp_Click);
+            // menuAbout
+            // 
+            this.menuAbout.AltKey = null;
+            this.menuAbout.DropDownArrowDirection = System.Windows.Forms.RibbonArrowDirection.Left;
+            this.menuAbout.DropDownArrowSize = new System.Drawing.Size(5, 3);
+            this.menuAbout.Image = null;
+            this.menuAbout.Style = System.Windows.Forms.RibbonButtonStyle.Normal;
+            this.menuAbout.Tag = "rbAbout";
+            this.menuAbout.Text = "About";
+            this.menuAbout.ToolTip = null;
+            this.menuAbout.ToolTipImage = null;
+            this.menuAbout.ToolTipTitle = null;
+            this.menuAbout.Click += new System.EventHandler(this.rbAbout_Click);
+            // 
+            // menuExitApp
+            // 
+            this.menuExitApp.AltKey = null;
+            this.menuExitApp.DropDownArrowDirection = System.Windows.Forms.RibbonArrowDirection.Left;
+            this.menuExitApp.DropDownArrowSize = new System.Drawing.Size(5, 3);
+            this.menuExitApp.Image = null;
+            this.menuExitApp.Style = System.Windows.Forms.RibbonButtonStyle.Normal;
+            this.menuExitApp.Tag = "rbExitApp";
+            this.menuExitApp.Text = "退出";
+            this.menuExitApp.ToolTip = null;
+            this.menuExitApp.ToolTipImage = null;
+            this.menuExitApp.ToolTipTitle = null;
+            this.menuExitApp.Click += new System.EventHandler(this.rbExitApp_Click);
             // 
             // rbSelectDlg
             // 
@@ -399,8 +396,6 @@
             // rbPanelSample
             // 
             this.rbPanelSample.ButtonMoreVisible = false;
-            this.rbPanelSample.Items.Add(this.rbAddSample);
-            this.rbPanelSample.Items.Add(this.rbDeleteSample);
             this.rbPanelSample.Items.Add(this.ribInvers);
             this.rbPanelSample.Items.Add(this.ribCircle);
             this.rbPanelSample.Items.Add(this.ribRectangle);
@@ -410,47 +405,6 @@
             this.rbPanelSample.Tag = "rbPanelSample";
             this.rbPanelSample.Text = "样品操作及测量区域选择";
             // 
-            // rbAddSample
-            // 
-            this.rbAddSample.AltKey = null;
-            this.rbAddSample.DropDownArrowDirection = System.Windows.Forms.RibbonArrowDirection.Down;
-            this.rbAddSample.DropDownArrowSize = new System.Drawing.Size(5, 3);
-            this.rbAddSample.DropDownItems.Add(this.ribbonSeparator3);
-            this.rbAddSample.Image = global::OTSMeasureApp.Properties.Resources.添加32;
-            this.rbAddSample.SmallImage = global::OTSMeasureApp.Properties.Resources.Add_Sample16;
-            this.rbAddSample.Style = System.Windows.Forms.RibbonButtonStyle.Normal;
-            this.rbAddSample.Tag = "rbAddSample";
-            this.rbAddSample.Text = "添加";
-            this.rbAddSample.ToolTip = null;
-            this.rbAddSample.ToolTipImage = null;
-            this.rbAddSample.ToolTipTitle = null;
-            this.rbAddSample.Click += new System.EventHandler(this.rbAddSample_Click);
-            // 
-            // ribbonSeparator3
-            // 
-            this.ribbonSeparator3.AltKey = null;
-            this.ribbonSeparator3.Image = null;
-            this.ribbonSeparator3.Tag = null;
-            this.ribbonSeparator3.Text = null;
-            this.ribbonSeparator3.ToolTip = null;
-            this.ribbonSeparator3.ToolTipImage = null;
-            this.ribbonSeparator3.ToolTipTitle = null;
-            // 
-            // rbDeleteSample
-            // 
-            this.rbDeleteSample.AltKey = null;
-            this.rbDeleteSample.DropDownArrowDirection = System.Windows.Forms.RibbonArrowDirection.Down;
-            this.rbDeleteSample.DropDownArrowSize = new System.Drawing.Size(5, 3);
-            this.rbDeleteSample.Image = global::OTSMeasureApp.Properties.Resources.删除32;
-            this.rbDeleteSample.SmallImage = global::OTSMeasureApp.Properties.Resources.delete16;
-            this.rbDeleteSample.Style = System.Windows.Forms.RibbonButtonStyle.Normal;
-            this.rbDeleteSample.Tag = "rbDeleteSample";
-            this.rbDeleteSample.Text = "删除";
-            this.rbDeleteSample.ToolTip = null;
-            this.rbDeleteSample.ToolTipImage = null;
-            this.rbDeleteSample.ToolTipTitle = null;
-            this.rbDeleteSample.Click += new System.EventHandler(this.rbDeleteSample_Click);
-            // 
             // ribInvers
             // 
             this.ribInvers.AltKey = null;
@@ -1056,17 +1010,15 @@
         #endregion
         public System.Windows.Forms.Ribbon rbMenu;
         private System.Windows.Forms.RibbonTab rbTabHome;
-        public System.Windows.Forms.RibbonOrbMenuItem rbNewDocument;
+        public System.Windows.Forms.RibbonOrbMenuItem menuNewDocument;
         public System.Windows.Forms.RibbonPanel rbPanelSample;
         public System.Windows.Forms.RibbonPanel rbSemFunction;
         public System.Windows.Forms.RibbonPanel rbPanelFunction;
-        public System.Windows.Forms.RibbonOrbMenuItem rbOpenFile;
+        public System.Windows.Forms.RibbonOrbMenuItem menuOpenprj;
   //      private System.Windows.Forms.RibbonButton rbNew;
         public System.Windows.Forms.RibbonButton rbOpen;
         public System.Windows.Forms.RibbonButton rbSave;
         public System.Windows.Forms.RibbonButton rbSaveAs;
-        public System.Windows.Forms.RibbonButton rbAddSample;
-        public System.Windows.Forms.RibbonButton rbDeleteSample;
         public System.Windows.Forms.RibbonButton rbStart;
         public System.Windows.Forms.RibbonButton rbPause;
         public System.Windows.Forms.RibbonButton rbStop;
@@ -1078,8 +1030,8 @@
         public System.Windows.Forms.RibbonButton rbSmapleName;
         public System.Windows.Forms.RibbonButton rbRecover;
         private System.Windows.Forms.RibbonSeparator ribbonSeparator1;
-        public System.Windows.Forms.RibbonOrbMenuItem rbSaveFile;
-        public System.Windows.Forms.RibbonOrbMenuItem rvSaveAsFile;
+        public System.Windows.Forms.RibbonOrbMenuItem menuSaveprj;
+        public System.Windows.Forms.RibbonOrbMenuItem menuSaveAsprj;
         private System.Windows.Forms.RibbonButton ribbonButton6;
         private System.Windows.Forms.RibbonButton ribbonButton5;
         private System.Windows.Forms.RibbonItemGroup ribbonItemGroup1;
@@ -1089,8 +1041,8 @@
         public System.Windows.Forms.RibbonButton rbNew;
         private System.Windows.Forms.ToolStripStatusLabel TSGrayVal;
         private System.Windows.Forms.ToolStripStatusLabel STSemCoordinate;
-        public System.Windows.Forms.RibbonOrbMenuItem rbAbout;
-        public System.Windows.Forms.RibbonOrbMenuItem rbExitApp;
+        public System.Windows.Forms.RibbonOrbMenuItem menuAbout;
+        public System.Windows.Forms.RibbonOrbMenuItem menuExitApp;
         public System.Windows.Forms.RibbonOrbOptionButton rbSelectDlg;
         public System.Windows.Forms.RibbonButton ribbonButton3;
         public System.Windows.Forms.RibbonButton ribInvers;
@@ -1102,8 +1054,8 @@
         public System.Windows.Forms.RibbonPanel rbPReport;
         public System.Windows.Forms.RibbonButton rbReport;
         public System.Windows.Forms.RibbonButton ribPolygon;
-        public System.Windows.Forms.RibbonButton rbSTDEdit;
-        public System.Windows.Forms.RibbonButton rbReClassify;
+        public System.Windows.Forms.RibbonButton menuSTDEdit;
+        public System.Windows.Forms.RibbonButton menuHistoryPrj;
         private System.Windows.Forms.RibbonButton rbCircleCenter;
         private System.Windows.Forms.RibbonButton rbThreePoints;
         private System.Windows.Forms.RibbonButton rbRingShape;
@@ -1111,10 +1063,9 @@
         public System.Windows.Forms.RibbonButton rbDisconnectHardware; 
         public System.Windows.Forms.RibbonButton rbinterrupt;
         public System.Windows.Forms.RibbonButton rbAutoBeamOff;
-        public System.Windows.Forms.RibbonButton rbSysMgrApp;
+        public System.Windows.Forms.RibbonButton menuSysMgrApp;
         private System.Windows.Forms.RibbonButton rb_Reclassify;
         private System.Windows.Forms.RibbonButton ribbonButtonTwoPoint;
-        private System.Windows.Forms.RibbonSeparator ribbonSeparator3;
         private System.Windows.Forms.RibbonSeparator ribbonSeparator4;
         public System.Windows.Forms.RibbonButton ribonBtnShot;
     }

+ 124 - 88
OTSIncAMeasureApp/OTSIncAMeasureAppForm.cs

@@ -83,9 +83,9 @@ namespace OTSMeasureApp
         // 测量线程当前状态  True: 正在测量;  False: 测量结束 
         public bool MeasureThreadRunFlag { get => m_MsrThreadWrapper.BGWorkThreadIsRunning();  }
 
-      
+        private   OTSCommon.CHistoryPrj historyPrj = new OTSCommon.CHistoryPrj();
 
-         Form sp;
+        Form sp;
         
         public OTSIncAMeasureAppForm()
         {
@@ -138,30 +138,30 @@ namespace OTSMeasureApp
         public void SetAllRibbonButnStatus(bool bRibStstu)
         {
             rbPanelSample.Enabled = bRibStstu;
-            rbPanelFunction.Enabled = bRibStstu;
-            rbMenu.Tabs[0].Panels[0].Enabled = bRibStstu;    //Menu中的基本功能中的文件  rbMenu.Tabs[0]=基本功能; rbMenu.Tabs[0].Panels[0]=文件
-            rbMenu.Tabs[1].Panels[0].Enabled = bRibStstu;    //Menu中的视图功能中的视图  rbMenu.Tabs[1]=视图功能; rbMenu.Tabs[1].Panels[0]=视图
-                                                                              //     m_MeasureAppForm.rbNew.Enabled = false;
+            //rbPanelFunction.Enabled = bRibStstu;
+            //rbMenu.Tabs[0].Panels[0].Enabled = bRibStstu;  
+            rbMenu.Tabs[1].Panels[0].Enabled = bRibStstu;    
+                                                             
 
             //下拉菜单中的 新建,打开,保存,另存为
-            rbNewDocument.Enabled = bRibStstu;
-            rbOpenFile.Enabled = bRibStstu;
-            rbSaveFile.Enabled = bRibStstu;
-            rvSaveAsFile.Enabled = bRibStstu;
+            //rbNewDocument.Enabled = bRibStstu;
+            menuOpenprj.Enabled = bRibStstu;
+            menuSaveprj.Enabled = bRibStstu;
+            menuSaveAsprj.Enabled = bRibStstu;
 
-            rbOpenFile.Enabled = true;
+            menuOpenprj.Enabled = true;
             rbOpen.Enabled = true;
 
 
-            if (bRibStstu)
-            {
+            //if (bRibStstu)
+            //{
                 //设置开始,停止,检查参数按钮
                 SetMeasureRibbonButnStatu();
                 //设置 删除,复位,圆形,矩形 按钮状态
                 SetSampleRibbonButnStatus();
                 //设置 跳转至报告 按钮状态
                 SetReprotRibbonButnStatu();
-            }
+            //}
 
 
         }
@@ -182,7 +182,7 @@ namespace OTSMeasureApp
                     if (m_ProjParam.InitResultData())
                     {
 
-                        SetAllRibbonButnStatus(true);
+                        SetAllRibbonButnStatus(false);
                        
                         m_SamplepaceWindow.InitStageDisplay(m_ProjRstData.GetStageHolder(),m_ProjRstData.GetSEMStageData());
 
@@ -220,10 +220,6 @@ namespace OTSMeasureApp
                     log.Error("(OTSIncAMeasureAppForm.OTSIncAMeasureAppForm_Load)  (LoadParamFile() && LoadStageParamFile()) failed");
                 }
 
-             
-
-
-
                 if (!m_MsrThreadWrapper.ConnectSEM())
                 {
                     MessageBox.Show("Connect SEM failed!Please goto the SysMgrApp.exe to setup the proper parameter or check other parameter of the EDS software");
@@ -237,7 +233,7 @@ namespace OTSMeasureApp
 
                 }
                 this.rbConnectHardware.Enabled = false;
-
+            
                 this.rbDisconnectHardware.Enabled = true;
                 log.Warn("SEM connect success!");
                 
@@ -279,8 +275,45 @@ namespace OTSMeasureApp
            m_SPropertyWindows.Show(dockPanel);
 
            m_SamplepaceWindow.Activate();
+            InitHistoryPrjDisplay();
+        }
+        private void InitHistoryPrjDisplay()
+        {
+            //加载历史工作文件列表
+           
+            historyPrj.loadHistoryPath();
+            List<string> prjPathList = historyPrj.GetPrjPathList();
+            if (prjPathList.Count == 0)
+            {
+                menuHistoryPrj.Enabled = false;
+                return;
+            }
+            menuHistoryPrj.Enabled = true;
+            menuHistoryPrj.DropDownItems.Clear();
+            for (int i = 0; i < prjPathList.Count; i++)
+            {
+                RibbonOrbMenuItem tsmi = new RibbonOrbMenuItem();
+                tsmi.Text = prjPathList[i];
+                tsmi.Click += new EventHandler(this.menuHistoryPrj_Click);
+                menuHistoryPrj.DropDownItems.Add(tsmi);
+            }
+        }
+        private void saveHistoryPrj(string strPrjPath)
+        {
+            //保存历史工作文件列表
+          
+            historyPrj.loadHistoryPath();
+            historyPrj.AddPrjPath(strPrjPath);
+            historyPrj.saveHistoryPath();
+            InitHistoryPrjDisplay();
+        }
 
+        private void menuHistoryPrj_Click(object sender, EventArgs e)
+        {
+            RibbonOrbMenuItem itm= sender as RibbonOrbMenuItem;
+            OpenMeasureProjectFile(itm.Text);
         }
+
         private void DoSplash()
         {
             string path = @".\Config\SysData\OTSProgMgrParam.pmf";
@@ -390,15 +423,16 @@ namespace OTSMeasureApp
         {
             bool bSampleCheckBoxFalg = m_ProjParam.GetSampleCheckBoxStatus();
 
-            bool bFlag;
+            //bool bFlag;
             if (!bSampleCheckBoxFalg)
             {
-                bFlag = false;
-            }
-            else
-            {
-                bFlag = true;
+                rbStart.Enabled = false;
+                rbPause.Enabled = false;
+                rbStop.Enabled = false; 
+                rbCheckParam.Enabled = false;    
+                return;
             }
+           
 
             if (MeasureThreadRunFlag)    //当正在测量时,开始按钮变灰色
             {
@@ -406,13 +440,13 @@ namespace OTSMeasureApp
             }
             else
             {
-                rbStart.Enabled = bFlag;
+                rbStart.Enabled = true;
             }
 
             if (MeasureThreadRunFlag)    //当前正在运行的时候,才可以点击暂停
             {
 
-                rbPause.Enabled = bFlag;
+                rbPause.Enabled = true;
 
             }
             else
@@ -420,9 +454,9 @@ namespace OTSMeasureApp
                 rbPause.Enabled = false;
             }
 
-            if (bFlag && MeasureThreadRunFlag)  //当前正在运行的时候,才可以点击停止
+            if ( MeasureThreadRunFlag)  //当前正在运行的时候,才可以点击停止
             {
-                rbStop.Enabled = bFlag;
+                rbStop.Enabled = true;
 
             }
             else
@@ -438,7 +472,7 @@ namespace OTSMeasureApp
             }
             else
             {
-                rbCheckParam.Enabled = bFlag;
+                rbCheckParam.Enabled = true;
             }
 
 
@@ -558,7 +592,7 @@ namespace OTSMeasureApp
             //设置报告按钮
             rbPReport.Enabled = false;
             rbReport.Enabled = false;
-            rbReClassify.Enabled = true;
+            menuHistoryPrj.Enabled = true;
             //新建项目时,设置属性窗体中的两个按钮也为不可用状态
             m_SPropertyWindows.TSLoad.Enabled = false;
             m_SPropertyWindows.TSSaveAs.Enabled = false;
@@ -718,7 +752,7 @@ namespace OTSMeasureApp
 
                 if (RibbonButnIDList[i] == (int)RibbonButnID.NewDocment)
                 {
-                    rbNewDocument.Enabled = bFlag;
+                    menuNewDocument.Enabled = bFlag;
                     continue;
                 }
                 if (RibbonButnIDList[i] == (int)RibbonButnID.File_NewDocment)
@@ -728,7 +762,7 @@ namespace OTSMeasureApp
                 }
                 if (RibbonButnIDList[i] == (int)RibbonButnID.OpenDocment)
                 {
-                    rbOpenFile.Enabled = bFlag;
+                    menuOpenprj.Enabled = bFlag;
                     continue;
                 }
                 if (RibbonButnIDList[i] == (int)RibbonButnID.File_OpenDocment)
@@ -739,7 +773,7 @@ namespace OTSMeasureApp
 
                 if (RibbonButnIDList[i] == (int)RibbonButnID.Save)
                 {
-                    rbSaveFile.Enabled = bFlag;
+                    menuSaveprj.Enabled = bFlag;
                     continue;
                 }
                 if (RibbonButnIDList[i] == (int)RibbonButnID.File_Save)
@@ -749,7 +783,7 @@ namespace OTSMeasureApp
                 }
                 if (RibbonButnIDList[i] == (int)RibbonButnID.SaveAs)
                 {
-                    rvSaveAsFile.Enabled = bFlag;
+                    menuSaveAsprj.Enabled = bFlag;
                     continue;
                 }
                 if (RibbonButnIDList[i] == (int)RibbonButnID.File_SaveAs)
@@ -759,16 +793,6 @@ namespace OTSMeasureApp
                 }
 
 
-                if (RibbonButnIDList[i] == (int)RibbonButnID.Sample_AddSampl)
-                {
-                    rbAddSample.Enabled = bFlag;
-                    continue;
-                }
-                if (RibbonButnIDList[i] == (int)RibbonButnID.Sample_DeleteSample)
-                {
-                    rbDeleteSample.Enabled = bFlag;
-                    continue;
-                }
                 if (RibbonButnIDList[i] == (int)RibbonButnID.Sample_Reset)
                 {
                     ribInvers.Enabled = bFlag;
@@ -866,11 +890,30 @@ namespace OTSMeasureApp
 
             if (0 == m_ProjParam.GetSampleCount())
             {
+                rbPanelSample.Enabled = false;
+                //rbPanelFunction.Enabled = false;
+                rbMenu.Tabs[0].Panels[0].Enabled = true;
+                rbOpen.Enabled = true;
+                menuOpenprj.Enabled = true;
+                rbSave.Enabled = false;
+                menuSaveprj.Enabled = false;    
+                menuSaveAsprj.Enabled = false;
+                menuHistoryPrj.Enabled = true; 
                 SetRibbonButonWorkListStatu(RibbonIdList, false);
             }
             else
             {
+                rbPanelSample.Enabled = true;
+                //rbPanelFunction.Enabled = true;
+               rbOpen.Enabled = false;
+                menuOpenprj.Enabled = false;
+                rbSave.Enabled = true;
+                menuSaveAsprj.Enabled = true;
+                menuHistoryPrj.Enabled = false;  
+                rbMenu.Tabs[1].Panels[0].Enabled = true;
+
                 SetRibbonButonWorkListStatu(RibbonIdList, true);
+
             }
         }
         public void SetReprotRibbonButnStatu()
@@ -878,7 +921,7 @@ namespace OTSMeasureApp
             //设置跳转至报告程序按钮状态
             rbPReport.Enabled = false;
             rbReport.Enabled = false;
-            rbReClassify.Enabled = true;
+          
 
             //判断打开的文件是否存在测量结果文件路径
             List<string> mrFilePathList = new List<string>();
@@ -888,13 +931,13 @@ namespace OTSMeasureApp
             {
                 rbPReport.Enabled = true;
                 rbReport.Enabled = true;
-                rbReClassify.Enabled = true;
+               
             }
             else
             {
                 rbPReport.Enabled = false;
                 rbReport.Enabled = false;
-                rbReClassify.Enabled = true;
+               
             }
         }
         //返回删除的工作样品名
@@ -925,7 +968,7 @@ namespace OTSMeasureApp
                 m_SPropertyWindows.TSSaveAs.Enabled = false;
                 m_SolutionWindows.treeView1.Nodes.Clear();
                 m_MessureStatuWindow.HideXRayTable();
-
+                m_ProjRstData.Cleanup();
                 m_MeasureResultWindow.SetInit();
                 return ;
             }
@@ -971,6 +1014,8 @@ namespace OTSMeasureApp
                 return;
             }
             m_SPropertyWindows.TSSaveAs.Enabled = true;
+            this.menuSaveprj.Enabled = true;
+            this.rbSaveAs.Enabled = true;
             m_SPropertyWindows.TSLoad.Enabled = true;
             m_SPropertyWindows.TSEdit.Enabled = false;
             m_SPropertyWindows.TSEdit.Visible = false;
@@ -1115,6 +1160,7 @@ namespace OTSMeasureApp
             }
            
             m_SamplepaceWindow.PrepareVisualMeasureField(m_SamplepaceWindow.GetWorkingVisualSample());
+           
         }
 
         private void rbSaveFile_Click(object sender, EventArgs e)
@@ -1125,6 +1171,7 @@ namespace OTSMeasureApp
                
                 return;
             }
+            saveHistoryPrj(m_ProjRstData.GetPathName());    
         }
 
         private void rbCheckParam_Click(object sender, EventArgs e)
@@ -1202,22 +1249,22 @@ namespace OTSMeasureApp
             ribView.Enabled = false;
             SetToolButnStatu(false);          
             //false:  将其他ribbon按钮设置为灰色
-            rbPanelFile.Enabled = false;
-            rbPanelSample.Enabled = false;
+            //rbPanelFile.Enabled = false;
+            //rbPanelSample.Enabled = false;
             m_SolutionWindows.Enabled = false;
             m_SPropertyWindows.Enabled = false;
             rbStart.Enabled = false;
-            //rbPause.Enabled = true;
+           
             rbStop.Enabled = true;
             rbCheckParam.Enabled = false;
         }
         public void SetToolButnStatu(bool bStatu)
         {
-            rbNewDocument.Enabled = bStatu;
-            rbOpenFile.Enabled = bStatu;
-            rbSaveFile.Enabled = bStatu;
-            rvSaveAsFile.Enabled = bStatu;
-            rbExitApp.Enabled = bStatu;
+            menuNewDocument.Enabled = bStatu;
+            menuOpenprj.Enabled = bStatu;
+            menuSaveprj.Enabled = bStatu;
+            menuSaveAsprj.Enabled = bStatu;
+            menuExitApp.Enabled = bStatu;
             rbSelectDlg.Enabled = bStatu;
         }
         private void rbStop_Click(object sender, EventArgs e)
@@ -1476,52 +1523,39 @@ namespace OTSMeasureApp
             m_SamplepaceWindow.DrawPolygonMeasure();
         }
 
-        private void rbReClassify_Click(object sender, EventArgs e)
-        {
-            frmReclassifyCondition reCon = new frmReclassifyCondition();
-            reCon.ShowDialog();
-            this.Cursor = Cursors.WaitCursor;
-            if (reCon.DialogResult == DialogResult.OK)
-            {
-                if (m_ProjRstData.Reclassify(reCon.ignoreUserModify))
-                {
-                    m_ProjRstData.Save();
-
-                    MessageBox.Show("reclassification success");
-                }
-                else
-                {
-                    MessageBox.Show("reclassification failed");
-                }
-            }
-            
-
-            this.Cursor = Cursors.Default;
-        }
+     
 
         /// <summary>
         /// 打开测量项目文件
         /// </summary>
-        private void OpenMeasureProjectFile()
+        private void OpenMeasureProjectFile(string strPathName="")
         {
-            
 
-            bool bOpenFlag=false;
-            COTSMsrPrjResultData ProjDataMgr = new COTSMsrPrjResultData();
-            string strPathName;
-         
-          
+            if (strPathName == "")
+            {
+               
+              
+                //string strPathName;
+
+
                 // file open dialog
                 OpenFileDialog openFileDialog = new OpenFileDialog();
                 openFileDialog.Filter = "Probject Files (*.prj)|*.prj";
+                openFileDialog.InitialDirectory =historyPrj.GetLatestPrjFolder();
                 if (openFileDialog.ShowDialog() != DialogResult.OK)
                 {
-                    return ;
+                    return;
 
                 }
 
 
                 strPathName = openFileDialog.FileName;
+            }
+
+            COTSMsrPrjResultData ProjDataMgr = new COTSMsrPrjResultData();
+
+            bool bOpenFlag = false;
+
 
             this.Cursor = Cursors.WaitCursor;
             if (ProjDataMgr.Load(strPathName))
@@ -1747,5 +1781,7 @@ namespace OTSMeasureApp
         {
             m_SamplepaceWindow.DrawRectangleBytTwoPoint();
         }
+
+       
     }
 }

+ 24 - 25
OTSIncAMeasureApp/OTSIncAMeasureAppForm.resx

@@ -121,140 +121,139 @@
   <data name="rbNew.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
     <value>
         iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAW
-        JQAAFiUBSVIk8AAAABpJREFUWEftwQEBAAAAgiD/r25IQAAAAMC5GhAgAAGdeElDAAAAAElFTkSuQmCC
+        JQAAFiUBSVIk8AAAABpJREFUWEftwQEBAAAAgiD/r25IQAEAAADvBhAgAAHBYCyfAAAAAElFTkSuQmCC
 </value>
   </data>
   <data name="rbNew.SmallImage" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
     <value>
         iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAW
-        JQAAFiUBSVIk8AAAABNJREFUOE9jGAWjYBSMAjBgYAAABBAAAadEfGMAAAAASUVORK5CYII=
+        JQAAFiUBSVIk8AAAABJJREFUOE9jYBgFo2AUjAIIAAAEEAABTLtGVQAAAABJRU5ErkJggg==
 </value>
   </data>
   <data name="rbSave.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
     <value>
         iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAW
-        JQAAFiUBSVIk8AAAABpJREFUWEftwQEBAAAAgiD/r25IQAAAAMC5GhAgAAGdeElDAAAAAElFTkSuQmCC
+        JQAAFiUBSVIk8AAAABpJREFUWEftwQEBAAAAgiD/r25IQAEAAADvBhAgAAHBYCyfAAAAAElFTkSuQmCC
 </value>
   </data>
   <data name="rbSave.SmallImage" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
     <value>
         iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAW
-        JQAAFiUBSVIk8AAAABNJREFUOE9jGAWjYBSMAjBgYAAABBAAAadEfGMAAAAASUVORK5CYII=
+        JQAAFiUBSVIk8AAAABJJREFUOE9jYBgFo2AUjAIIAAAEEAABTLtGVQAAAABJRU5ErkJggg==
 </value>
   </data>
   <data name="rbSaveAs.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
     <value>
         iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAW
-        JQAAFiUBSVIk8AAAABpJREFUWEftwQEBAAAAgiD/r25IQAAAAMC5GhAgAAGdeElDAAAAAElFTkSuQmCC
+        JQAAFiUBSVIk8AAAABpJREFUWEftwQEBAAAAgiD/r25IQAEAAADvBhAgAAHBYCyfAAAAAElFTkSuQmCC
 </value>
   </data>
   <data name="rbSaveAs.SmallImage" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
     <value>
         iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAW
-        JQAAFiUBSVIk8AAAABNJREFUOE9jGAWjYBSMAjBgYAAABBAAAadEfGMAAAAASUVORK5CYII=
+        JQAAFiUBSVIk8AAAABJJREFUOE9jYBgFo2AUjAIIAAAEEAABTLtGVQAAAABJRU5ErkJggg==
 </value>
   </data>
   <data name="rbCircleCenter.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
     <value>
         iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAW
-        JQAAFiUBSVIk8AAAABpJREFUWEftwQEBAAAAgiD/r25IQAAAAMC5GhAgAAGdeElDAAAAAElFTkSuQmCC
+        JQAAFiUBSVIk8AAAABpJREFUWEftwQEBAAAAgiD/r25IQAEAAADvBhAgAAHBYCyfAAAAAElFTkSuQmCC
 </value>
   </data>
   <data name="rbCircleCenter.SmallImage" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
     <value>
         iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAW
-        JQAAFiUBSVIk8AAAABNJREFUOE9jGAWjYBSMAjBgYAAABBAAAadEfGMAAAAASUVORK5CYII=
+        JQAAFiUBSVIk8AAAABJJREFUOE9jYBgFo2AUjAIIAAAEEAABTLtGVQAAAABJRU5ErkJggg==
 </value>
   </data>
   <data name="rbThreePoints.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
     <value>
         iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAW
-        JQAAFiUBSVIk8AAAABpJREFUWEftwQEBAAAAgiD/r25IQAAAAMC5GhAgAAGdeElDAAAAAElFTkSuQmCC
+        JQAAFiUBSVIk8AAAABpJREFUWEftwQEBAAAAgiD/r25IQAEAAADvBhAgAAHBYCyfAAAAAElFTkSuQmCC
 </value>
   </data>
   <data name="rbThreePoints.SmallImage" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
     <value>
         iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAW
-        JQAAFiUBSVIk8AAAABNJREFUOE9jGAWjYBSMAjBgYAAABBAAAadEfGMAAAAASUVORK5CYII=
+        JQAAFiUBSVIk8AAAABJJREFUOE9jYBgFo2AUjAIIAAAEEAABTLtGVQAAAABJRU5ErkJggg==
 </value>
   </data>
   <data name="rbRingShape.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
     <value>
         iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAW
-        JQAAFiUBSVIk8AAAABpJREFUWEftwQEBAAAAgiD/r25IQAAAAMC5GhAgAAGdeElDAAAAAElFTkSuQmCC
+        JQAAFiUBSVIk8AAAABpJREFUWEftwQEBAAAAgiD/r25IQAEAAADvBhAgAAHBYCyfAAAAAElFTkSuQmCC
 </value>
   </data>
   <data name="rbRingShape.SmallImage" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
     <value>
         iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAW
-        JQAAFiUBSVIk8AAAABNJREFUOE9jGAWjYBSMAjBgYAAABBAAAadEfGMAAAAASUVORK5CYII=
+        JQAAFiUBSVIk8AAAABJJREFUOE9jYBgFo2AUjAIIAAAEEAABTLtGVQAAAABJRU5ErkJggg==
 </value>
   </data>
   <data name="ribCircle.SmallImage" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
     <value>
         iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
-        vAAADrwBlbxySQAAABNJREFUOE9jGAWjYBSMAjBgYAAABBAAAadEfGMAAAAASUVORK5CYII=
+        vAAADrwBlbxySQAAABJJREFUOE9jYBgFo2AUjAIIAAAEEAABTLtGVQAAAABJRU5ErkJggg==
 </value>
   </data>
   <data name="ribbonButtonTwoPoint.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
     <value>
         iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
-        wQAADsEBuJFr7QAAABpJREFUWEftwQEBAAAAgiD/r25IQAAAAMC5GhAgAAGdeElDAAAAAElFTkSuQmCC
+        vAAADrwBlbxySQAAABpJREFUWEftwQEBAAAAgiD/r25IQAEAAADvBhAgAAHBYCyfAAAAAElFTkSuQmCC
 </value>
   </data>
   <data name="ribbonButtonTwoPoint.SmallImage" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
     <value>
         iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
-        wQAADsEBuJFr7QAAABNJREFUOE9jGAWjYBSMAjBgYAAABBAAAadEfGMAAAAASUVORK5CYII=
+        vAAADrwBlbxySQAAABJJREFUOE9jYBgFo2AUjAIIAAAEEAABTLtGVQAAAABJRU5ErkJggg==
 </value>
   </data>
   <data name="ribRectangle.SmallImage" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
     <value>
         iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
-        vAAADrwBlbxySQAAABNJREFUOE9jGAWjYBSMAjBgYAAABBAAAadEfGMAAAAASUVORK5CYII=
+        vAAADrwBlbxySQAAABJJREFUOE9jYBgFo2AUjAIIAAAEEAABTLtGVQAAAABJRU5ErkJggg==
 </value>
   </data>
   <data name="ribPolygon.SmallImage" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
     <value>
         iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
-        vAAADrwBlbxySQAAABNJREFUOE9jGAWjYBSMAjBgYAAABBAAAadEfGMAAAAASUVORK5CYII=
+        vAAADrwBlbxySQAAABJJREFUOE9jYBgFo2AUjAIIAAAEEAABTLtGVQAAAABJRU5ErkJggg==
 </value>
   </data>
   <data name="ribonBtnShot.SmallImage" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
     <value>
         iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
-        wAAADsABataJCQAAABNJREFUOE9jGAWjYBSMAjBgYAAABBAAAadEfGMAAAAASUVORK5CYII=
+        vAAADrwBlbxySQAAABJJREFUOE9jYBgFo2AUjAIIAAAEEAABTLtGVQAAAABJRU5ErkJggg==
 </value>
   </data>
   <data name="rb_Reclassify.SmallImage" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
     <value>
-        iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
-        YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAATSURBVDhPYxgFo2AUjAIwYGAAAAQQAAGnRHxjAAAAAElF
-        TkSuQmCC
+        iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
+        vAAADrwBlbxySQAAABJJREFUOE9jYBgFo2AUjAIIAAAEEAABTLtGVQAAAABJRU5ErkJggg==
 </value>
   </data>
   <data name="ribbonButton5.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
     <value>
         iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAW
-        JQAAFiUBSVIk8AAAABpJREFUWEftwQEBAAAAgiD/r25IQAAAAMC5GhAgAAGdeElDAAAAAElFTkSuQmCC
+        JQAAFiUBSVIk8AAAABpJREFUWEftwQEBAAAAgiD/r25IQAEAAADvBhAgAAHBYCyfAAAAAElFTkSuQmCC
 </value>
   </data>
   <data name="ribbonButton5.SmallImage" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
     <value>
         iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAW
-        JQAAFiUBSVIk8AAAABNJREFUOE9jGAWjYBSMAjBgYAAABBAAAadEfGMAAAAASUVORK5CYII=
+        JQAAFiUBSVIk8AAAABJJREFUOE9jYBgFo2AUjAIIAAAEEAABTLtGVQAAAABJRU5ErkJggg==
 </value>
   </data>
   <data name="ribbonButton6.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
     <value>
         iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAW
-        JQAAFiUBSVIk8AAAABpJREFUWEftwQEBAAAAgiD/r25IQAAAAMC5GhAgAAGdeElDAAAAAElFTkSuQmCC
+        JQAAFiUBSVIk8AAAABpJREFUWEftwQEBAAAAgiD/r25IQAEAAADvBhAgAAHBYCyfAAAAAElFTkSuQmCC
 </value>
   </data>
   <data name="ribbonButton6.SmallImage" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
     <value>
         iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAW
-        JQAAFiUBSVIk8AAAABNJREFUOE9jGAWjYBSMAjBgYAAABBAAAadEfGMAAAAASUVORK5CYII=
+        JQAAFiUBSVIk8AAAABJJREFUOE9jYBgFo2AUjAIIAAAEEAABTLtGVQAAAABJRU5ErkJggg==
 </value>
   </data>
   <metadata name="statusStrip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">

+ 154 - 1
OTSIncAReportApp/1-UI/frmReportApp.Designer.cs

@@ -92,6 +92,15 @@
             this.ribbonOrbMenuItem7 = new System.Windows.Forms.RibbonOrbMenuItem();
             this.ribbonButton3 = new System.Windows.Forms.RibbonButton();
             this.toolTip1 = new System.Windows.Forms.ToolTip(this.components);
+            this.ribbonOrbRecentItem2 = new System.Windows.Forms.RibbonOrbRecentItem();
+            this.ribbonOrbRecentItem3 = new System.Windows.Forms.RibbonOrbRecentItem();
+            this.ribbonOrbRecentItem4 = new System.Windows.Forms.RibbonOrbRecentItem();
+            this.ribbonOrbRecentItem5 = new System.Windows.Forms.RibbonOrbRecentItem();
+            this.ribbonOrbRecentItem6 = new System.Windows.Forms.RibbonOrbRecentItem();
+            this.ribbonOrbRecentItem7 = new System.Windows.Forms.RibbonOrbRecentItem();
+            this.ribbonOrbRecentItem8 = new System.Windows.Forms.RibbonOrbRecentItem();
+            this.ribbonOrbRecentItem9 = new System.Windows.Forms.RibbonOrbRecentItem();
+            this.ribbonOrbRecentItem10 = new System.Windows.Forms.RibbonOrbRecentItem();
             ribbonPanel1 = new System.Windows.Forms.RibbonPanel();
             this.statusStrip1.SuspendLayout();
             this.SuspendLayout();
@@ -221,7 +230,7 @@
             // 
             // ribbon1
             // 
-            this.ribbon1.Font = new System.Drawing.Font("微软雅黑", 9F);
+            this.ribbon1.Font = new System.Drawing.Font("Microsoft YaHei", 9F);
             this.ribbon1.Location = new System.Drawing.Point(0, 0);
             this.ribbon1.Margin = new System.Windows.Forms.Padding(4, 2, 4, 2);
             this.ribbon1.Minimized = false;
@@ -241,6 +250,15 @@
             this.ribbon1.OrbDropDown.Name = "";
             this.ribbon1.OrbDropDown.OptionItems.Add(this.ribbonOrbOptionButton1);
             this.ribbon1.OrbDropDown.RecentItems.Add(this.ribbonOrbRecentItem1);
+            this.ribbon1.OrbDropDown.RecentItems.Add(this.ribbonOrbRecentItem2);
+            this.ribbon1.OrbDropDown.RecentItems.Add(this.ribbonOrbRecentItem3);
+            this.ribbon1.OrbDropDown.RecentItems.Add(this.ribbonOrbRecentItem4);
+            this.ribbon1.OrbDropDown.RecentItems.Add(this.ribbonOrbRecentItem5);
+            this.ribbon1.OrbDropDown.RecentItems.Add(this.ribbonOrbRecentItem6);
+            this.ribbon1.OrbDropDown.RecentItems.Add(this.ribbonOrbRecentItem7);
+            this.ribbon1.OrbDropDown.RecentItems.Add(this.ribbonOrbRecentItem8);
+            this.ribbon1.OrbDropDown.RecentItems.Add(this.ribbonOrbRecentItem9);
+            this.ribbon1.OrbDropDown.RecentItems.Add(this.ribbonOrbRecentItem10);
             this.ribbon1.OrbDropDown.Size = new System.Drawing.Size(527, 380);
             this.ribbon1.OrbDropDown.TabIndex = 0;
             this.ribbon1.OrbImage = global::OTSIncAReportApp.Properties.Resources.logo_40;
@@ -769,6 +787,132 @@
             // 
             this.toolTip1.Popup += new System.Windows.Forms.PopupEventHandler(this.toolTip1_Popup);
             // 
+            // ribbonOrbRecentItem2
+            // 
+            this.ribbonOrbRecentItem2.AltKey = null;
+            this.ribbonOrbRecentItem2.DropDownArrowDirection = System.Windows.Forms.RibbonArrowDirection.Down;
+            this.ribbonOrbRecentItem2.DropDownArrowSize = new System.Drawing.Size(5, 3);
+            this.ribbonOrbRecentItem2.Image = ((System.Drawing.Image)(resources.GetObject("ribbonOrbRecentItem2.Image")));
+            this.ribbonOrbRecentItem2.SmallImage = ((System.Drawing.Image)(resources.GetObject("ribbonOrbRecentItem2.SmallImage")));
+            this.ribbonOrbRecentItem2.Style = System.Windows.Forms.RibbonButtonStyle.Normal;
+            this.ribbonOrbRecentItem2.Tag = null;
+            this.ribbonOrbRecentItem2.Text = "ribbonOrbRecentItem2";
+            this.ribbonOrbRecentItem2.ToolTip = null;
+            this.ribbonOrbRecentItem2.ToolTipImage = null;
+            this.ribbonOrbRecentItem2.ToolTipTitle = null;
+            // 
+            // ribbonOrbRecentItem3
+            // 
+            this.ribbonOrbRecentItem3.AltKey = null;
+            this.ribbonOrbRecentItem3.DropDownArrowDirection = System.Windows.Forms.RibbonArrowDirection.Down;
+            this.ribbonOrbRecentItem3.DropDownArrowSize = new System.Drawing.Size(5, 3);
+            this.ribbonOrbRecentItem3.Image = ((System.Drawing.Image)(resources.GetObject("ribbonOrbRecentItem3.Image")));
+            this.ribbonOrbRecentItem3.SmallImage = ((System.Drawing.Image)(resources.GetObject("ribbonOrbRecentItem3.SmallImage")));
+            this.ribbonOrbRecentItem3.Style = System.Windows.Forms.RibbonButtonStyle.Normal;
+            this.ribbonOrbRecentItem3.Tag = null;
+            this.ribbonOrbRecentItem3.Text = "ribbonOrbRecentItem3";
+            this.ribbonOrbRecentItem3.ToolTip = null;
+            this.ribbonOrbRecentItem3.ToolTipImage = null;
+            this.ribbonOrbRecentItem3.ToolTipTitle = null;
+            // 
+            // ribbonOrbRecentItem4
+            // 
+            this.ribbonOrbRecentItem4.AltKey = null;
+            this.ribbonOrbRecentItem4.DropDownArrowDirection = System.Windows.Forms.RibbonArrowDirection.Down;
+            this.ribbonOrbRecentItem4.DropDownArrowSize = new System.Drawing.Size(5, 3);
+            this.ribbonOrbRecentItem4.Image = ((System.Drawing.Image)(resources.GetObject("ribbonOrbRecentItem4.Image")));
+            this.ribbonOrbRecentItem4.SmallImage = ((System.Drawing.Image)(resources.GetObject("ribbonOrbRecentItem4.SmallImage")));
+            this.ribbonOrbRecentItem4.Style = System.Windows.Forms.RibbonButtonStyle.Normal;
+            this.ribbonOrbRecentItem4.Tag = null;
+            this.ribbonOrbRecentItem4.Text = "ribbonOrbRecentItem4";
+            this.ribbonOrbRecentItem4.ToolTip = null;
+            this.ribbonOrbRecentItem4.ToolTipImage = null;
+            this.ribbonOrbRecentItem4.ToolTipTitle = null;
+            // 
+            // ribbonOrbRecentItem5
+            // 
+            this.ribbonOrbRecentItem5.AltKey = null;
+            this.ribbonOrbRecentItem5.DropDownArrowDirection = System.Windows.Forms.RibbonArrowDirection.Down;
+            this.ribbonOrbRecentItem5.DropDownArrowSize = new System.Drawing.Size(5, 3);
+            this.ribbonOrbRecentItem5.Image = ((System.Drawing.Image)(resources.GetObject("ribbonOrbRecentItem5.Image")));
+            this.ribbonOrbRecentItem5.SmallImage = ((System.Drawing.Image)(resources.GetObject("ribbonOrbRecentItem5.SmallImage")));
+            this.ribbonOrbRecentItem5.Style = System.Windows.Forms.RibbonButtonStyle.Normal;
+            this.ribbonOrbRecentItem5.Tag = null;
+            this.ribbonOrbRecentItem5.Text = "ribbonOrbRecentItem5";
+            this.ribbonOrbRecentItem5.ToolTip = null;
+            this.ribbonOrbRecentItem5.ToolTipImage = null;
+            this.ribbonOrbRecentItem5.ToolTipTitle = null;
+            // 
+            // ribbonOrbRecentItem6
+            // 
+            this.ribbonOrbRecentItem6.AltKey = null;
+            this.ribbonOrbRecentItem6.DropDownArrowDirection = System.Windows.Forms.RibbonArrowDirection.Down;
+            this.ribbonOrbRecentItem6.DropDownArrowSize = new System.Drawing.Size(5, 3);
+            this.ribbonOrbRecentItem6.Image = ((System.Drawing.Image)(resources.GetObject("ribbonOrbRecentItem6.Image")));
+            this.ribbonOrbRecentItem6.SmallImage = ((System.Drawing.Image)(resources.GetObject("ribbonOrbRecentItem6.SmallImage")));
+            this.ribbonOrbRecentItem6.Style = System.Windows.Forms.RibbonButtonStyle.Normal;
+            this.ribbonOrbRecentItem6.Tag = null;
+            this.ribbonOrbRecentItem6.Text = "ribbonOrbRecentItem6";
+            this.ribbonOrbRecentItem6.ToolTip = null;
+            this.ribbonOrbRecentItem6.ToolTipImage = null;
+            this.ribbonOrbRecentItem6.ToolTipTitle = null;
+            // 
+            // ribbonOrbRecentItem7
+            // 
+            this.ribbonOrbRecentItem7.AltKey = null;
+            this.ribbonOrbRecentItem7.DropDownArrowDirection = System.Windows.Forms.RibbonArrowDirection.Down;
+            this.ribbonOrbRecentItem7.DropDownArrowSize = new System.Drawing.Size(5, 3);
+            this.ribbonOrbRecentItem7.Image = ((System.Drawing.Image)(resources.GetObject("ribbonOrbRecentItem7.Image")));
+            this.ribbonOrbRecentItem7.SmallImage = ((System.Drawing.Image)(resources.GetObject("ribbonOrbRecentItem7.SmallImage")));
+            this.ribbonOrbRecentItem7.Style = System.Windows.Forms.RibbonButtonStyle.Normal;
+            this.ribbonOrbRecentItem7.Tag = null;
+            this.ribbonOrbRecentItem7.Text = "ribbonOrbRecentItem7";
+            this.ribbonOrbRecentItem7.ToolTip = null;
+            this.ribbonOrbRecentItem7.ToolTipImage = null;
+            this.ribbonOrbRecentItem7.ToolTipTitle = null;
+            // 
+            // ribbonOrbRecentItem8
+            // 
+            this.ribbonOrbRecentItem8.AltKey = null;
+            this.ribbonOrbRecentItem8.DropDownArrowDirection = System.Windows.Forms.RibbonArrowDirection.Down;
+            this.ribbonOrbRecentItem8.DropDownArrowSize = new System.Drawing.Size(5, 3);
+            this.ribbonOrbRecentItem8.Image = ((System.Drawing.Image)(resources.GetObject("ribbonOrbRecentItem8.Image")));
+            this.ribbonOrbRecentItem8.SmallImage = ((System.Drawing.Image)(resources.GetObject("ribbonOrbRecentItem8.SmallImage")));
+            this.ribbonOrbRecentItem8.Style = System.Windows.Forms.RibbonButtonStyle.Normal;
+            this.ribbonOrbRecentItem8.Tag = null;
+            this.ribbonOrbRecentItem8.Text = "ribbonOrbRecentItem8";
+            this.ribbonOrbRecentItem8.ToolTip = null;
+            this.ribbonOrbRecentItem8.ToolTipImage = null;
+            this.ribbonOrbRecentItem8.ToolTipTitle = null;
+            // 
+            // ribbonOrbRecentItem9
+            // 
+            this.ribbonOrbRecentItem9.AltKey = null;
+            this.ribbonOrbRecentItem9.DropDownArrowDirection = System.Windows.Forms.RibbonArrowDirection.Down;
+            this.ribbonOrbRecentItem9.DropDownArrowSize = new System.Drawing.Size(5, 3);
+            this.ribbonOrbRecentItem9.Image = ((System.Drawing.Image)(resources.GetObject("ribbonOrbRecentItem9.Image")));
+            this.ribbonOrbRecentItem9.SmallImage = ((System.Drawing.Image)(resources.GetObject("ribbonOrbRecentItem9.SmallImage")));
+            this.ribbonOrbRecentItem9.Style = System.Windows.Forms.RibbonButtonStyle.Normal;
+            this.ribbonOrbRecentItem9.Tag = null;
+            this.ribbonOrbRecentItem9.Text = "ribbonOrbRecentItem9";
+            this.ribbonOrbRecentItem9.ToolTip = null;
+            this.ribbonOrbRecentItem9.ToolTipImage = null;
+            this.ribbonOrbRecentItem9.ToolTipTitle = null;
+            // 
+            // ribbonOrbRecentItem10
+            // 
+            this.ribbonOrbRecentItem10.AltKey = null;
+            this.ribbonOrbRecentItem10.DropDownArrowDirection = System.Windows.Forms.RibbonArrowDirection.Down;
+            this.ribbonOrbRecentItem10.DropDownArrowSize = new System.Drawing.Size(5, 3);
+            this.ribbonOrbRecentItem10.Image = ((System.Drawing.Image)(resources.GetObject("ribbonOrbRecentItem10.Image")));
+            this.ribbonOrbRecentItem10.SmallImage = ((System.Drawing.Image)(resources.GetObject("ribbonOrbRecentItem10.SmallImage")));
+            this.ribbonOrbRecentItem10.Style = System.Windows.Forms.RibbonButtonStyle.Normal;
+            this.ribbonOrbRecentItem10.Tag = null;
+            this.ribbonOrbRecentItem10.Text = "ribbonOrbRecentItem10";
+            this.ribbonOrbRecentItem10.ToolTip = null;
+            this.ribbonOrbRecentItem10.ToolTipImage = null;
+            this.ribbonOrbRecentItem10.ToolTipTitle = null;
+            // 
             // frmReportApp
             // 
             this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F);
@@ -847,6 +991,15 @@
         private System.Windows.Forms.ToolTip toolTip1;
         private System.Windows.Forms.RibbonOrbMenuItem dpbTemplateEditing;
         public System.Windows.Forms.RibbonButton rbOpenprj;
+        private System.Windows.Forms.RibbonOrbRecentItem ribbonOrbRecentItem2;
+        private System.Windows.Forms.RibbonOrbRecentItem ribbonOrbRecentItem3;
+        private System.Windows.Forms.RibbonOrbRecentItem ribbonOrbRecentItem4;
+        private System.Windows.Forms.RibbonOrbRecentItem ribbonOrbRecentItem5;
+        private System.Windows.Forms.RibbonOrbRecentItem ribbonOrbRecentItem6;
+        private System.Windows.Forms.RibbonOrbRecentItem ribbonOrbRecentItem7;
+        private System.Windows.Forms.RibbonOrbRecentItem ribbonOrbRecentItem8;
+        private System.Windows.Forms.RibbonOrbRecentItem ribbonOrbRecentItem9;
+        private System.Windows.Forms.RibbonOrbRecentItem ribbonOrbRecentItem10;
     }
 }
 

+ 7 - 2
OTSIncAReportApp/1-UI/frmReportApp.cs

@@ -1,5 +1,4 @@
-//using CefSharp;
-//using CefSharp.WinForms;
+
 using OTS.WinFormsUI.Docking;
 
 using OTSIncAReportApp.OTSRstMgrFunction;
@@ -18,6 +17,8 @@ using System.Runtime.InteropServices;
 using System.Windows.Forms;
 using OTSCommon.DBOperate.Model;
 using OTSIncAReportApp._1_UI;
+using OTSCommon;
+using Language = OTSCommon.Language;
 
 namespace OTSIncAReportApp
 {
@@ -1129,6 +1130,10 @@ namespace OTSIncAReportApp
             openFileDialog.CheckPathExists = true;
             openFileDialog.CheckFileExists = true;
             openFileDialog.Multiselect = false;
+            CHistoryPrj historyPrj = new CHistoryPrj();
+            historyPrj.loadHistoryPath();
+            string strLatestPrjFolder = historyPrj.GetLatestPrjFolder();
+            openFileDialog.InitialDirectory = strLatestPrjFolder;
             if (openFileDialog.ShowDialog() == DialogResult.OK)
             {
                 this.Cursor = Cursors.WaitCursor;

+ 158 - 32
OTSIncAReportApp/1-UI/frmReportApp.resx

@@ -124,163 +124,289 @@
   <data name="rbSave.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
     <value>
         iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAW
-        JQAAFiUBSVIk8AAAABpJREFUWEftwQEBAAAAgiD/r25IQAAAAMC5GhAgAAGdeElDAAAAAElFTkSuQmCC
+        JQAAFiUBSVIk8AAAABpJREFUWEftwQEBAAAAgiD/r25IQAEAAADvBhAgAAHBYCyfAAAAAElFTkSuQmCC
 </value>
   </data>
   <data name="rbSave.SmallImage" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
     <value>
         iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAW
-        JQAAFiUBSVIk8AAAABNJREFUOE9jGAWjYBSMAjBgYAAABBAAAadEfGMAAAAASUVORK5CYII=
+        JQAAFiUBSVIk8AAAABJJREFUOE9jYBgFo2AUjAIIAAAEEAABTLtGVQAAAABJRU5ErkJggg==
 </value>
   </data>
   <data name="rbSaveAs.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
     <value>
         iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAW
-        JQAAFiUBSVIk8AAAABpJREFUWEftwQEBAAAAgiD/r25IQAAAAMC5GhAgAAGdeElDAAAAAElFTkSuQmCC
+        JQAAFiUBSVIk8AAAABpJREFUWEftwQEBAAAAgiD/r25IQAEAAADvBhAgAAHBYCyfAAAAAElFTkSuQmCC
 </value>
   </data>
   <data name="rbSaveAs.SmallImage" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
     <value>
         iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAW
-        JQAAFiUBSVIk8AAAABNJREFUOE9jGAWjYBSMAjBgYAAABBAAAadEfGMAAAAASUVORK5CYII=
+        JQAAFiUBSVIk8AAAABJJREFUOE9jYBgFo2AUjAIIAAAEEAABTLtGVQAAAABJRU5ErkJggg==
 </value>
   </data>
   <data name="rbOut.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
     <value>
         iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAW
-        JQAAFiUBSVIk8AAAABpJREFUWEftwQEBAAAAgiD/r25IQAAAAMC5GhAgAAGdeElDAAAAAElFTkSuQmCC
+        JQAAFiUBSVIk8AAAABpJREFUWEftwQEBAAAAgiD/r25IQAEAAADvBhAgAAHBYCyfAAAAAElFTkSuQmCC
 </value>
   </data>
   <data name="rbOut.SmallImage" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
     <value>
         iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAW
-        JQAAFiUBSVIk8AAAABNJREFUOE9jGAWjYBSMAjBgYAAABBAAAadEfGMAAAAASUVORK5CYII=
+        JQAAFiUBSVIk8AAAABJJREFUOE9jYBgFo2AUjAIIAAAEEAABTLtGVQAAAABJRU5ErkJggg==
 </value>
   </data>
   <data name="ribbonButton2.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
     <value>
         iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAW
-        JQAAFiUBSVIk8AAAABpJREFUWEftwQEBAAAAgiD/r25IQAAAAMC5GhAgAAGdeElDAAAAAElFTkSuQmCC
+        JQAAFiUBSVIk8AAAABpJREFUWEftwQEBAAAAgiD/r25IQAEAAADvBhAgAAHBYCyfAAAAAElFTkSuQmCC
 </value>
   </data>
   <data name="ribbonButton2.SmallImage" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
     <value>
         iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAW
-        JQAAFiUBSVIk8AAAABNJREFUOE9jGAWjYBSMAjBgYAAABBAAAadEfGMAAAAASUVORK5CYII=
+        JQAAFiUBSVIk8AAAABJJREFUOE9jYBgFo2AUjAIIAAAEEAABTLtGVQAAAABJRU5ErkJggg==
 </value>
   </data>
   <data name="ribbonButton1.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
     <value>
         iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAW
-        JQAAFiUBSVIk8AAAABpJREFUWEftwQEBAAAAgiD/r25IQAAAAMC5GhAgAAGdeElDAAAAAElFTkSuQmCC
+        JQAAFiUBSVIk8AAAABpJREFUWEftwQEBAAAAgiD/r25IQAEAAADvBhAgAAHBYCyfAAAAAElFTkSuQmCC
 </value>
   </data>
   <data name="ribbonButton1.SmallImage" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
     <value>
         iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAW
-        JQAAFiUBSVIk8AAAABNJREFUOE9jGAWjYBSMAjBgYAAABBAAAadEfGMAAAAASUVORK5CYII=
+        JQAAFiUBSVIk8AAAABJJREFUOE9jYBgFo2AUjAIIAAAEEAABTLtGVQAAAABJRU5ErkJggg==
 </value>
   </data>
   <data name="rbOpen.SmallImage" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
     <value>
         iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
-        wQAADsEBuJFr7QAAABNJREFUOE9jGAWjYBSMAjBgYAAABBAAAadEfGMAAAAASUVORK5CYII=
+        wAAADsABataJCQAAABJJREFUOE9jYBgFo2AUjAIIAAAEEAABTLtGVQAAAABJRU5ErkJggg==
 </value>
   </data>
   <data name="rbOpenprj.SmallImage" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
     <value>
         iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
-        wQAADsEBuJFr7QAAABNJREFUOE9jGAWjYBSMAjBgYAAABBAAAadEfGMAAAAASUVORK5CYII=
+        wAAADsABataJCQAAABJJREFUOE9jYBgFo2AUjAIIAAAEEAABTLtGVQAAAABJRU5ErkJggg==
 </value>
   </data>
   <data name="rbClose.SmallImage" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
     <value>
         iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
-        wQAADsEBuJFr7QAAABNJREFUOE9jGAWjYBSMAjBgYAAABBAAAadEfGMAAAAASUVORK5CYII=
+        wAAADsABataJCQAAABJJREFUOE9jYBgFo2AUjAIIAAAEEAABTLtGVQAAAABJRU5ErkJggg==
 </value>
   </data>
   <data name="Backup.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
     <value>
         iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
-        wQAADsEBuJFr7QAAABpJREFUWEftwQEBAAAAgiD/r25IQAAAAMC5GhAgAAGdeElDAAAAAElFTkSuQmCC
+        wAAADsABataJCQAAABpJREFUWEftwQEBAAAAgiD/r25IQAEAAADvBhAgAAHBYCyfAAAAAElFTkSuQmCC
 </value>
   </data>
   <data name="Backup.SmallImage" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
     <value>
         iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
-        wQAADsEBuJFr7QAAABNJREFUOE9jGAWjYBSMAjBgYAAABBAAAadEfGMAAAAASUVORK5CYII=
+        wAAADsABataJCQAAABJJREFUOE9jYBgFo2AUjAIIAAAEEAABTLtGVQAAAABJRU5ErkJggg==
 </value>
   </data>
   <data name="ribbonOrbOptionButton1.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
     <value>
         iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAW
-        JQAAFiUBSVIk8AAAABpJREFUWEftwQEBAAAAgiD/r25IQAAAAMC5GhAgAAGdeElDAAAAAElFTkSuQmCC
+        JQAAFiUBSVIk8AAAABpJREFUWEftwQEBAAAAgiD/r25IQAEAAADvBhAgAAHBYCyfAAAAAElFTkSuQmCC
 </value>
   </data>
   <data name="ribbonOrbOptionButton1.SmallImage" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
     <value>
         iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAW
-        JQAAFiUBSVIk8AAAABNJREFUOE9jGAWjYBSMAjBgYAAABBAAAadEfGMAAAAASUVORK5CYII=
+        JQAAFiUBSVIk8AAAABJJREFUOE9jYBgFo2AUjAIIAAAEEAABTLtGVQAAAABJRU5ErkJggg==
 </value>
   </data>
   <data name="ribbonOrbRecentItem1.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
     <value>
         iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAW
-        JQAAFiUBSVIk8AAAABpJREFUWEftwQEBAAAAgiD/r25IQAAAAMC5GhAgAAGdeElDAAAAAElFTkSuQmCC
+        JQAAFiUBSVIk8AAAABpJREFUWEftwQEBAAAAgiD/r25IQAEAAADvBhAgAAHBYCyfAAAAAElFTkSuQmCC
 </value>
   </data>
   <data name="ribbonOrbRecentItem1.SmallImage" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
     <value>
         iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAW
-        JQAAFiUBSVIk8AAAABNJREFUOE9jGAWjYBSMAjBgYAAABBAAAadEfGMAAAAASUVORK5CYII=
+        JQAAFiUBSVIk8AAAABJJREFUOE9jYBgFo2AUjAIIAAAEEAABTLtGVQAAAABJRU5ErkJggg==
+</value>
+  </data>
+  <data name="ribbonOrbRecentItem2.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
+    <value>
+        iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
+        YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAAaSURBVFhH7cEBAQAAAIIg/69uSEABAAAA7wYQIAABwWAs
+        nwAAAABJRU5ErkJggg==
+</value>
+  </data>
+  <data name="ribbonOrbRecentItem2.SmallImage" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
+    <value>
+        iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
+        YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAASSURBVDhPY2AYBaNgFIwCCAAABBAAAUy7RlUAAAAASUVO
+        RK5CYII=
+</value>
+  </data>
+  <data name="ribbonOrbRecentItem3.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
+    <value>
+        iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
+        YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAAaSURBVFhH7cEBAQAAAIIg/69uSEABAAAA7wYQIAABwWAs
+        nwAAAABJRU5ErkJggg==
+</value>
+  </data>
+  <data name="ribbonOrbRecentItem3.SmallImage" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
+    <value>
+        iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
+        YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAASSURBVDhPY2AYBaNgFIwCCAAABBAAAUy7RlUAAAAASUVO
+        RK5CYII=
+</value>
+  </data>
+  <data name="ribbonOrbRecentItem4.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
+    <value>
+        iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
+        YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAAaSURBVFhH7cEBAQAAAIIg/69uSEABAAAA7wYQIAABwWAs
+        nwAAAABJRU5ErkJggg==
+</value>
+  </data>
+  <data name="ribbonOrbRecentItem4.SmallImage" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
+    <value>
+        iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
+        YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAASSURBVDhPY2AYBaNgFIwCCAAABBAAAUy7RlUAAAAASUVO
+        RK5CYII=
+</value>
+  </data>
+  <data name="ribbonOrbRecentItem5.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
+    <value>
+        iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
+        YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAAaSURBVFhH7cEBAQAAAIIg/69uSEABAAAA7wYQIAABwWAs
+        nwAAAABJRU5ErkJggg==
+</value>
+  </data>
+  <data name="ribbonOrbRecentItem5.SmallImage" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
+    <value>
+        iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
+        YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAASSURBVDhPY2AYBaNgFIwCCAAABBAAAUy7RlUAAAAASUVO
+        RK5CYII=
+</value>
+  </data>
+  <data name="ribbonOrbRecentItem6.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
+    <value>
+        iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
+        YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAAaSURBVFhH7cEBAQAAAIIg/69uSEABAAAA7wYQIAABwWAs
+        nwAAAABJRU5ErkJggg==
+</value>
+  </data>
+  <data name="ribbonOrbRecentItem6.SmallImage" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
+    <value>
+        iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
+        YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAASSURBVDhPY2AYBaNgFIwCCAAABBAAAUy7RlUAAAAASUVO
+        RK5CYII=
+</value>
+  </data>
+  <data name="ribbonOrbRecentItem7.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
+    <value>
+        iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
+        YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAAaSURBVFhH7cEBAQAAAIIg/69uSEABAAAA7wYQIAABwWAs
+        nwAAAABJRU5ErkJggg==
+</value>
+  </data>
+  <data name="ribbonOrbRecentItem7.SmallImage" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
+    <value>
+        iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
+        YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAASSURBVDhPY2AYBaNgFIwCCAAABBAAAUy7RlUAAAAASUVO
+        RK5CYII=
+</value>
+  </data>
+  <data name="ribbonOrbRecentItem8.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
+    <value>
+        iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
+        YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAAaSURBVFhH7cEBAQAAAIIg/69uSEABAAAA7wYQIAABwWAs
+        nwAAAABJRU5ErkJggg==
+</value>
+  </data>
+  <data name="ribbonOrbRecentItem8.SmallImage" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
+    <value>
+        iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
+        YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAASSURBVDhPY2AYBaNgFIwCCAAABBAAAUy7RlUAAAAASUVO
+        RK5CYII=
+</value>
+  </data>
+  <data name="ribbonOrbRecentItem9.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
+    <value>
+        iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
+        YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAAaSURBVFhH7cEBAQAAAIIg/69uSEABAAAA7wYQIAABwWAs
+        nwAAAABJRU5ErkJggg==
+</value>
+  </data>
+  <data name="ribbonOrbRecentItem9.SmallImage" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
+    <value>
+        iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
+        YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAASSURBVDhPY2AYBaNgFIwCCAAABBAAAUy7RlUAAAAASUVO
+        RK5CYII=
+</value>
+  </data>
+  <data name="ribbonOrbRecentItem10.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
+    <value>
+        iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
+        YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAAaSURBVFhH7cEBAQAAAIIg/69uSEABAAAA7wYQIAABwWAs
+        nwAAAABJRU5ErkJggg==
+</value>
+  </data>
+  <data name="ribbonOrbRecentItem10.SmallImage" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
+    <value>
+        iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
+        YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAASSURBVDhPY2AYBaNgFIwCCAAABBAAAUy7RlUAAAAASUVO
+        RK5CYII=
 </value>
   </data>
   <data name="rbAllImage.SmallImage" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
     <value>
         iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAW
-        JQAAFiUBSVIk8AAAABNJREFUOE9jGAWjYBSMAjBgYAAABBAAAadEfGMAAAAASUVORK5CYII=
+        JQAAFiUBSVIk8AAAABJJREFUOE9jYBgFo2AUjAIIAAAEEAABTLtGVQAAAABJRU5ErkJggg==
 </value>
   </data>
   <data name="rbFrame.SmallImage" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
     <value>
         iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAW
-        JQAAFiUBSVIk8AAAABNJREFUOE9jGAWjYBSMAjBgYAAABBAAAadEfGMAAAAASUVORK5CYII=
+        JQAAFiUBSVIk8AAAABJJREFUOE9jYBgFo2AUjAIIAAAEEAABTLtGVQAAAABJRU5ErkJggg==
 </value>
   </data>
   <data name="rbStaff.SmallImage" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
     <value>
         iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAW
-        JQAAFiUBSVIk8AAAABNJREFUOE9jGAWjYBSMAjBgYAAABBAAAadEfGMAAAAASUVORK5CYII=
+        JQAAFiUBSVIk8AAAABJJREFUOE9jYBgFo2AUjAIIAAAEEAABTLtGVQAAAABJRU5ErkJggg==
 </value>
   </data>
   <data name="rbRenew.SmallImage" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
     <value>
         iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAW
-        JQAAFiUBSVIk8AAAABNJREFUOE9jGAWjYBSMAjBgYAAABBAAAadEfGMAAAAASUVORK5CYII=
+        JQAAFiUBSVIk8AAAABJJREFUOE9jYBgFo2AUjAIIAAAEEAABTLtGVQAAAABJRU5ErkJggg==
 </value>
   </data>
   <data name="rbHelp.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
     <value>
         iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
-        wQAADsEBuJFr7QAAABpJREFUWEftwQEBAAAAgiD/r25IQAAAAMC5GhAgAAGdeElDAAAAAElFTkSuQmCC
+        wAAADsABataJCQAAABpJREFUWEftwQEBAAAAgiD/r25IQAEAAADvBhAgAAHBYCyfAAAAAElFTkSuQmCC
 </value>
   </data>
   <data name="rbHelp.SmallImage" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
     <value>
         iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
-        wQAADsEBuJFr7QAAABNJREFUOE9jGAWjYBSMAjBgYAAABBAAAadEfGMAAAAASUVORK5CYII=
+        wAAADsABataJCQAAABJJREFUOE9jYBgFo2AUjAIIAAAEEAABTLtGVQAAAABJRU5ErkJggg==
 </value>
   </data>
   <data name="rbGB1.SmallImage" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
     <value>
         iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAW
-        JQAAFiUBSVIk8AAAABNJREFUOE9jGAWjYBSMAjBgYAAABBAAAadEfGMAAAAASUVORK5CYII=
+        JQAAFiUBSVIk8AAAABJJREFUOE9jYBgFo2AUjAIIAAAEEAABTLtGVQAAAABJRU5ErkJggg==
 </value>
   </data>
   <data name="rbGB2.SmallImage" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
     <value>
         iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAW
-        JQAAFiUBSVIk8AAAABNJREFUOE9jGAWjYBSMAjBgYAAABBAAAadEfGMAAAAASUVORK5CYII=
+        JQAAFiUBSVIk8AAAABJJREFUOE9jYBgFo2AUjAIIAAAEEAABTLtGVQAAAABJRU5ErkJggg==
 </value>
   </data>
   <metadata name="statusStrip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
@@ -289,31 +415,31 @@
   <data name="ribbonOrbMenuItem5.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
     <value>
         iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAW
-        JQAAFiUBSVIk8AAAABpJREFUWEftwQEBAAAAgiD/r25IQAAAAMC5GhAgAAGdeElDAAAAAElFTkSuQmCC
+        JQAAFiUBSVIk8AAAABpJREFUWEftwQEBAAAAgiD/r25IQAEAAADvBhAgAAHBYCyfAAAAAElFTkSuQmCC
 </value>
   </data>
   <data name="ribbonOrbMenuItem5.SmallImage" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
     <value>
         iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAW
-        JQAAFiUBSVIk8AAAABNJREFUOE9jGAWjYBSMAjBgYAAABBAAAadEfGMAAAAASUVORK5CYII=
+        JQAAFiUBSVIk8AAAABJJREFUOE9jYBgFo2AUjAIIAAAEEAABTLtGVQAAAABJRU5ErkJggg==
 </value>
   </data>
   <data name="ribbonOrbMenuItem7.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
     <value>
         iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAW
-        JQAAFiUBSVIk8AAAABpJREFUWEftwQEBAAAAgiD/r25IQAAAAMC5GhAgAAGdeElDAAAAAElFTkSuQmCC
+        JQAAFiUBSVIk8AAAABpJREFUWEftwQEBAAAAgiD/r25IQAEAAADvBhAgAAHBYCyfAAAAAElFTkSuQmCC
 </value>
   </data>
   <data name="ribbonOrbMenuItem7.SmallImage" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
     <value>
         iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAW
-        JQAAFiUBSVIk8AAAABNJREFUOE9jGAWjYBSMAjBgYAAABBAAAadEfGMAAAAASUVORK5CYII=
+        JQAAFiUBSVIk8AAAABJJREFUOE9jYBgFo2AUjAIIAAAEEAABTLtGVQAAAABJRU5ErkJggg==
 </value>
   </data>
   <data name="ribbonButton3.SmallImage" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
     <value>
         iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAW
-        JQAAFiUBSVIk8AAAABNJREFUOE9jGAWjYBSMAjBgYAAABBAAAadEfGMAAAAASUVORK5CYII=
+        JQAAFiUBSVIk8AAAABJJREFUOE9jYBgFo2AUjAIIAAAEEAABTLtGVQAAAABJRU5ErkJggg==
 </value>
   </data>
   <metadata name="toolTip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">