private void CheckTagPresenceOfNode(TreeNode tn) { tNodeTagInfo nti; if (tn.Tag == null) { nti = new tNodeTagInfo(); nti.ID = -1; nti.info = ""; nti.ParLower = 0; nti.ParUpper = 0; nti.ParType = ""; nti.ParStepSize = 0; nti.type = eMenueElementType.normal; nti.ParDesc = ""; tn.Tag = nti; } }
/// <summary> /// Used by Deserialize method for setting properties of /// TreeNode from xml node attributes /// </summary> private void vSetAttributeValue(TreeNode _node, string _propertyName, string _value) { tNodeTagInfo nti; if (_node.Tag == null) { nti = new tNodeTagInfo(); nti.type = eMenueElementType.normal; nti.info = ""; nti.ID = -1; _node.Tag = nti; } if (_propertyName == XmlNodeTextAtt) { _node.Text = _value; } else if (_propertyName == XmlNodeImageIndexAtt) { _node.ImageIndex = int.Parse(_value); _node.SelectedImageIndex = int.Parse(_value); } else if (_propertyName == XmlNodeTagIDAtt) { nti = (tNodeTagInfo)_node.Tag; nti.ID = -1;//int.Parse(value); // fixme _node.Tag = nti; } else if (_propertyName == XmlNodeTagTypeAtt) { nti = (tNodeTagInfo)_node.Tag; EnumConverter ec = new EnumConverter(typeof(eMenueElementType)); nti.type = (eMenueElementType)ec.ConvertFromString(_value); _node.Tag = nti; } else if (_propertyName == XmlNodeTagInfoAtt) { nti = (tNodeTagInfo)_node.Tag; nti.info = _value; _node.Tag = nti; } else if (_propertyName == XmlNodeTagParUpper) { nti = (tNodeTagInfo)_node.Tag; nti.ParUpper = int.Parse(_value); _node.Tag = nti; } else if (_propertyName == XmlNodeTagParLower) { nti = (tNodeTagInfo)_node.Tag; nti.ParLower = int.Parse(_value); _node.Tag = nti; } else if (_propertyName == XmlNodeTagParStepSize) { nti = (tNodeTagInfo)_node.Tag; nti.ParStepSize = int.Parse(_value); _node.Tag = nti; } else if (_propertyName == XmlNodeTagParType) { nti = (tNodeTagInfo)_node.Tag; nti.ParType = _value; _node.Tag = nti; _node.ImageIndex = (int)((tNodeTagInfo)_node.Tag).type; // this is duplicated somehow..., but if node info is missing in XML, it is restored here. _node.SelectedImageIndex = (int)((tNodeTagInfo)_node.Tag).type; } else if (_propertyName == XmlNodeTagParDesc) { nti = (tNodeTagInfo)_node.Tag; nti.ParDesc = _value; _node.Tag = nti; } }