private void ReadFromXmlElement(XmlElement el) { if (el.HasAttribute("Group")) group = el.GetAttribute("Group"); if (el.HasAttribute("Name")) name = el.GetAttribute("Name"); if (el.HasAttribute("ReadOnly") && el.GetAttribute("ReadOnly") == "1") isReadonly = true; if (el.HasAttribute("Text")) text = el.GetAttribute("Text"); if (el.HasAttribute("CVMaps")) CVMapsFromXml(el.GetAttribute("CVMaps")); if (el.HasAttribute("Default")) defaultValue = uint.Parse(el.GetAttribute("Default")); if (el.HasAttribute("Value")) value = uint.Parse(el.GetAttribute("Value")); else if (defaultValue.HasValue) value = defaultValue; //else // currentValue = 0; // ??? if (el.HasAttribute("Verified")) verified = el.GetAttribute("Verified") == "1"; valueRange = DecoderParameterValueRange.FromXmlElement(el); valueChoices = DecoderParameterValueChoices.FromXmlElement(el); valueBitFlags = DecoderParameterValueBitFlags.FromXmlElement(el); valueBitFlagsStates.Clear(); if (valueBitFlags != null) { foreach (DecoderParameterValueBitFlag v in valueBitFlags.Values) { CheckBox chb = new CheckBox(); chb.Content = v.Name; chb.Tag = v.Value; chb.IsChecked = false; chb.Checked += CheckBox_CheckedChanged; chb.Unchecked += CheckBox_CheckedChanged; valueBitFlagsStates.Add(chb); } SetCheckBoxValues(); } }
public static DecoderParameterValueChoices FromXmlElement(XmlElement el) { DecoderParameterValueChoices valueSet = new DecoderParameterValueChoices(); return (valueSet.ReadFromXmlElement(el) ? valueSet : null); }