* Monodoc/provider.cs: Overview: MonoDevelop loads monodoc.dll into
authorJonathan Pryor <jpryor@novell.com>
Thu, 16 Apr 2009 18:42:32 +0000 (18:42 -0000)
committerJonathan Pryor <jpryor@novell.com>
Thu, 16 Apr 2009 18:42:32 +0000 (18:42 -0000)
commitfc372b9e8df67ee1fae0841ce2401c9960d8255f
tree05a6229ab9d01f757358e8869714b73c18cc00b2
parent571d214c11c0454b8d9dab40575f6213eec0fbb1
* Monodoc/provider.cs: Overview: MonoDevelop loads monodoc.dll into
  it's own process, and spawns monodoc GUI into a separate process,
  then sends Node.URL values (obtained from the MonoDevelop process)
  to load the documentation into the monodoc GUI.  Problem:
  occasionally the requested documentation isn't loaded, but instead
  some completely unrelated documentation is shown instead.  This is
  because the Node.URL value contains HelpSource-dependent data, e.g.
  a Node.URL value of "ecma:0#Foo/" will specify the 1st file
  within...whatever HelpSource is first consulted by monodoc (which
  can vary between monodoc runs, the phase of the moon, etc.).
  Solution: Add a Node.PublicUrl property which returns _stable_ URLs
  which aren't specific to a given HelpSource.
  - Add Node.PublicUrl property, which delegates to
    Provider.GetPublicUrl(string), so that a Provider can generate a
    Provider-independent URL (if possible).
  - Print PublicUrl from Node.PrintTree().
  - Add RootTree.GetSupportedFormats(), RootTree.GetProvider()
    methods.
  - Make RootTree.GetHelpSource() public.
* Monodoc/ecma-provider.cs: Add EcmaDoc.GetCref() method (generates an
  XML documentation //see/@cref value), override
  Provider.GetPublicUrl() (which will return cref's if possible).

svn path=/trunk/mcs/; revision=131923
mcs/tools/monodoc/ChangeLog
mcs/tools/monodoc/Monodoc/ecma-provider.cs
mcs/tools/monodoc/Monodoc/provider.cs