11from ROOT 
import TCanvas, TPaveLabel, TPaveText, TText, TArrow, TLine
 
   14c1 = 
TCanvas( 
'c1', 
'ROOT FilDir description', 700, 900 )
 
   15c1.Range( 1, 1, 19, 24.5 )
 
   17title = 
TPaveLabel( 4, 23, 16, 24.2, 
'ROOT File/Directory/Key description' )
 
   18title.SetFillColor( 16 )
 
   25file.SetFillColor( 39 )
 
   27file.SetTextSize( 0.04 )
 
   28file.AddText( 
'TFile' )
 
   29file.AddText( 
'Header' )
 
   30arrow = 
TArrow( 6, 20.5, 17, 20.5, 0.02, 
'|>' )
 
   31arrow.SetFillStyle( 1001 )
 
   32arrow.SetLineWidth( 2 )
 
   35free.SetFillColor( 18 )
 
   37free.AddText( 
'First:Last' )
 
   39free2.SetFillColor( 18 )
 
   41free2.AddText( 
'First:Last' )
 
   42tfree = 
TText( 6.2, 21.2, 
'fFree = TList of free blocks' )
 
   43tfree.SetTextSize( 0.02 )
 
   45tkeys = 
TText( 5.2, 18.2, 
'fKeys = TList of Keys' )
 
   46tkeys.SetTextSize( 0.02 )
 
   48tmemory = 
TText( 3.2, 15.2, 
'fListHead = TList of Objects in memory' )
 
   49tmemory.SetTextSize( 0.02 )
 
   52arrow.DrawArrow( 5, 17, 17, 17, 0.02, 
'|>' )
 
   53line = 
TLine( 5, 19, 5, 17 )
 
   57key0.SetTextSize( 0.04 )
 
   58key0.SetFillColor( keycolor )
 
   59key0.AddText( 
'Key 0' )
 
   62key1.SetTextSize( 0.04 )
 
   63key1.SetFillColor( keycolor )
 
   64key1.AddText( 
'Key 1' )
 
   66line.DrawLine( 3, 19, 3, 14 )
 
   67line.DrawLine( 3, 14, 18, 14 )
 
   69obj0.SetFillColor( objcolor )
 
   70obj0.AddText( 
'Object' )
 
   73dir1.SetFillColor( dircolor )
 
   74dir1.AddText( 
'SubDir' )
 
   77obj1.SetFillColor( objcolor )
 
   78obj1.AddText( 
'Object' )
 
   80arrow.DrawArrow( 12, 11, 17, 11, 0.015, 
'|>' )
 
   81arrow.DrawArrow( 11, 9, 17, 9, 0.015, 
'|>' )
 
   82line.DrawLine( 12, 13, 12, 11 )
 
   83line.DrawLine( 11, 13, 11, 9 )
 
   85key2.SetFillColor( keycolor )
 
   86key2.AddText( 
'Key 0' )
 
   89obj2.SetFillColor( objcolor )
 
   90obj2.AddText( 
'Object' )
 
   92ldot = 
TLine( 10, 15, 2, 11 )
 
   95ldot.DrawLine( 13, 15, 8, 11 )
 
   96ldot.DrawLine( 13, 13, 8, 5 )
 
   98dirdata.SetTextAlign( 12 )
 
   99dirdata.SetFillColor( dircolor )
 
  101dirdata.SetTextSize( 0.015 )
 
  102dirdata.AddText( 
'fModified: True if directory is modified' )
 
  103dirdata.AddText( 
'fWritable: True if directory is writable' )
 
  104dirdata.AddText( 
'fDatimeC: Creation Date/Time' )
 
  105dirdata.AddText( 
'fDatimeM: Last mod Date/Time' )
 
  106dirdata.AddText( 
'fNbytesKeys: Number of bytes of key' )
 
  107dirdata.AddText( 
'fNbytesName : Header length up to title' )
 
  108dirdata.AddText( 
'fSeekDir: Start of Directory on file' )
 
  109dirdata.AddText( 
'fSeekParent: Start of Parent Directory' )
 
  110dirdata.AddText( 
'fSeekKeys: Pointer to Keys record' )
 
  112keydata.SetTextAlign( 12 )
 
  113keydata.SetFillColor( keycolor )
 
  115ldot.DrawLine( 14, 11.5, 10, 7 )
 
  116ldot.DrawLine( 16, 11.5, 17, 7 )
 
  117keydata.SetTextSize( 0.015 )
 
  118keydata.AddText( 
'fNbytes: Size of compressed Object' )
 
  119keydata.AddText( 
'fObjLen: Size of uncompressed Object' )
 
  120keydata.AddText( 
'fDatime: Date/Time when written to store' )
 
  121keydata.AddText( 
'fKeylen: Number of bytes for the key' )
 
  122keydata.AddText( 
'fCycle : Cycle number' )
 
  123keydata.AddText( 
'fSeekKey: Pointer to Object on file' )
 
  124keydata.AddText( 
'fSeekPdir: Pointer to directory on file' )
 
  125keydata.AddText( 
'fClassName: "TKey"' )
 
  126keydata.AddText( 
'fName: Object name' )
 
  127keydata.AddText( 
'fTitle: Object Title' )
 
Draw all kinds of Arrows.
 
Use the TLine constructor to create a simple line.
 
A Pave (see TPave) with a text centered in the Pave.
 
A Pave (see TPave) with text, lines or/and boxes inside.
 
Base class for several text objects.