Example #1
0
 public ExtParameter Dupe(string type) {
     ExtParameter p = new ExtParameter();
     p.Type = type;
     p.Name = Name;
     p.Usage = Usage;
     p.Description = Description;
     return p;
 }
Example #2
0
        public static ExtParameter ParseParameter(string member) {
            /**
             * @param {String/HTMLElement/Ext.Element} el The id of or container element
             */
            member = member.Substring("@param".Length).Trim(); // leaving "{String/HTMLElement/Ext.Element} el The id of or container element"
            ExtParameter ep = new ExtParameter();
            ep.Type = "Object";
            ep.Name = "obj";
            ep.Description = new ExtDescription();
            if (member.StartsWith("{")) {
                int i = member.IndexOf("}");
                if (i < 0) i = member.IndexOf(")");
                ep.Type = member.Substring(1, i - 1);
                member = member.Substring(i + 1).Trim(); // leaving "el The id of or container element"
                i = member.IndexOf(" ");
                if (i < 0) {
                    ep.Name = member; // only one word left
                } else {
                    ep.Name = member.Substring(0, i);
                    member = member.Substring(i).Trim(); // leaving "The id of or container element"
                    ep.Description.Value = member;
                }
            } else {
                string[] data = member.Split(" ".ToCharArray(), StringSplitOptions.RemoveEmptyEntries);
                ep.Type = "Object";
                ep.Name = data.Length > 0 ? data[0] : "obj";

                for (int i = 1; i < data.Length; i++) {
                    if (i > 1) ep.Description.Value += " ";
                    ep.Description.Value += data[i];
                }
            }

            ep.Name = ExtType.ParseParameterName(ep.Name);

            if (ep.Type.Contains("...")) {
                ep.Type = ep.Type.Replace("...", "");
                ep.Name = "etc"; // many args expected
            }
            //            if (ep.Type.Contains("@link ")) ep.Type = ep.Type.Replace("@link ", "");

            return ep;
        }