[Mono-docs-list] Monodoc aspx .1

Miguel de Icaza miguel@ximian.com
14 Jul 2003 18:54:39 -0400


> > -                       string res = n.tree.HelpSource.GetText (url, out x);
> > -                       ((Browser)browser).Render (res, n, url);
> > +                       // The root tree has no help source
> > +                       if (n.tree.HelpSource != null)
> > +                               res = n.tree.HelpSource.GetText (url, out x);
> > +                       else
> > +                               res = ((RootTree)n.tree).RenderUrl (url, out x);
> > +                                       
> > +                       browser.Render (res, n, url);
> > 
> >     Can you explain me when do we trigger this particular case?  This
> > pattern `n.tree.HelpSource != null' is used in a few more places, and
> > I
> > am wondering why we would have a null HelpSource.
> This is the RootTree. That class has no help source. Maybe I should
> replace this with if (n.tree is RootTree).

Ok, but why would the RootTree trigger a render *there*?

> Yeah, this was just a patch to allow those root:/ url's to load in the
> browser. They are *not* necessary for the web client.

I rather not have those then.

> >     I like its principle, but it should probably have a different
> > name,
> > as "root:" gives the wrong idea.
> I have no problem with a new name.

ok.  entry-point: or provider: or 

> >     I fail to understand the rationale for most of the changes here,
> > could you post a ChangeLog entry, or details?
> All the other providers generate content like this:
> <h1>this is content</h1>
> whereas monohb does this:
> <html><head><title></title></head>
> <body>
> <h1>this is content</h1>
> </body></html>
> Thus, when we put it inside <html><body> like we do in browser.exe and
> web monodoc, it is invalid.

Ok, can you add that to the comments, so it is clear from the source?

> >     Seems like you got some old code in there;  There is a name_to_hs
> > hack there that is never used, so those parts should probably be
> > removed.
> name_to_hs is used:

Ok, I see it is used.

> The hack is meant to allow use to map the name of a provider (eg,
> classlib) to the HelpSource for that provider. This way, we can allow
> each provider to be responsible for its own root. If you can think of a
> better way...I would love it.

I do not understand why we need it though, so I would like to understand
that part.

> >   The changes to populate are also very bizarre, can you explain
> > what they are for?  (They reference root:)
> Before, each node below Mono Documentation had a url such as "classlib".
> now they have "root:/classlib". 

Ok, and what is that used for?

> The problem is that this turned out to be the easiest way to do it. I
> would like to do this some other way, but doing it would require more
> changes. 

Ok, I can live with this for now.