Legacy ROOT documentation system.
The THtml class is designed to easily document classes, code, and code related text files (like change logs). It generates HTML pages conforming to the XHTML 1.0 transitional specifications; an example of these pages is ROOT's own reference guide. This page was verified to be valid XHTML 1.0 transitional, which proves that all pages generated by THtml can be valid, as long as the user provided XHTML (documentation, header, etc) is valid. You can check the current THtml by clicking this icon:
Overview:
These are typical things people do with THtml:
root[] THtml html; // create a THtml object root[] html.LoadAllLibs(); // Load all rootmap'ed libraries root[] html.MakeAll(); // generate documentation for all changed classes
or to run on just a few classes:
root[] THtml html; // create a THtml object root[] html.MakeIndex(); // create auxiliary files (style sheet etc) and indices root[] html.MakeClass("TMyClass"); // create documentation for TMyClass only
To "beautify" (i.e. create links to documentation for class names etc) some text file or macro, use:
root[] html.Convert( "hsimple.C", "Histogram example" )
Most configuration options can be set as a call to THtml, or as a TEnv variable, which you can set in your .rootrc.
In your .rootrc, define Root.Html.SourceDir to point to directories containing .cxx and .h files (see: TEnv) of the classes you want to document, or call THtml::SetInputDir()
Example:
Root.Html.SourceDir: .:src:include Root.Html.Root: http://root.cern.ch/root/html
The output directory can be specified using the Root.Html.OutputDir configuration variable (default value: "htmldoc"). If that directory doesn't exist THtml will create it.
Example:
Root.Html.OutputDir: htmldoc
When trying to document a class, THtml searches for a source file in the directories set via SetInputDir(). If it cannot find it, it assumes that this class must have been documented before. Based on the library this class is defined in, it checks the configuration variable Root.Html.LibName
, and creates a link using its value. Alternatively, you can set these URLs via THtml::SetLibURL().
Example:
If a class MyClass is defined in class mylibs/libMyLib.so, and .rootrc contains
Root.Html.MyLib: ../mylib/
THtml will create a link to "../mylib/MyClass.html".
The library name association can be set up using the rootmap facility. For the library in the example above, which contains a dictionary generated from the linkdef MyLinkdef.h, the command to generate the rootmap file is
$ rlibmap -f -r rootmap -l mylib/libMyLib.so -d libCore.so -c MyLinkdef.h
Here, -r
specifies that the entries for libMyLib should be updated, -l
specifies the library we're dealing with, -d
its dependencies, and -c
its linkdef. The rootmap file must be within one of the LD_LIBRARY_PATH
(or PATH
for Windows) directories when ROOT is started, otherwise ROOT will not use it.
The class documentation has to appear in the header file containing the class, right in front of its declaration. It is introduced by a string defined by Root.Html.Description or SetClassDocTag(). See the section on documentation syntax for further details.
Example:
Root.Html.Description: //____________________
The class documentation will show which include statement is to be used and which library needs to be linked to access it. The include file name is determined via TClass::GetDeclFileName(); leading parts are removed if they match any of the ':' separated entries in THtml::GetIncludePath().
During the conversion, THtml will look for some strings ("tags") in the source file, which have to appear right in front of e.g. the author's name, copyright notice, etc. These tags can be defined with the following environment variables: Root.Html.Author, Root.Html.LastUpdate and Root.Html.Copyright, or with SetAuthorTag(), SetLastUpdateTag(), SetCopyrightTag().
If the LastUpdate tag is not found, the current date and time are used. This is useful when using THtml::MakeAll()'s default option force=kFALSE, in which case THtml generates documentation only for changed classes.
Authors can be a comma separated list of author entries. Each entry has one of the following two formats
Name (non-alpha)
.
THtml will generate an HTML link for Name
, taking the Root.Html.XWho configuration variable (defaults to "http://consult.cern.ch/xwho/people?") and adding all parts of the name with spaces replaces by '+'. Non-alphanumerical characters are printed out behind Name
.
Example:
// Author: Enrico Fermi
appears in the source file. THtml will generate the link http://consult.cern.ch/xwho/people?Enrico+Fermi
. This works well for people at CERN.
Name <link> Info
.
THtml will generate an HTML link for Name
as specified by link
and print Info
behind Name
.
Example:
// Author: Enrico Fermi <http://www.enricos-home.it>
or
// Author: Enrico Fermi <enric.nosp@m.o@fn.nosp@m.al.go.nosp@m.v>
in the source file. That's world compatible.
Example (with defaults given):
Root.Html.Author: // Author: Root.Html.LastUpdate: // @(#) Root.Html.Copyright: * Copyright Root.Html.XWho: http://consult.cern.ch/xwho/people?
THtml generates a default header and footer for all pages. You can specify your own versions with the configuration variables Root.Html.Header and Root.Html.Footer, or by calling SetHeader(), SetFooter(). Both variables default to "", using the standard Root versions. If it has a "+" appended, THtml will write both versions (user and root) to a file, for the header in the order 1st root, 2nd user, and for the footer 1st user, 2nd root (the root versions containing "<html>" and </html> tags, resp).
If you want to replace root's header you have to write a file containing all HTML elements necessary starting with the <doctype> tag and ending with (and including) the <body> tag. If you add your header it will be added directly after Root's <body> tag. Any occurrence of the string TITLE%
in the user's header file will be replaced by a sensible, automatically generated title. If the header is generated for a class, occurrences of CLASS%
will be replaced by the current class's name, SRCFILE%
and INCFILE%
by the name of the source and header file, resp. (as given by TClass::GetImplFileName(), TClass::GetDeclFileName()). If the header is not generated for a class, they will be replaced by "".
Root's footer starts with the tag <!–SIGNATURE–>. It includes the author(s), last update, copyright, the links to the Root home page, to the user home page, to the index file (ClassIndex.html), to the top of the page and this page is automatically generated
information. It ends with the tags </body></html>
. If you want to replace it, THtml will search for some tags in your footer: Occurrences of the strings AUTHOR%
, UPDATE%
, and COPYRIGHT%
are replaced by their corresponding values before writing the html file. The AUTHOR%
tag will be replaced by the exact string that follows Root.Html.Author, no link generation will occur.
Additional parameters can be set by Root.Html.Homepage (address of the user's home page), Root.Html.SearchEngine (search engine for the class documentation), Root.Html.Search (search URL, where u is replaced by the referer and s by the escaped search expression), and a ViewVC base URL Root.Html.ViewCVS. For the latter, the file name is appended or, if the URL contains f, f is replaced by the file name. All values default to "".
Examples:
Root.Html.Homepage: http://www.enricos-home.it Root.Html.SearchEngine: http://root.cern.ch/root/Search.phtml Root.Html.Search: http://www.google.com/search?q=%s+site%3A%u
XHTML 1.0 transitional recommends the specification of the charset in the content type meta tag, see e.g. http://www.w3.org/TR/2002/REC-xhtml1-20020801/ THtml generates it for the HTML output files. It defaults to ISO-8859-1, and can be changed using Root.Html.Charset.
Example:
Root.Html.Charset: EUC-JP
A class description block, which must be placed before the first member function, has a following form:
//////////////////////////////////////////////////////////////// // // // TMyClass // // // // This is the description block. // // // ////////////////////////////////////////////////////////////////
The environment variable Root.Html.Description (see: TEnv) contains the delimiter string (default value: //_________________
). It means that you can also write your class description block like this:
//_____________________________________________________________ // A description of the class starts with the line above, and // will take place here ! //
Note that everything until the first non-commented line is considered as a valid class description block.
All classes to be documented will have an entry in the ClassIndex.html, showing their name with a link to their documentation page and a miniature description. This description for e.g. the class MyClass has to be given in MyClass's header as a comment right after ClassDef(MyClass, n).
A member function description block starts immediately after '{' and looks like this:
void TWorld::HelloWorldFunc(string *text) { // This is an example of description for the // TWorld member function helloWorld.Print( text ); }
Like in a class description block, everything until the first non-commented line is considered as a valid member function description block.
If the rootrc variable Root.Html.DescriptionStyle
is set to Doc++
THtml will also look for method documentation in front of the function implementation. This feature is not recommended; source code making use of this does not comply to the ROOT documentation standards, which means future versions of THtml might not support it anymore.
Data members are documented by putting a C++ comment behind their declaration in the header file, e.g.
int fIAmADataMember; // this is a data member
NOTE that THtml does not yet support nested directives (i.e. latex inside html etc)!
BEGIN_HTML
END_HTML
: include 'raw' HTMLYou can insert pure html code into your documentation comments. During the generation of the documentation, this code will be inserted as is into the html file.
Pure html code must be surrounded by the keywords BEGIN_HTML
and END_HTML
, where the case is ignored. An example of pure html code is this class description you are reading right now. THtml uses a TDocHtmlDirective object to process this directive.
BEGIN_MACRO
END_MACRO
: include a picture generated by a macroTHtml can create images from scripts. You can either call an external script by surrounding it by "begin_macro"/"end_macro", or include an unnamed macro within these keywords. The macro should return a pointer to an object; this object will then be saved as a GIF file.
Objects deriving from TGObject (GUI elements) will need to run in graphics mode (non-batch). You must specify this as a parameter: "Begin_macro(GUI)...". To create a second tab that displays the source of the macro you can specify the argument "Begin_macro(source)...". Of course you can combine them, e.g. as "Begin_macro(source,gui)...". THtml uses a TDocMacroDirective object to process this directive.
This is an example:
END_HTML BEGIN_MACRO(source) { TCanvas* macro_example_canvas = new TCanvas("macro_example_canvas", "", 150, 150); macro_example_canvas->SetBorderSize(0); macro_example_canvas->SetFillStyle(1001); macro_example_canvas->SetFillColor(kWhite); macro_example_canvas->cd(); TArc* macro_example_arc = new TArc(0.5,0.32,0.11,180,360); macro_example_arc->Draw(); TEllipse* macro_example_ellipsis = new TEllipse(0.42,0.58,0.014,0.014,0,360,0); macro_example_ellipsis->SetFillStyle(0); macro_example_ellipsis->Draw(); macro_example_ellipsis = new TEllipse(0.58,0.58,0.014,0.014,0,360,0); macro_example_ellipsis->SetFillStyle(0); macro_example_ellipsis->Draw(); macro_example_ellipsis = new TEllipse(0.50,0.48,0.22,0.32,0,360,0); macro_example_ellipsis->SetFillStyle(0); macro_example_ellipsis->Draw(); TLine* macro_example_line = new TLine(0.48,0.53,0.52,0.41); macro_example_line->Draw(); return macro_example_canvas; } END_MACRO
BEGIN_HTML
BEGIN_LATEX
END_LATEX
: include a latex pictureYou can specify TLatex style text and let THtml convert it into an image by surrounding it by "Begin_Latex", "End_Latex". You can have multiple lines, and e.g. align each line at the '=' sign by passing the argument separator='='
. You can also specify how to align these parts; if you want the part left of the separator to be right aligned, and the right part to be left aligned, you could specify align='rl'
. THtml uses a TDocLatexDirective object to process the directive. This is an example output with arguments separator='=', align='rl'
:
END_HTML BEGIN_LATEX(separator='=', align='rl')#kappa(x)^{2}=sin(x)^{x} x=#chi^{2} END_LATEX
BEGIN_HTML
THtml::MakeIndex() will generate index files for classes and types, all modules, and the product which you can set by THtml::SetProductName(). THtml will make use of external documentation in the module and product index, either by linking it or by including it. The files for modules are searched based on the source file directory of the module's classes.
A filename starting with "index." will be included in the index page; all other files will be linked. Only files ending on .html
or .txt
will be taken into account; the text files will first be run through THtml::Convert(). You can see an example here; the part between "Index of HIST classes" and "Jump to" is created by parsing the module's doc directory.
The documentation pages share a common set of javascript and CSS files. They are generated automatically when running MakeAll(); they can be generated on demand by calling CreateAuxiliaryFiles().
THtml can generate a number of graphical representations for a class, which are displayed as a tabbed set of imaged on-top of the class description. It can show the inheritance, inherited and hidden members, directly and indirectly included files, and library dependencies.
These graphs are generated using the Graphviz package. You can install it from http://www.graphviz.org. You can either put it into your $PATH, or tell THtml where to find it by calling SetDotDir().
Here is a list of all configuration variables that are known to THtml. You can set them in your .rootrc file, see TEnv.
Root.Html.OutputDir (default: htmldoc) Root.Html.SourceDir (default: .:src/:include/) Root.Html.Author (default: // Author:) - start tag for authors Root.Html.LastUpdate (default: // @(#)) - start tag for last update Root.Html.Copyright (default: * Copyright) - start tag for copyright notice Root.Html.Description (default: //____________________ ) - start tag for class descr Root.Html.HomePage (default: ) - URL to the user defined home page Root.Html.Header (default: ) - location of user defined header Root.Html.Footer (default: ) - location of user defined footer Root.Html.Root (default: ) - URL of Root's class documentation Root.Html.SearchEngine (default: ) - link to the search engine Root.Html.Search (default: ) - link to search by replacing "%s" with user input Root.Html.ViewCVS (default: ) - URL of ViewCVS base Root.Html.XWho (default: http://consult.cern.ch/xwho/people?) - URL of CERN's xWho Root.Html.Charset (default: ISO-8859-1) - HTML character set
Internally, THtml is just an API class that sets up the list of known classes, and forwards API invocations to the "work horses". TDocOutput generates the output by letting a TDocParser object parse the sources, which in turn invokes objects deriving from TDocDirective to process directives.
Classes | |
struct | DocEntityInfo_t |
struct | DocSyntax_t |
struct | LinkInfo_t |
struct | OutputStyle_t |
struct | PathInfo_t |
class | TFileDefinition |
class | TFileSysDB |
class | TFileSysDir |
class | TFileSysEntry |
class | TFileSysRoot |
class | THelperBase |
class | TModuleDefinition |
class | TPathDefinition |
Public Types | |
enum | EConvertOutput { kNoOutput , kInterpretedOutput , kCompiledOutput , kForceOutput = 0x10 , kSeparateProcessOutput = 0x20 } |
Public Types inherited from TObject | |
enum | { kIsOnHeap = 0x01000000 , kNotDeleted = 0x02000000 , kZombie = 0x04000000 , kInconsistent = 0x08000000 , kBitMask = 0x00ffffff } |
enum | { kSingleKey = BIT(0) , kOverwrite = BIT(1) , kWriteDelete = BIT(2) } |
enum | EDeprecatedStatusBits { kObjInCanvas = BIT(3) } |
enum | EStatusBits { kCanDelete = BIT(0) , kMustCleanup = BIT(3) , kIsReferenced = BIT(4) , kHasUUID = BIT(5) , kCannotPick = BIT(6) , kNoContextMenu = BIT(8) , kInvalidObject = BIT(13) } |
Public Member Functions | |
THtml () | |
Create a THtml object. | |
virtual | ~THtml () |
Default destructor. | |
void | AddMacroPath (const char *path) |
Add path to the directories to be searched for macro files that are to be executed via the TDocMacroDirective ("Begin_Macro"/"End_Macro"); relative to the source file that the directive is run on. | |
void | Convert (const char *filename, const char *title, const char *dirname="", const char *relpath="../", Int_t includeOutput=kNoOutput, const char *context="") |
It converts a single text file to HTML. | |
Bool_t | CopyFileFromEtcDir (const char *filename) const |
Copy a file from $ROOTSYS/etc/html into GetOutputDir() | |
virtual void | CreateAuxiliaryFiles () const |
copy CSS, javascript file, etc to the output dir | |
void | CreateHierarchy () |
Create the inheritance hierarchy diagram for all classes. | |
const TString & | GetAuthorTag () const |
const TString & | GetCharset () const |
virtual TClass * | GetClass (const char *name) const |
Return pointer to class with name. | |
const TString & | GetClassDocTag () const |
const TString & | GetCopyrightTag () const |
const char * | GetCounter () const |
const char * | GetCounterFormat () const |
virtual bool | GetDeclFileName (TClass *cl, Bool_t filesys, TString &out_name) const |
Return declaration file name; return the full path if filesys is true. | |
void | GetDerivedClasses (TClass *cl, std::map< TClass *, Int_t > &derived) const |
fill derived with all classes inheriting from cl and their inheritance distance to cl | |
const TString & | GetDocStyle () const |
const TString & | GetDotDir () const |
virtual const char * | GetEtcDir () const |
Get the directory containing THtml's auxiliary files ($ROOTSYS/etc/html) | |
const TFileDefinition & | GetFileDefinition () const |
Return the TFileDefinition (or derived) object as set by SetFileDefinition(); create and return a TFileDefinition object if none was set. | |
const TString & | GetFooter () const |
const TString & | GetHeader () const |
const TString & | GetHomepage () const |
virtual const char * | GetHtmlFileName (const char *classname) const |
Get the html file name for a class named classname. | |
virtual void | GetHtmlFileName (TClass *classPtr, TString &filename) const |
Return real HTML filename. | |
virtual bool | GetImplFileName (TClass *cl, Bool_t filesys, TString &out_name) const |
Return implementation file name. | |
const TString & | GetInputPath () const |
const TString & | GetLastUpdateTag () const |
TList * | GetLibraryDependencies () |
const TList * | GetListOfClasses () const |
const TList * | GetListOfModules () const |
TFileSysDB * | GetLocalFiles () const |
const TString & | GetMacroPath () const |
TVirtualMutex * | GetMakeClassMutex () const |
const TModuleDefinition & | GetModuleDefinition () const |
Return the TModuleDefinition (or derived) object as set by SetModuleDefinition(); create and return a TModuleDefinition object if none was set. | |
const TString & | GetModuleDocPath () const |
void | GetModuleMacroPath (const TString &module, TString &out_path) const |
virtual void | GetModuleNameForClass (TString &module, TClass *cl) const |
Return the module name for a given class. | |
const TString & | GetOutputDir (Bool_t createDir=kTRUE) const |
Return the output directory as set by SetOutputDir(). | |
const TPathDefinition & | GetPathDefinition () const |
Return the TModuleDefinition (or derived) object as set by SetModuleDefinition(); create and return a TModuleDefinition object if none was set. | |
const PathInfo_t & | GetPathInfo () const |
const TString & | GetProductName () const |
const TString & | GetSearchEngine () const |
const TString & | GetSearchStemURL () const |
const char * | GetURL (const char *lib=0) const |
Get the documentation URL for library lib. | |
const TString & | GetViewCVS () const |
const TString & | GetWikiURL () const |
const TString & | GetXwho () const |
Bool_t | HaveDot () |
Check whether dot is available in $PATH or in the directory set by SetDotPath() | |
void | HelperDeleted (THelperBase *who) |
Inform the THtml object that one of its helper objects was deleted. | |
Bool_t | IsBatch () const |
void | MakeAll (Bool_t force=kFALSE, const char *filter="*", int numthreads=1) |
Produce documentation for all the classes specified in the filter (by default "*") To process all classes having a name starting with XX, do: html.MakeAll(kFALSE,"XX*"); If force=kFALSE (default), only the classes that have been modified since the previous call to this function will be generated. | |
void | MakeClass (const char *className, Bool_t force=kFALSE) |
Make HTML files for a single class. | |
void | MakeIndex (const char *filter="*") |
Create the index files for the product, modules, all types, etc. | |
void | MakeTree (const char *className, Bool_t force=kFALSE) |
Make an inheritance tree. | |
void | ReplaceSpecialChars (std::ostream &, const char *) |
void | SetAuthorTag (const char *tag) |
void | SetBatch (Bool_t batch=kTRUE) |
void | SetCharset (const char *charset) |
void | SetClassDocTag (const char *tag) |
void | SetCopyrightTag (const char *tag) |
void | SetCounterFormat (const char *format) |
void | SetDeclFileName (TClass *cl, const char *filename) |
Explicitly set a decl file name for TClass cl. | |
void | SetDocPath (const char *path) |
void | SetDocStyle (const char *style) |
void | SetDotDir (const char *dir) |
void | SetEscape (char='\\') |
void | SetEtcDir (const char *dir) |
void | SetFileDefinition (const TFileDefinition &fd) |
Set the file defining object to be used; can also be a user derived object (a la traits). | |
void | SetFooter (const char *file) |
void | SetFoundDot (Bool_t found=kTRUE) |
Set whether "dot" (a GraphViz utility) is available. | |
void | SetHeader (const char *file) |
void | SetHomepage (const char *url) |
void | SetImplFileName (TClass *cl, const char *filename) |
Explicitly set a impl file name for TClass cl. | |
void | SetIncludePath (const char *dir) |
void | SetInputDir (const char *dir) |
Set the directory containing the source files. | |
void | SetLastUpdateTag (const char *tag) |
void | SetLibURL (const char *lib, const char *url) |
void | SetMacroPath (const char *path) |
void | SetModuleDefinition (const TModuleDefinition &md) |
Set the module defining object to be used; can also be a user derived object (a la traits). | |
void | SetOutputDir (const char *dir) |
Set the directory where the HTML pages should be written to. | |
void | SetPathDefinition (const TPathDefinition &pd) |
Set the path defining object to be used; can also be a user derived object (a la traits). | |
void | SetProductName (const char *product) |
void | SetRootURL (const char *url) |
void | SetSearchEngine (const char *url) |
void | SetSearchStemURL (const char *url) |
void | SetSourceDir (const char *dir) |
void | SetViewCVS (const char *url) |
void | SetWikiURL (const char *url) |
void | SetXwho (const char *xwho) |
const char * | ShortType (const char *name) const |
Get short type name, i.e. with default templates removed. | |
void | SortListOfModules () |
Public Member Functions inherited from TObject | |
TObject () | |
TObject constructor. | |
TObject (const TObject &object) | |
TObject copy ctor. | |
virtual | ~TObject () |
TObject destructor. | |
void | AbstractMethod (const char *method) const |
Use this method to implement an "abstract" method that you don't want to leave purely abstract. | |
virtual void | AppendPad (Option_t *option="") |
Append graphics object to current pad. | |
virtual void | Browse (TBrowser *b) |
Browse object. May be overridden for another default action. | |
ULong_t | CheckedHash () |
Check and record whether this class has a consistent Hash/RecursiveRemove setup (*) and then return the regular Hash value for this object. | |
virtual const char * | ClassName () const |
Returns name of class to which the object belongs. | |
virtual void | Clear (Option_t *="") |
virtual TObject * | Clone (const char *newname="") const |
Make a clone of an object using the Streamer facility. | |
virtual Int_t | Compare (const TObject *obj) const |
Compare abstract method. | |
virtual void | Copy (TObject &object) const |
Copy this to obj. | |
virtual void | Delete (Option_t *option="") |
Delete this object. | |
virtual Int_t | DistancetoPrimitive (Int_t px, Int_t py) |
Computes distance from point (px,py) to the object. | |
virtual void | Draw (Option_t *option="") |
Default Draw method for all objects. | |
virtual void | DrawClass () const |
Draw class inheritance tree of the class to which this object belongs. | |
virtual TObject * | DrawClone (Option_t *option="") const |
Draw a clone of this object in the current selected pad for instance with: gROOT->SetSelectedPad(gPad) . | |
virtual void | Dump () const |
Dump contents of object on stdout. | |
virtual void | Error (const char *method, const char *msgfmt,...) const |
Issue error message. | |
virtual void | Execute (const char *method, const char *params, Int_t *error=0) |
Execute method on this object with the given parameter string, e.g. | |
virtual void | Execute (TMethod *method, TObjArray *params, Int_t *error=0) |
Execute method on this object with parameters stored in the TObjArray. | |
virtual void | ExecuteEvent (Int_t event, Int_t px, Int_t py) |
Execute action corresponding to an event at (px,py). | |
virtual void | Fatal (const char *method, const char *msgfmt,...) const |
Issue fatal error message. | |
virtual TObject * | FindObject (const char *name) const |
Must be redefined in derived classes. | |
virtual TObject * | FindObject (const TObject *obj) const |
Must be redefined in derived classes. | |
virtual Option_t * | GetDrawOption () const |
Get option used by the graphics system to draw this object. | |
virtual const char * | GetIconName () const |
Returns mime type name of object. | |
virtual const char * | GetName () const |
Returns name of object. | |
virtual char * | GetObjectInfo (Int_t px, Int_t py) const |
Returns string containing info about the object at position (px,py). | |
virtual Option_t * | GetOption () const |
virtual const char * | GetTitle () const |
Returns title of object. | |
virtual UInt_t | GetUniqueID () const |
Return the unique object id. | |
virtual Bool_t | HandleTimer (TTimer *timer) |
Execute action in response of a timer timing out. | |
virtual ULong_t | Hash () const |
Return hash value for this object. | |
Bool_t | HasInconsistentHash () const |
Return true is the type of this object is known to have an inconsistent setup for Hash and RecursiveRemove (i.e. | |
virtual void | Info (const char *method, const char *msgfmt,...) const |
Issue info message. | |
virtual Bool_t | InheritsFrom (const char *classname) const |
Returns kTRUE if object inherits from class "classname". | |
virtual Bool_t | InheritsFrom (const TClass *cl) const |
Returns kTRUE if object inherits from TClass cl. | |
virtual void | Inspect () const |
Dump contents of this object in a graphics canvas. | |
void | InvertBit (UInt_t f) |
virtual Bool_t | IsEqual (const TObject *obj) const |
Default equal comparison (objects are equal if they have the same address in memory). | |
virtual Bool_t | IsFolder () const |
Returns kTRUE in case object contains browsable objects (like containers or lists of other objects). | |
R__ALWAYS_INLINE Bool_t | IsOnHeap () const |
virtual Bool_t | IsSortable () const |
R__ALWAYS_INLINE Bool_t | IsZombie () const |
virtual void | ls (Option_t *option="") const |
The ls function lists the contents of a class on stdout. | |
void | MayNotUse (const char *method) const |
Use this method to signal that a method (defined in a base class) may not be called in a derived class (in principle against good design since a child class should not provide less functionality than its parent, however, sometimes it is necessary). | |
virtual Bool_t | Notify () |
This method must be overridden to handle object notification. | |
void | Obsolete (const char *method, const char *asOfVers, const char *removedFromVers) const |
Use this method to declare a method obsolete. | |
void | operator delete (void *ptr) |
Operator delete. | |
void | operator delete[] (void *ptr) |
Operator delete []. | |
void * | operator new (size_t sz) |
void * | operator new (size_t sz, void *vp) |
void * | operator new[] (size_t sz) |
void * | operator new[] (size_t sz, void *vp) |
TObject & | operator= (const TObject &rhs) |
TObject assignment operator. | |
virtual void | Paint (Option_t *option="") |
This method must be overridden if a class wants to paint itself. | |
virtual void | Pop () |
Pop on object drawn in a pad to the top of the display list. | |
virtual void | Print (Option_t *option="") const |
This method must be overridden when a class wants to print itself. | |
virtual Int_t | Read (const char *name) |
Read contents of object with specified name from the current directory. | |
virtual void | RecursiveRemove (TObject *obj) |
Recursively remove this object from a list. | |
void | ResetBit (UInt_t f) |
virtual void | SaveAs (const char *filename="", Option_t *option="") const |
Save this object in the file specified by filename. | |
virtual void | SavePrimitive (std::ostream &out, Option_t *option="") |
Save a primitive as a C++ statement(s) on output stream "out". | |
void | SetBit (UInt_t f) |
void | SetBit (UInt_t f, Bool_t set) |
Set or unset the user status bits as specified in f. | |
virtual void | SetDrawOption (Option_t *option="") |
Set drawing option for object. | |
virtual void | SetUniqueID (UInt_t uid) |
Set the unique object id. | |
virtual void | SysError (const char *method, const char *msgfmt,...) const |
Issue system error message. | |
R__ALWAYS_INLINE Bool_t | TestBit (UInt_t f) const |
Int_t | TestBits (UInt_t f) const |
virtual void | UseCurrentStyle () |
Set current style settings in this object This function is called when either TCanvas::UseCurrentStyle or TROOT::ForceStyle have been invoked. | |
virtual void | Warning (const char *method, const char *msgfmt,...) const |
Issue warning message. | |
virtual Int_t | Write (const char *name=0, Int_t option=0, Int_t bufsize=0) |
Write this object to the current directory. | |
virtual Int_t | Write (const char *name=0, Int_t option=0, Int_t bufsize=0) const |
Write this object to the current directory. | |
Static Public Member Functions | |
static const char * | GetDirDelimiter () |
static Bool_t | IsNamespace (const TClass *cl) |
Check whether cl is a namespace. | |
static void | LoadAllLibs () |
Load all libraries known to ROOT via the rootmap system. | |
Static Public Member Functions inherited from TObject | |
static Long_t | GetDtorOnly () |
Return destructor only flag. | |
static Bool_t | GetObjectStat () |
Get status of object stat flag. | |
static void | SetDtorOnly (void *obj) |
Set destructor only flag. | |
static void | SetObjectStat (Bool_t stat) |
Turn on/off tracking of objects in the TObjectTable. | |
Protected Member Functions | |
virtual void | CreateJavascript () const |
Write the default ROOT style sheet. | |
void | CreateListOfClasses (const char *filter) |
Create the list of all known classes. | |
void | CreateListOfTypes () |
Create index of all data types and a page for each typedef-to-class. | |
virtual void | CreateStyleSheet () const |
Write the default ROOT style sheet. | |
virtual bool | GetDeclImplFileName (TClass *cl, bool filesys, bool decl, TString &out_name) const |
Combined implementation for GetDeclFileName(), GetImplFileName(): Return declaration / implementation file name (depending on decl); return the full path if filesys is true. | |
TClassDocInfo * | GetNextClass () |
Return the next class to be generated for MakeClassThreaded. | |
void | MakeClass (void *cdi, Bool_t force=kFALSE) |
Make HTML files for a single class. | |
void | SetLocalFiles () const |
Fill the files available in the file system below fPathInfo.fInputPath. | |
Protected Member Functions inherited from TObject | |
virtual void | DoError (int level, const char *location, const char *fmt, va_list va) const |
Interface to ErrorHandler (protected). | |
void | MakeZombie () |
Static Protected Member Functions | |
static void * | MakeClassThreaded (void *info) |
Entry point of worker threads for multi-threaded MakeAll(). | |
Additional Inherited Members | |
Protected Types inherited from TObject | |
enum | { kOnlyPrepStep = BIT(3) } |
#include <THtml.h>
THtml::THtml | ( | ) |
void THtml::AddMacroPath | ( | const char * | path | ) |
Add path to the directories to be searched for macro files that are to be executed via the TDocMacroDirective ("Begin_Macro"/"End_Macro"); relative to the source file that the directive is run on.
void THtml::Convert | ( | const char * | filename, |
const char * | title, | ||
const char * | dirname = "" , |
||
const char * | relpath = "../" , |
||
Int_t | includeOutput = kNoOutput , |
||
const char * | context = "" |
||
) |
It converts a single text file to HTML.
Input: filename - name of the file to convert title - title which will be placed at the top of the HTML file dirname - optional parameter, if it's not specified, output will be placed in htmldoc/examples directory. relpath - optional parameter pointing to the THtml generated doc on the server, relative to the current page. includeOutput - if != kNoOutput, run the script passed as filename and store all created canvases in PNG files that are shown next to the converted source. Bitwise-ORing with kForceOutput re-runs the script even if output PNGs exist that are newer than the script. If kCompiledOutput is passed, the script is run through ACLiC (.x filename+) context - line shown verbatim at the top of the page; e.g. for links. If context is non-empty it is expected to also print the title.
NOTE: Output file name is the same as filename, but with extension .html
Bool_t THtml::CopyFileFromEtcDir | ( | const char * | filename | ) | const |
Copy a file from $ROOTSYS/etc/html into GetOutputDir()
|
virtual |
void THtml::CreateHierarchy | ( | ) |
|
protectedvirtual |
|
protected |
|
protected |
|
protectedvirtual |
|
virtual |
|
protectedvirtual |
Combined implementation for GetDeclFileName(), GetImplFileName(): Return declaration / implementation file name (depending on decl); return the full path if filesys is true.
|
virtual |
const THtml::TFileDefinition & THtml::GetFileDefinition | ( | ) | const |
Return the TFileDefinition (or derived) object as set by SetFileDefinition(); create and return a TFileDefinition object if none was set.
|
virtual |
|
inline |
|
inline |
const THtml::TModuleDefinition & THtml::GetModuleDefinition | ( | ) | const |
Return the TModuleDefinition (or derived) object as set by SetModuleDefinition(); create and return a TModuleDefinition object if none was set.
|
protected |
Return the output directory as set by SetOutputDir().
Create it if it doesn't exist and if createDir is kTRUE.
const THtml::TPathDefinition & THtml::GetPathDefinition | ( | ) | const |
Return the TModuleDefinition (or derived) object as set by SetModuleDefinition(); create and return a TModuleDefinition object if none was set.
|
inline |
const char * THtml::GetURL | ( | const char * | lib = 0 | ) | const |
Bool_t THtml::HaveDot | ( | ) |
void THtml::HelperDeleted | ( | THtml::THelperBase * | who | ) |
|
static |
Produce documentation for all the classes specified in the filter (by default "*") To process all classes having a name starting with XX, do: html.MakeAll(kFALSE,"XX*"); If force=kFALSE (default), only the classes that have been modified since the previous call to this function will be generated.
If force=kTRUE, all classes passing the filter will be processed. If numthreads is != -1, use numthreads threads, else decide automatically based on the number of CPUs.
Entry point of worker threads for multi-threaded MakeAll().
info points to an (internal) THtmlThreadInfo object containing the current THtml object, and whether "force" was passed to MakeAll(). The thread will poll GetNextClass() until no further class is available.
void THtml::MakeIndex | ( | const char * | filter = "*" | ) |
|
inline |
void THtml::SetFileDefinition | ( | const TFileDefinition & | fd | ) |
void THtml::SetInputDir | ( | const char * | dir | ) |
Set the directory containing the source files.
The source file for a class MyClass will be searched by prepending dir to the value of MyClass::Class()->GetImplFileName() - which can contain directory information! Also resets the class structure, in case new files can be found after this call.
|
inline |
|
protected |
void THtml::SetModuleDefinition | ( | const TModuleDefinition & | md | ) |
void THtml::SetOutputDir | ( | const char * | dir | ) |
void THtml::SetPathDefinition | ( | const TPathDefinition & | pd | ) |
const char * THtml::ShortType | ( | const char * | name | ) | const |
|
protected |
|
protected |
|
mutableprotected |
|
protected |
|
mutableprotected |
|
protected |
|
mutableprotected |
|
protected |
|
mutableprotected |
|
mutableprotected |