/// <summary> /// Creates temporary templates from a XML file that contains setdata /// </summary> /// <param name="filePath">Path to the XML</param> /// <param name="save"></param> public void CreateObjectTemplateFromXMLSetData(string filePath, bool save = false) { var xml = XDocument.Load(filePath); foreach (var objElem in xml.Root.Elements("Object")) { var typeAttr = objElem.Attribute("type"); var parametersElem = objElem.Element("Parameters"); if (typeAttr == null) { continue; } if (TemplatesColors.ContainsKey(typeAttr.Value)) { continue; } var objType = new SetObjectType(); objType.Name = typeAttr.Value; if (parametersElem != null) { foreach (var paramElem in parametersElem.Elements()) { var param = new SetObjectTypeParam(); var dataTypeAttr = paramElem.Attribute("type"); if (dataTypeAttr == null) { continue; } var dataType = Types.GetTypeFromString(dataTypeAttr.Value); param.Name = paramElem.Name.ToString(); param.DataType = dataType; param.DefaultValue = paramElem.Value; param.Description = "TODO"; objType.Parameters.Add(param); } } TemplatesColors.Add(typeAttr.Value, objType); if (save) { objType.Save(typeAttr.Value + ".xml", true); } } }
public EditParamForm(SetObjectParam param, SetObjectTypeParam paramType) : this() { Param = param; Type = param.DataType; ParamType = paramType; titleLbl.Text += param.DataType.Name; if (paramType != null && paramType.Enums.Count > 0) { CheckBox_UseEnum.Enabled = true; foreach (var tempEnum in paramType.Enums) { ComboBox_Enum.Items.Add(tempEnum); } ComboBox_Enum.SelectedItem = ComboBox_Enum.Items[0]; } UpdateTypes(); Read(); }