public static CodeTemplateVariable Read(XmlReader reader) { CodeTemplateVariable result = new CodeTemplateVariable(); result.Name = reader.GetAttribute(nameAttribute); string isEditable = reader.GetAttribute(editableAttribute); if (!string.IsNullOrEmpty(isEditable)) { result.IsEditable = Boolean.Parse(isEditable); } string isIdentifier = reader.GetAttribute(identifierAttribute); if (!string.IsNullOrEmpty(isIdentifier)) { result.IsIdentifier = Boolean.Parse(isIdentifier); } XmlReadHelper.ReadList(reader, Node, delegate() { //Console.WriteLine ("ctv:" +reader.LocalName); switch (reader.LocalName) { case DefaultNode: result.Default = reader.ReadElementContentAsString(); return(true); case TooltipNode: result.ToolTip = reader.ReadElementContentAsString(); return(true); case ValuesNode: XmlReadHelper.ReadList(reader, ValuesNode, delegate() { switch (reader.LocalName) { case ValueNode: string icon = reader.GetAttribute(iconAttribute); string val = reader.ReadElementContentAsString(); result.Values.Add(new CodeTemplateVariableValue(val, icon)); return(true); } return(false); }); return(true); case FunctionNode: result.Function = reader.ReadElementContentAsString(); return(true); } return(false); }); //Console.WriteLine ("return:" + result); return(result); }
public static CodeTemplateVariable Read(XmlReader reader) { CodeTemplateVariable result = new CodeTemplateVariable (); result.Name = reader.GetAttribute (nameAttribute); string isEditable = reader.GetAttribute (editableAttribute); if (!string.IsNullOrEmpty (isEditable)) result.IsEditable = Boolean.Parse (isEditable); string isIdentifier = reader.GetAttribute (identifierAttribute); if (!string.IsNullOrEmpty (isIdentifier)) result.IsIdentifier = Boolean.Parse (isIdentifier); XmlReadHelper.ReadList (reader, Node, delegate () { //Console.WriteLine ("ctv:" +reader.LocalName); switch (reader.LocalName) { case DefaultNode: result.Default = reader.ReadElementContentAsString (); return true; case TooltipNode: result.ToolTip = reader.ReadElementContentAsString (); return true; case ValuesNode: XmlReadHelper.ReadList (reader, ValuesNode, delegate () { switch (reader.LocalName) { case ValueNode: string icon = reader.GetAttribute (iconAttribute); string val = reader.ReadElementContentAsString (); result.Values.Add (new CodeTemplateVariableValue (val, icon)); return true; } return false; }); return true; case FunctionNode: result.Function = reader.ReadElementContentAsString (); return true; } return false; }); //Console.WriteLine ("return:" + result); return result; }
public void AddVariable(CodeTemplateVariable var) { this.variableDecarations.Add (var.Name, var); }
public static CodeTemplate Read(XmlReader reader) { Debug.Assert(reader.LocalName == Node); CodeTemplate result = new CodeTemplate(); XmlReadHelper.ReadList(reader, Node, delegate() { //Console.WriteLine (reader.LocalName); switch (reader.LocalName) { case HeaderNode: XmlReadHelper.ReadList(reader, HeaderNode, delegate() { switch (reader.LocalName) { case GroupNode: result.Group = reader.ReadElementContentAsString(); return(true); case VersionNode: result.Version = reader.ReadElementContentAsString(); return(true); case MimeNode: result.MimeType = reader.ReadElementContentAsString(); return(true); case ContextNode: result.CodeTemplateContext = (CodeTemplateContext)Enum.Parse(typeof(CodeTemplateContext), reader.ReadElementContentAsString()); return(true); case ShortcutNode: result.Shortcut = reader.ReadElementContentAsString(); return(true); case DescriptionNode: result.Description = reader.ReadElementContentAsString(); return(true); case TemplateTypeNode: result.CodeTemplateType = (CodeTemplateType)Enum.Parse(typeof(CodeTemplateType), reader.ReadElementContentAsString()); return(true); } return(false); }); return(true); case VariablesNode: XmlReadHelper.ReadList(reader, VariablesNode, delegate() { //Console.WriteLine ("var:" + reader.LocalName); switch (reader.LocalName) { case CodeTemplateVariable.Node: CodeTemplateVariable var = CodeTemplateVariable.Read(reader); result.variableDecarations [var.Name] = var; return(true); } return(false); }); return(true); case CodeNode: result.Code = reader.ReadElementContentAsString(); return(true); } return(false); }); //Console.WriteLine ("result:" + result); return(result); }
public void AddVariable(CodeTemplateVariable var) { this.variableDecarations.Add(var.Name, var); }