Esempio n. 1
0
        public void StyleSheetTest()
        {
            var ser  = new StyleXmlSerializer();
            var item = StyleSheet.CreateDefaultStyleSheet();

            var node = ser.Write(item);

            this.ReportDetail(node.ToString());

            var newItem = ser.ReadStyleSheet(node);

            Assert.AreEqual(item, newItem);
        }
Esempio n. 2
0
        public void SizeTest()
        {
            var ser  = new StyleXmlSerializer();
            var item = new Size(10, 10);
            var node = new XElement("itemTest");

            node.Add(ser.Write("size", new Pair <double, double>(item.Width, item.Height)));

            this.ReportDetail(node.ToString());

            var newItem = ser.ReadSize(node, "size");

            Assert.AreEqual(item, newItem);
        }
Esempio n. 3
0
        public void FontTest()
        {
            var ser  = new StyleXmlSerializer();
            var font = Font.FromName("Tahoma 10");
            var elem = ser.Write(font);

            this.ReportDetail(elem.ToString());

            var newFont = ser.ReadFont(elem);

            Assert.AreEqual(font.Family, newFont.Family);
            Assert.AreEqual(font.Size, newFont.Size);
            Assert.AreEqual(font.Style, newFont.Style);
        }
Esempio n. 4
0
        public void ColorTest()
        {
            var ser  = new StyleXmlSerializer();
            var item = Colors.Black;


            var node = new XElement("ColorTest");

            node.Add(ser.WriteColor(item, "Color"));
            this.ReportDetail(node.ToString());

            var newItem = ser.ReadColor(node, "Color");

            Assert.AreEqual(item, newItem);
        }
Esempio n. 5
0
        public void StyleTest()
        {
            var ser  = new StyleXmlSerializer();
            var item = StyleSheet.CreateDefaultStyleSheet().BaseStyle;

            item.AutoSize  = new Size(10, 10);
            item.PaintData = false;

            var node = ser.Write(item);

            this.ReportDetail(node.ToString());

            var newItem = ser.ReadStyle(node, item.ParentStyle);

            Assert.IsTrue(item.Equals(newItem));
        }
Esempio n. 6
0
        public void TupleTest()
        {
            var ser  = new StyleXmlSerializer();
            var item = new Pair <string, string> ("a", "b");

            ser.Write(item);
            var node = new XElement("tupletest");

            node.Add(ser.Write("tuple", item));

            this.ReportDetail(node.ToString());

            var newItem = ser.ReadTuple(node, "tuple");

            Assert.AreEqual(item, newItem);
        }
        private void Deserialize()
        {
            //ensure thread safety
            lock (syncRoot)
            {
                if (!string.IsNullOrEmpty(this.partiallyLoadedXmlData))
                {
                    XmlStyleSheet xmlStyleSheet = new XmlStyleSheet();
                    using (TextReader textReader = new StringReader(this.partiallyLoadedXmlData))
                    {
                        using (XmlReader reader = XmlReader.Create(textReader))
                        {
                            StyleXmlSerializer ser = new StyleXmlSerializer(false);
                            ser.PropertiesProvider = this.propertiesProvider;

                            ser.ReadObjectElement(reader, xmlStyleSheet);
                        }
                    }

                    this.partiallyLoadedXmlData = null;

                    base.PropertySettingGroups.Clear();
                    xmlStyleSheet.DeserializePropertySettingGroups(base.PropertySettingGroups);
                }
                else if (loadedXmlStyleSheet != null)
                {
                    base.PropertySettingGroups.Clear();
                    loadedXmlStyleSheet.DeserializePropertySettingGroups(base.PropertySettingGroups);
                    this.loadedXmlStyleSheet = null;
                }

                this.loaded = true;

                if (this.LoadedCompletely != null)
                {
                    this.LoadedCompletely(this, EventArgs.Empty);

                    //this event occurs only once in the lifetime of the object, so remove the event handlers
                    this.LoadedCompletely = null;
                }
            }
        }