Пример #1
0
        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);
        }
Пример #2
0
 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;
 }
Пример #3
0
 public void AddVariable(CodeTemplateVariable var)
 {
     this.variableDecarations.Add (var.Name, var);
 }
Пример #4
0
        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);
        }
Пример #5
0
 public void AddVariable(CodeTemplateVariable var)
 {
     this.variableDecarations.Add(var.Name, var);
 }