/// <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();
        }