public void OnReadFromXmlNode(IXmlCodeReader serializer, XmlNode node) { _instanceType = serializer.ReadValue <Type>(node, null); if (_instanceType == null) { string msg = node.InnerXml; throw new VPLException("Loading type failed from xml [{0}]. If this project was developed in another Limnor Studio IDE then it could be that some support files or dependent assemblies are not copied from the original IDE", msg); } SetType(_instanceType, serializer.ProjectFolder); XmlNode dataNode = node.SelectSingleNode(XML_Data); if (dataNode != null) { PropertyDescriptorCollection ps = GetProperties(); foreach (XmlNode nd in dataNode.ChildNodes) { PropertyDescriptor p = ps[nd.Name]; if (p != null) { object obj = serializer.ReadObject(nd, this); //.ReadObjectFromXmlNode(nd, obj, p.PropertyType, this); p.SetValue(this, obj); } } } }
public override void OnReadFromXmlNode(IXmlCodeReader reader, XmlNode node) { _classId = XmlUtil.GetAttributeUInt(node, XmlTags.XMLATT_ClassID); _memberId = XmlUtil.GetAttributeUInt(node, XmlTags.XMLATT_ComponentID); XmlNode pn = node.SelectSingleNode(XML_Location); if (pn != null) { this.Location = reader.ReadValue <Point>(pn, this); } if (UseLabel) { object v; if (XmlSerialization.ReadValueFromChildNode(node, XML_RelativePosition, out v)) { if (_label == null) { _label = new DrawingLabel(this); } _label.RelativePosition.Location = (Point)v; XmlNode nd = node.SelectSingleNode(XML_RelativePosition); _label.RelativePosition.IsXto0 = XmlSerialization.GetAttributeBool(nd, "xTo0", true); _label.RelativePosition.IsYto0 = XmlSerialization.GetAttributeBool(nd, "yTo0", true); } } }
public void OnReadFromXmlNode(IXmlCodeReader serializer, XmlNode node) { _properties = new SortedList <string, TypedNamedValue>(); XmlNode items = node.SelectSingleNode(XmlTags.XML_Data); if (items != null) { XmlNodeList nds = items.SelectNodes(XmlTags.XML_Item); foreach (XmlNode nd in nds) { string name = XmlUtil.GetNameAttribute(nd); Type t = XmlUtil.GetLibTypeAttribute(nd); object v = null; XmlNode d = nd.SelectSingleNode(XmlTags.XML_Data); if (d != null) { v = serializer.ReadValue(d); } _properties.Add(name, new TypedNamedValue(name, new TypedValue(t, v))); } } createFileList(); items = node.SelectSingleNode(XmlTags.XML_External); if (items != null) { StringCollection ss = new StringCollection(); XmlNodeList nds = items.SelectNodes(XmlTags.XML_Item); foreach (XmlNode nd in nds) { string name = XmlUtil.GetNameAttribute(nd); ss.Add(name); } _phpIncludes.SetNames(ss); } }
protected virtual void OnRead(IXmlCodeReader reader, XmlNode dataNode) { Type t = XmlUtil.GetLibTypeAttribute(dataNode); if (t != null) { if (t.Equals(typeof(ParameterClass))) { _type = (DataTypePointer)Activator.CreateInstance(t, Method); } else { _type = (DataTypePointer)Activator.CreateInstance(t); } reader.ReadObjectFromXmlNode(dataNode, _type, t, this); CreateLocalVariable(); if (_type.IsPrimitive) { LocalVariable v = this.LocalPointer; if (v != null) { XmlNode nd = dataNode.SelectSingleNode("Value"); if (nd != null) { object val = reader.ReadValue(nd, null, _type.ObjectType); if (val != null) { v.ObjectInstance = val; } } } } } }
public void ReadFromXmlNode(IXmlCodeReader reader, XmlNode node) { XmlNodeList ns = node.SelectNodes(string.Format(CultureInfo.InvariantCulture, "{0}/{1}", XML_Values, WebPageDataSet.XML_Item)); ItemArray = new object[ns.Count]; for (int i = 0; i < ns.Count; i++) { ItemArray[i] = reader.ReadValue(ns[i]); } }