Exemplo n.º 1
0
#pragma warning disable 219
        void PopulateDir(Node me, string dir)
        {
            Console.WriteLine("Adding: " + dir);
            foreach (string child_dir in Directory.GetDirectories(dir))
            {
                string url = Path.GetFileName(child_dir);
                Node   n   = me.LookupNode("Dir: " + url, "simple-directory:" + url);
                PopulateDir(me, child_dir);
            }

            foreach (string file in Directory.GetFiles(dir))
            {
                Console.WriteLine("   File: " + file);
                string file_code = me.tree.HelpSource.PackFile(file);

                //
                // The url element encoded for the file is:
                //  originalfilename#CODE
                //
                // The code is assigned to us after the file has been packaged
                // We use the original-filename later to render html or text files
                //
                Node n = me.LookupNode(Path.GetFileName(file), file + "#" + file_code);
            }
        }
Exemplo n.º 2
0
        public override void PopulateTree(Tree tree)
        {
            Node top = tree.LookupNode("Directory at: " + basedir, "simple:");

            foreach (string dir in Directory.GetDirectories(basedir))
            {
                string url = Path.GetFileName(dir);
                Node   n   = top.LookupNode("Dir: " + url, url);
                PopulateDir(n, dir);
            }
        }
Exemplo n.º 3
0
	void PopulateNode (XPathNodeIterator nodes, Node treeNode)
	{
		while (nodes.MoveNext ()) {
			XPathNavigator n = nodes.Current;
			string secNumber = n.GetAttribute ("number", ""),
				secName = n.GetAttribute ("name", "");
			
			treeNode.tree.HelpSource.Message (TraceLevel.Info, "\tSection: " + secNumber);
			treeNode.tree.HelpSource.PackFile (Path.Combine (basedir, secNumber + ".xml"), secNumber);
			Node thisNode = treeNode.LookupNode (secNumber + ": " + secName, "ecmaspec:" + secNumber);
			
			if (n.HasChildren)
				PopulateNode (n.SelectChildren ("node", ""), thisNode);
		}
	}
Exemplo n.º 4
0
#pragma warning disable 219
	void PopulateDir (Node me, string dir)
	{
		Console.WriteLine ("Adding: " + dir);
		foreach (string child_dir in Directory.GetDirectories (dir)){
			string url = Path.GetFileName (child_dir);
			Node n = me.LookupNode ("Dir: " + url, "simple-directory:" + url);
			PopulateDir (me, child_dir);
		}

		foreach (string file in Directory.GetFiles (dir)){
			Console.WriteLine ("   File: " + file);
			string file_code = me.tree.HelpSource.PackFile (file);

			//
			// The url element encoded for the file is:
			//  originalfilename#CODE
			//
			// The code is assigned to us after the file has been packaged
			// We use the original-filename later to render html or text files
			//
			Node n = me.LookupNode (Path.GetFileName (file), file + "#" + file_code);
			
		}
	}
Exemplo n.º 5
0
        void PopulateNode(XPathNodeIterator nodes, Node treeNode)
        {
            while (nodes.MoveNext())
            {
                XPathNavigator n         = nodes.Current;
                string         secNumber = n.GetAttribute("number", ""),
                               secName   = n.GetAttribute("name", "");

                treeNode.tree.HelpSource.Message(TraceLevel.Info, "\tSection: " + secNumber);
                treeNode.tree.HelpSource.PackFile(Path.Combine(basedir, secNumber + ".xml"), secNumber);
                Node thisNode = treeNode.LookupNode(secNumber + ": " + secName, "ecmaspec:" + secNumber);

                if (n.HasChildren)
                {
                    PopulateNode(n.SelectChildren("node", ""), thisNode);
                }
            }
        }
Exemplo n.º 6
0
	void PopulateClass (Tree tree, string ns, Node ns_node, string file)
	{
		XmlDocument doc = new XmlDocument ();
		doc.Load (file);
		
		string name = EcmaDoc.GetClassName (doc);
		string assembly = EcmaDoc.GetClassAssembly (doc);
		string kind = EcmaDoc.GetTypeKind (doc);
		string full = EcmaDoc.GetFullClassName (doc);

		Node class_node;
		string file_code = ns_node.tree.HelpSource.PackFile (file);

		XmlNode class_summary = detached.ImportNode (doc.SelectSingleNode ("/Type/Docs/summary"), true);
		ArrayList l = (ArrayList) class_summaries [ns];
		if (l == null){
			l = new ArrayList ();
			class_summaries [ns] = (object) l;
		}
		l.Add (new TypeInfo (kind, assembly, full, name, class_summary));
	       
		class_node = ns_node.LookupNode (String.Format ("{0} {1}", name, kind), "ecma:" + file_code + "#" + name + "/");
		
		if (kind == "Delegate") {
			if (doc.SelectSingleNode("/Type/ReturnValue") == null)
				tree.HelpSource.Message (TraceLevel.Error, "Delegate " + name + " does not have a ReturnValue node.  See the ECMA-style updates.");
		}

		if (kind == "Enumeration")
			return;

		if (kind == "Delegate")
			return;
		
		//
		// Always add the Members node
		//
		class_node.CreateNode ("Members", "*");

		PopulateMember (doc, name, class_node, "Constructor", "Constructors");
		PopulateMember (doc, name, class_node, "Method", "Methods");
		PopulateMember (doc, name, class_node, "Property", "Properties");
		PopulateMember (doc, name, class_node, "Field", "Fields");
		PopulateMember (doc, name, class_node, "Event", "Events");
		PopulateMember (doc, name, class_node, "Operator", "Operators");
	}
Exemplo n.º 7
0
	void Populate (Node parent, XmlNodeList xml_node_list)
	{
		foreach (XmlNode xml_node in xml_node_list){
			XmlAttribute e = xml_node.Attributes ["parent"];
			if (e != null && name_to_node.ContainsKey (e.InnerText)) {
				Node p = (Node) name_to_node [e.InnerText];
				xml_node.Attributes.Remove (e);
				Populate (p, xml_node.SelectNodes ("."));
				continue;
			}
			e = xml_node.Attributes ["label"];
			if (e == null){
				Console.Error.WriteLine ("`label' attribute missing in <node>");
				continue;
			}
			string label = e.InnerText;
			e = xml_node.Attributes ["name"];
			if (e == null){
				Console.Error.WriteLine ("`name' attribute missing in <node>");
				continue;
			}
			string name = e.InnerText;

			Node n = parent.LookupNode (label, "root:/" + name);
			n.EnsureNodes ();
			name_to_node [name] = n;
			XmlNodeList children = xml_node.SelectNodes ("./node");
			if (children != null)
				Populate (n, children);
		}
	}