#ifndef ROOT_TGLayout
#define ROOT_TGLayout
#ifndef ROOT_TObject
#include "TObject.h"
#endif
#ifndef ROOT_TGDimension
#include "TGDimension.h"
#endif
#ifndef ROOT_TRefCnt
#include "TRefCnt.h"
#endif
enum ELayoutHints {
   kLHintsNoHints = 0,
   kLHintsLeft    = BIT(0),
   kLHintsCenterX = BIT(1),
   kLHintsRight   = BIT(2),
   kLHintsTop     = BIT(3),
   kLHintsCenterY = BIT(4),
   kLHintsBottom  = BIT(5),
   kLHintsExpandX = BIT(6),
   kLHintsExpandY = BIT(7),
   kLHintsNormal  = (kLHintsLeft | kLHintsTop)
   
};
class TGFrame;
class TGCompositeFrame;
class TGLayoutHints;
class TList;
class TGFrameElement;
class TGLayoutHints : public TObject, public TRefCnt {
friend class TGFrameElement;
friend class TGCompositeFrame;
private:
   TGFrameElement *fFE;       
   TGFrameElement *fPrev;     
   TGLayoutHints& operator=(const TGLayoutHints&);
protected:
   ULong_t  fLayoutHints;     
   Int_t    fPadtop;          
   Int_t    fPadbottom;       
   Int_t    fPadleft;         
   Int_t    fPadright;        
   void UpdateFrameElements(TGLayoutHints *l);
public:
   TGLayoutHints(ULong_t hints = kLHintsNormal,
                 Int_t padleft = 0, Int_t padright = 0,
                 Int_t padtop = 0, Int_t padbottom = 0):
     fFE(0), fPrev(0), fLayoutHints(hints), fPadtop(padtop), fPadbottom(padbottom),
     fPadleft(padleft), fPadright(padright)
     { SetRefCount(0); }
   TGLayoutHints(const TGLayoutHints &lh);
   virtual ~TGLayoutHints();
   ULong_t GetLayoutHints() const { return fLayoutHints; }
   Int_t   GetPadTop() const { return fPadtop; }
   Int_t   GetPadBottom() const { return fPadbottom; }
   Int_t   GetPadLeft() const { return fPadleft; }
   Int_t   GetPadRight() const { return fPadright; }
   virtual void SetLayoutHints(ULong_t lh) { fLayoutHints = lh; }
   virtual void SetPadTop(Int_t v)  {  fPadtop = v; }
   virtual void SetPadBottom(Int_t v)  {  fPadbottom = v; }
   virtual void SetPadLeft(Int_t v)  {  fPadleft = v; }
   virtual void SetPadRight(Int_t v)  {  fPadright = v; }
   void Print(Option_t* option = "") const;
   void ls(Option_t* option = "") const { Print(option); }
   virtual void SavePrimitive(ostream &out, Option_t *option = "");
   ClassDef(TGLayoutHints,0)  
};
class TGFrameElement : public TObject {
private:
   TGFrameElement(const TGFrameElement&);
   TGFrameElement& operator=(const TGFrameElement&);
public:
   TGFrame        *fFrame;    
   Int_t           fState;    
   TGLayoutHints  *fLayout;   
   TGFrameElement() : fFrame(0), fState(0), fLayout(0) { }
   TGFrameElement(TGFrame *f, TGLayoutHints *l);
   ~TGFrameElement();
   void Print(Option_t* option = "") const;
   void ls(Option_t* option = "") const { Print(option); }
   ClassDef(TGFrameElement, 0); 
};
class TGLayoutManager : public TObject {
public:
   virtual void Layout() = 0;
   virtual TGDimension GetDefaultSize() const = 0;
   virtual void SetDefaultWidth(UInt_t ) {}
   virtual void SetDefaultHeight(UInt_t ) {}
   virtual Bool_t IsModified() const { return kTRUE; }
   ClassDef(TGLayoutManager,0)  
};
class TGVerticalLayout : public TGLayoutManager {
protected:
   TGCompositeFrame  *fMain;     
   TList             *fList;     
   TGVerticalLayout(const TGVerticalLayout& gvl) :
     TGLayoutManager(gvl), fMain(gvl.fMain), fList(gvl.fList) { }
   TGVerticalLayout& operator=(const TGVerticalLayout& gvl)
     {if(this!=&gvl) { TGLayoutManager::operator=(gvl);
     fMain=gvl.fMain; fList=gvl.fList;} return *this;}
public:
   TGVerticalLayout(TGCompositeFrame *main);
   virtual void Layout();
   virtual TGDimension GetDefaultSize() const;
   virtual void SavePrimitive(ostream &out, Option_t * = "");
   ClassDef(TGVerticalLayout,0)  
};
class TGHorizontalLayout : public TGVerticalLayout {
public:
   TGHorizontalLayout(TGCompositeFrame *main) : TGVerticalLayout(main) { }
   virtual void Layout();
   virtual TGDimension GetDefaultSize() const;
   virtual void SavePrimitive(ostream &out, Option_t * = "");
   ClassDef(TGHorizontalLayout,0)  
};
class TGRowLayout : public TGVerticalLayout {
public:
   Int_t   fSep;             
   TGRowLayout(TGCompositeFrame *main, Int_t s = 0) :
      TGVerticalLayout(main), fSep(s) { }
   virtual void Layout();
   virtual TGDimension GetDefaultSize() const;
   virtual void SavePrimitive(ostream &out, Option_t * = "");
   ClassDef(TGRowLayout,0)  
};
class TGColumnLayout : public TGRowLayout {
public:
   TGColumnLayout(TGCompositeFrame *main, Int_t s = 0) : TGRowLayout(main, s) { }
   virtual void Layout();
   virtual TGDimension GetDefaultSize() const;
   virtual void SavePrimitive(ostream &out, Option_t * = "");
   ClassDef(TGColumnLayout,0)  
};
class TGMatrixLayout : public TGLayoutManager {
private:
   TGMatrixLayout(const TGMatrixLayout&);
   TGMatrixLayout& operator=(const TGMatrixLayout&);
protected:
   TGCompositeFrame *fMain;      
   TList            *fList;      
public:
   Int_t   fSep;                      
   Int_t   fHints;                    
   UInt_t  fRows;                     
   UInt_t  fColumns;                  
   TGMatrixLayout(TGCompositeFrame *main, UInt_t r, UInt_t c, Int_t s=0, Int_t h=0);
   virtual void Layout();
   virtual TGDimension GetDefaultSize() const;
   virtual void SavePrimitive(ostream &out, Option_t * = "");
   ClassDef(TGMatrixLayout,0)  
};
class TGTileLayout : public TGLayoutManager {
private:
   TGTileLayout(const TGTileLayout&);
   TGTileLayout& operator=(const TGTileLayout&);
protected:
   Int_t             fSep;    
   TGCompositeFrame *fMain;   
   TList            *fList;   
   Bool_t            fModified;
public:
   TGTileLayout(TGCompositeFrame *main, Int_t sep = 0);
   virtual void Layout();
   virtual TGDimension GetDefaultSize() const;
   virtual Bool_t IsModified() const { return fModified; }
   virtual void SavePrimitive(ostream &out, Option_t * = "");
   ClassDef(TGTileLayout,0)  
};
class TGListLayout : public TGTileLayout {
public:
   TGListLayout(TGCompositeFrame *main, Int_t sep = 0) :
      TGTileLayout(main, sep) { }
   virtual void Layout();
   virtual TGDimension GetDefaultSize() const;
   virtual void SavePrimitive(ostream &out, Option_t * = "");
   ClassDef(TGListLayout,0)  
};
class TGListDetailsLayout : public TGTileLayout {
private:
   UInt_t fWidth; 
public:
   TGListDetailsLayout(TGCompositeFrame *main, Int_t sep = 0, UInt_t w = 0) :
      TGTileLayout(main, sep), fWidth(w) { }
   virtual void Layout();
   virtual TGDimension GetDefaultSize() const;
   virtual void SetDefaultWidth(UInt_t w) { fWidth = w; }
   virtual void SavePrimitive(ostream &out, Option_t * = "");
   ClassDef(TGListDetailsLayout,0)  
};
#endif
This page has been automatically generated. If you have any comments or suggestions about the page layout send a mail to ROOT support, or contact the developers with any questions or problems regarding ROOT.