public void Initialize(CustomizedEnum customizedEnum, CustomizedEnum.CustomizedEnumMember enumMember) { _initialized = false; _isModified = false; _customizedEnum = customizedEnum; _originalMember = enumMember; if (enumMember == null) { _isNew = true; _enumMember = new CustomizedEnum.CustomizedEnumMember(enumMember); } else { _isNew = false; _enumMember = enumMember; } this.nameTextBox.Text = _enumMember.Name; this.valueNumericUpDown.Value = _enumMember.Value; this.dispTextBox.Text = _enumMember.DisplayName; this.descTextBox.Text = _enumMember.Description; _initialized = true; }
private static void LoadCustomTypes(XmlNode rootNode) { if (rootNode == null) { return; } CustomizedTypeManager.Instance.Enums.Clear(); CustomizedTypeManager.Instance.Structs.Clear(); foreach(XmlNode xmlNode in rootNode.ChildNodes) { if (xmlNode.Name == "enumtype") { string enumName = GetAttribute(xmlNode, "Type"); string[] enumNames = enumName.Split(new char[] { ':' }, StringSplitOptions.RemoveEmptyEntries); enumName = enumNames[enumNames.Length - 1]; string displayName = GetAttribute(xmlNode, "DisplayName"); string desc = GetAttribute(xmlNode, "Desc"); CustomizedEnum customizedEnum = new CustomizedEnum(null); customizedEnum.Name = enumName; customizedEnum.DisplayName = displayName; customizedEnum.Description = desc; foreach(XmlNode memberNode in xmlNode.ChildNodes) { if (memberNode.Name == "enum") { string memberName = GetAttribute(memberNode, "Value"); string[] memberNames = memberName.Split(new char[] { ':' }, StringSplitOptions.RemoveEmptyEntries); memberName = memberNames[memberNames.Length - 1]; string memberDisplayName = GetAttribute(memberNode, "DisplayName"); string memberDesc = GetAttribute(memberNode, "Desc"); string memberValue = GetAttribute(memberNode, "MemberValue"); CustomizedEnum.CustomizedEnumMember enumMember = new CustomizedEnum.CustomizedEnumMember(null); enumMember.Name = memberName; enumMember.DisplayName = memberDisplayName; enumMember.Description = memberDesc; try { enumMember.Value = int.Parse(memberValue); } catch { enumMember.Value = -1; } customizedEnum.Members.Add(enumMember); } } CustomizedTypeManager.Instance.Enums.Add(customizedEnum); } else if (xmlNode.Name == "struct") { string structName = GetAttribute(xmlNode, "Type"); string[] structNames = structName.Split(new char[] { ':' }, StringSplitOptions.RemoveEmptyEntries); structName = structNames[structNames.Length - 1]; string displayName = GetAttribute(xmlNode, "DisplayName"); string desc = GetAttribute(xmlNode, "Desc"); CustomizedStruct customizedStruct = new CustomizedStruct(null); customizedStruct.Name = structName; customizedStruct.DisplayName = displayName; customizedStruct.Description = desc; foreach(XmlNode memberNode in xmlNode.ChildNodes) { if (memberNode.Name == "Member") { string memberName = GetAttribute(memberNode, "Name"); string[] memberNames = memberName.Split(new char[] { ':' }, StringSplitOptions.RemoveEmptyEntries); memberName = memberNames[memberNames.Length - 1]; string memberType = GetAttribute(memberNode, "Type"); Type type = Plugin.GetTypeFromName(memberType); string memberDisplayName = GetAttribute(memberNode, "DisplayName"); string memberDesc = GetAttribute(memberNode, "Desc"); PropertyDef structProp = new PropertyDef(null, type, structName, memberName, memberDisplayName, memberDesc); customizedStruct.Properties.Add(structProp); } } CustomizedTypeManager.Instance.Structs.Add(customizedStruct); } } }