60 const char*
entry = 0;
133 if (
value[0] ==
'\'')
135 else if (
value[0] ==
'"')
171 if (
line.Start() == -1)
return;
222 result =
"</pre><!-- TDocHtmlDirective start -->";
223 result +=
fText +
"<!-- TDocHtmlDirective end --><pre>";
268 ::Error(
"TDocMacroDirective::HandleDirective_Macro",
269 "Error processing macro for %s!", out.Data());
279 typeid(*objRet).name();
291 ::Info(
"TDocMacroDirective::HandleDirective_Macro",
292 "Saving returned %s to file %s.",
293 objRet->IsA()->GetName(), out.Data());
295 if (!
gROOT->IsBatch()) {
303 if (!
gROOT->IsBatch()) {
311#ifdef R__BEPAEPSTLICHERALSDERPAPST
380 if (
osDir->String().EndsWith(
"\\"))
381 osDir->String().Remove(
osDir->String().Length() - 1);
403 Error(
"GetResult",
"Cannot find macro '%s' in path '%s'!",
437 Warning(
"GetResult",
"Empty directive found!");
444 Info(
"HandleDirective_Macro",
"executing macro \"%s\" with %d lines.",
453 Warning(
"GetResult()",
"Will not initialize the graphics system; skipping macro %s!",
GetName());
477 invoc +=
"-e 'TDocMacroDirective::SubProcess(\""
483 Info(
"GetResult()",
"Subprocess exited with status %d\n",
exitCode);
491 result =
"<span class=\"macro\"><img class=\"macro\" alt=\"output of ";
494 result +=
"\" title=\"MACRO\" src=\"";
503 std::stringstream
ssRaw;
524 id =
id(0,
id.Length()-4);
527 "<a id=\"" +
id +
"_A0\" class=\"tabsel\" href=\"" +
gSystem->
BaseName(
outFileName) +
"\" onclick=\"javascript:return SetDiv('" +
id +
"',0);\">Picture</a>\n"
528 "<a id=\"" +
id +
"_A1\" class=\"tab\" href=\"#\" onclick=\"javascript:return SetDiv('" +
id +
"',1);\">Source</a>\n"
529 "<br /></div><div class=\"tabcontent\">\n"
530 "<div id=\"" +
id +
"_0\" class=\"tabvisible\">" +
result +
"</div>\n"
531 "<div id=\"" +
id +
"_1\" class=\"tabhidden\"><div class=\"listing\"><pre class=\"code\">");
537 if (
tags.EndsWith(
"\n"))
539 tags +=
"</pre></div></div><div class=\"clear\"></div></div><pre>";
543 result.ReplaceAll(
"<span class=\"comment\">",
"<span class=\"codecomment\">");
559 else Warning(
"AddParameter",
"Unknown option %s!",
name.Data());
570 std::vector<Float_t> fWidths;
576 fHeight(0.), fColumns(
columns) {
if (
columns) fWidths.resize(Size());}
579 Float_t& Height() {
return fHeight;}
586 void Delete() {
delete fColumns; }
624 if (
line.Length() == 0)
635 if (
sLine.Length() == 0)
664 Form(
"new TCanvas(\"R__TDocLatexDirective_BBCanvas\",\"fBBCanvas\",%g,%g);", -(
canvSize + 4.),
canvSize + 28.));
666 Error(
"CreateLatex",
"Cannot create a TCanvas via the interpreter!");
680 latex.SetTextFont(43);
682 latex.SetTextAlign(12);
705 split = regexp.
MatchS(str);
708 for (
Ssiz_t pos = 0; pos < str.Length(); ++pos) {
755 Form(
"new TCanvas(\"R__TDocLatexDirective_padImg\",\"padImg\",-(Int_t)%g,(Int_t)%g);",
778 Error(
"CreateLatex",
"Invalid alignment character '%c'!", align);
850 altText.ReplaceAll(
"\"",
""");
851 result =
"<span class=\"latex\"><img class=\"latex\" alt=\"";
853 result +=
"\" title=\"LATEX\" src=\"";
860 Info(
"HandleDirective_Latex",
"Writing Latex \"%s\" to file %s.",
875 Error(
"AddParameter",
"Option \"fontsize\" needs a value!");
879 Error(
"AddParameter",
"Option \"separator\" needs a value!");
883 Error(
"AddParameter",
"Option \"align\" needs a value!");
886 Warning(
"AddParameter",
"Unknown option %s!",
name.Data());
ROOT::Detail::TRangeCast< T, true > TRangeDynCast
TRangeDynCast is an adapter class that allows the typed iteration through a TCollection.
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void char Point_t Rectangle_t WindowAttributes_t Float_t Float_t Float_t Int_t Int_t UInt_t UInt_t Rectangle_t Int_t Int_t Window_t TString Int_t GCValues_t GetPrimarySelectionOwner GetDisplay GetScreen GetColormap GetNativeEvent const char const char dpyName wid window const char font_name cursor keysym reg const char only_if_exist regb h Point_t winding char text const char depth char const char Int_t count const char ColorStruct_t color const char filename
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void char Point_t Rectangle_t WindowAttributes_t Float_t Float_t Float_t Int_t Int_t UInt_t UInt_t Rectangle_t result
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize id
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void value
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void char Point_t Rectangle_t WindowAttributes_t Float_t Float_t Float_t Int_t Int_t UInt_t UInt_t Rectangle_t Int_t Int_t Window_t TString Int_t GCValues_t GetPrimarySelectionOwner GetDisplay GetScreen GetColormap GetNativeEvent const char const char dpyName wid window const char font_name cursor keysym reg const char only_if_exist regb h Point_t winding char text const char depth char const char Int_t count const char ColorStruct_t color const char Pixmap_t Pixmap_t PictureAttributes_t attr const char char ret_data h unsigned char height h Atom_t Int_t ULong_t ULong_t unsigned char prop_list Atom_t Atom_t Atom_t Time_t UChar_t len
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void char Point_t Rectangle_t height
Option_t Option_t TPoint TPoint const char text
char * Form(const char *fmt,...)
Formats a string in a circular formatting buffer.
R__EXTERN TSystem * gSystem
#define R__LOCKGUARD(mutex)
const_iterator begin() const
const_iterator end() const
virtual void SetFillColor(Color_t fcolor)
Set the fill area color.
virtual Int_t GetEntries() const
virtual void SetOwner(Bool_t enable=kTRUE)
Set whether this collection is the owner (enable==true) of its content.
virtual void AddParameter(const TString &, const char *=0)
TDocParser * GetDocParser() const
virtual void DeleteOutputFiles(const char *ext) const
Delete all output generated by the directive beginning with Name() and ending with ext.
void SetParameters(const char *params)
Given a string containing parameters in params, we call AddParameter() for each of them.
TDocOutput * GetDocOutput() const
void SetParser(TDocParser *parser)
Set the parser, and fDocOutput, fHtml from that.
const char * GetName() const override
Returns name of object.
const char * GetOutputDir() const
Get the directory for documentation output.
Bool_t GetResult(TString &result) override
Set result to the HTML code that was passed in via AddLine().
void AddLine(const TSubString &line) override
Add a line of HTML.
virtual void CreateLatex(const char *filename)
Create a gif file named filename from a latex expression in fLatex.
Bool_t GetResult(TString &result) override
convert fLatex to a gif by creating a TLatex, drawing it on a temporary canvas, and saving that to a ...
void AddParameter(const TString &name, const char *value=0) override
Parse fParameters, setting fFontSize, fAlignment, and fSeparator.
void AddLine(const TSubString &line) override
Add a latex line.
TList * GetListOfLines() const
Get the list of lines as TObjStrings.
virtual void GetBoundingBox(TLatex &latex, const char *text, Float_t &width, Float_t &height)
Determines the bounding box for text as height and width.
~TDocLatexDirective() override
Destructor.
~TDocMacroDirective() override
Destructor.
TString CreateSubprocessInputFile()
Create the input file for SubProcess().
static void SubProcess(const TString &what, const TString &out)
void AddLine(const TSubString &line) override
Add a macro line.
void AddParameter(const TString &name, const char *value=0) override
Setting fNeedGraphics if name is "GUI", setting fShowSource if name is "SOURCE".
Bool_t GetResult(TString &result) override
Get the result (i.e.
virtual void NameSpace2FileName(TString &name)
Replace "::" in name by "__" Replace "<", ">", " ", ",", "~", "=" in name by "_" Replace "A::X<A::Y>"...
virtual const char * ReplaceSpecialChars(char c)
Replace ampersand, less-than and greater-than character, writing to out.
static Bool_t Strip(TString &s)
strips ' ', tabs, and newlines from both sides of str
void GetCurrentModule(TString &out_module) const
Return the name of module for which sources are currently parsed.
TDocOutput * GetDocOutput() const
TClass * GetCurrentClass() const
void GetModuleMacroPath(const TString &module, TString &out_path) const
virtual void GetHtmlFileName(TClass *classPtr, TString &filename) const
Return real HTML filename.
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().
To draw Mathematical Formula.
TObject * First() const override
Return the first object in the list. Returns 0 when list is empty.
void Delete(Option_t *option="") override
Remove all objects from the list AND delete all heap based objects.
Class supporting a collection of lines with C++ code.
virtual TObjString * AddLine(const char *text)
Add line with text in the list of lines of this macro.
void SaveSource(FILE *fp)
Save macro source in file pointer fp.
TList * GetListOfLines() const
const char * GetName() const override
Returns name of object.
const char * GetTitle() const override
Returns title of object.
Int_t GetEntriesFast() const
Int_t GetEntries() const override
Return the number of objects in array (i.e.
TObject * At(Int_t idx) const override
void Add(TObject *obj) override
Collectable string class.
Mother of all ROOT objects.
virtual void Warning(const char *method, const char *msgfmt,...) const
Issue warning message.
virtual void Error(const char *method, const char *msgfmt,...) const
Issue error message.
virtual void Info(const char *method, const char *msgfmt,...) const
Issue info message.
TObjArray * MatchS(const TString &s, const TString &mods="", Int_t start=0, Int_t nMaxMatch=10)
Returns a TObjArray of matched substrings as TObjString's.
Bool_t EndsWith(const char *pat, ECaseCompare cmp=kExact) const
Return true if string ends with the specified string.
TSubString Strip(EStripType s=kTrailing, char c=' ') const
Return a substring of self stripped at beginning and/or end.
TObjArray * Tokenize(const TString &delim) const
This function is used to isolate sequential tokens in a TString.
TString & Remove(Ssiz_t pos)
Ssiz_t Index(const char *pat, Ssiz_t i=0, ECaseCompare cmp=kExact) const
A zero length substring is legal.
virtual void FreeDirectory(void *dirp)
Free a directory.
virtual void * OpenDirectory(const char *name)
Open a directory. Returns 0 if directory does not exist.
virtual const char * FindFile(const char *search, TString &file, EAccessMode mode=kFileExists)
Find location of file in a search path.
virtual Int_t Exec(const char *shellcmd)
Execute a command.
virtual const char * PrependPathName(const char *dir, TString &name)
Concatenate a directory and a file name.
virtual Bool_t AccessPathName(const char *path, EAccessMode mode=kFileExists)
Returns FALSE if one can access a file using the specified access mode.
virtual const char * GetDirEntry(void *dirp)
Get a directory entry. Returns 0 if no more entries.
virtual const char * BaseName(const char *pathname)
Base name of a file name. Base name of /user/root is root.
virtual void Sleep(UInt_t milliSec)
Sleep milliSec milli seconds.
virtual Bool_t ProcessEvents()
Process pending events (GUI, timers, sockets).
virtual TString GetDirName(const char *pathname)
Return the directory name in pathname.
virtual int Unlink(const char *name)
Unlink, i.e.
virtual const char * TempDirectory() const
Return a user configured or systemwide directory to create temporary files in.
TVirtualPad is an abstract base class for the Pad and Canvas classes.
virtual TVirtualPad * cd(Int_t subpadnumber=0)=0
virtual void SetBorderMode(Short_t bordermode)=0
void Clear(Option_t *option="") override=0