Пример #1
0
        public virtual void FromXml(XmlElement xmlEle, IXmlContext cnt)
        {
            XmlElement _infoEle = xmlEle["info"];

            if (null != _infoEle)
            {
                _mkaInfo = cnt.FromXml(_infoEle as XmlElement) as MkaMokkanInfo;
            }

            XmlElement _formatEle = xmlEle["format"];

            if (null != _formatEle)
            {
                _mkaInfo.Properties = cnt.FromXml(_formatEle as XmlElement) as GraphicsProperties;
            }
        }
Пример #2
0
        /// <summary>
        /// Load glass information from xml file
        /// </summary>
        private MkaDocument FileLoadGlass(String filename)
        {
            XmlDocument doc = new XmlDocument();

            doc.Load(filename);

            // Deserialize object from xml format
            IXmlFormatter formatter = FepXmlableFactory.CreateXmlFormatter();
            IXmlContext   cnt       = FepXmlableFactory.CreateXmlContext(formatter, doc);

            XmlElement  _eleBat   = cnt.Document.DocumentElement;
            XmlNode     _eleGlass = _eleBat.FirstChild;
            XmlNode     _eleMk    = _eleGlass.FirstChild;
            MkaDocument mkaDoc    = new MkaDocument(null);

            mkaDoc.GlassInfo               = cnt.FromXml(_eleGlass as XmlElement) as MkaGlassInfo;
            mkaDoc.BatInfo                 = cnt.FromXml(_eleBat as XmlElement) as MkaBatInfo;
            mkaDoc.MokkanList              = cnt.FromXml(_eleMk as XmlElement) as MokkanList;
            mkaDoc.BatInfo.BatDirectory    = Path.GetDirectoryName(filename);
            mkaDoc.GlassInfo.GlassFilePath = filename;
            mkaDoc.GlassInfo.MokkanKazu    = mkaDoc.MokkanList.Count;
            mkaDoc.GlassImage              = Path.GetDirectoryName(filename) + "\\" + mkaDoc.GlassInfo.ImageFileName;

            int maxRid = mkaDoc.MokkanList.GetMaxRBangou() + 1;

            if (maxRid == 1)
            {
                MkaMokkanInfo.LastRBangou = mkaDoc.GlassInfo.KaishiRBangou;
            }
            else
            {
                MkaMokkanInfo.LastRBangou = maxRid;
            }
            mkaDoc.MokkanList.KaishiRBangou = MkaMokkanInfo.LastRBangou;

            return(mkaDoc);
        }
Пример #3
0
 void IXmlable.FromXml(XmlElement xmlEle, IXmlContext cnt)
 {
     this._mokkanObjList.Clear();
     DrawObject.Ratio  = 1.0f;
     DrawObject.Origin = new Point(0, 0);
     foreach (XmlElement objEle in xmlEle)
     {
         DrawObject obj = cnt.FromXml(objEle) as DrawObject;
         System.Diagnostics.Debug.Assert(null != obj);
         if (null != obj)
         {
             obj.Calculate();
             _mokkanObjList.Add(obj);
         }
     }
 }