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);
                    }
                }
            }
        }
Esempio n. 2
0
        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);
            }
        }
Esempio n. 4
0
        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;
                            }
                        }
                    }
                }
            }
        }
Esempio n. 5
0
        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]);
            }
        }