ROOT logo
ROOT » TREE » TREE » TMethodBrowsable

class TMethodBrowsable: public TVirtualBranchBrowsable


 TVirtualBranchBrowsable is a base class (not really abstract, but useless
 by itself) for helper objects that extend TBranch's browsing support.
 Each registered derived class's generator method is called, which fills
 all created helper objects into a list which can then be browsed.
 For details of what these browser helper objects can do, see e.g.
 TMethodBrowsable, which allows methods to show up in the TBrowser.

 Only registered helper objects are created. By default, only
 TMethodBrowsable, TNonSplitBrowsable, and TCollectionPropertyBrowsable
 are registered (see RegisterDefaultGenerators). You can prevent any of
 their objects to show up in the browser by unregistering the generator:
   TMethodBrowsable::Unregister()
 will stop creating browsable method helper objects from that call on.
 Note that these helper objects are cached (in TBranch::fBrowsables);
 already created (and thus cached) browsables will still appear in the
 browser even after unregistering the corresponding generator.

 You can implement your own browsable objects and thier generator; see
 e.g. the simple TCollectionPropertyBrowsable. Note that you will have
 to register your generator just like any other, and that you should
 implement the following methods for your own class, mainly for
 consistency reasons:
   static void Register() {
     TVirtualBranchBrowsable::RegisterGenerator(GetBrowsables); }
   static void Unregister() {
     TVirtualBranchBrowsable::UnregisterGenerator(GetBrowsables); }
 where GetBrowsables is a static member function of your class, that
 creates the browsable helper objects, and has the signature
   static Int_t GetBrowsables(TList& list, const TBranch* branch,
                              const TVirtualBranchBrowsable* parent=0);
 It has to return the number of browsable helper objects for parent
 (or, if NULL, for branch) which are added to the list.

Function Members (Methods)

public:
TMethodBrowsable(const TMethodBrowsable&)
virtual~TMethodBrowsable()
voidTObject::AbstractMethod(const char* method) const
virtual voidTObject::AppendPad(Option_t* option = "")
virtual voidTVirtualBranchBrowsable::Browse(TBrowser* b)
static TClass*Class()
virtual const char*TObject::ClassName() const
virtual voidTNamed::Clear(Option_t* option = "")
virtual TObject*TNamed::Clone(const char* newname = "") const
virtual Int_tTNamed::Compare(const TObject* obj) const
virtual voidTNamed::Copy(TObject& named) const
virtual voidTObject::Delete(Option_t* option = "")MENU
virtual Int_tTObject::DistancetoPrimitive(Int_t px, Int_t py)
virtual voidTObject::Draw(Option_t* option = "")
virtual voidTObject::DrawClass() constMENU
virtual TObject*TObject::DrawClone(Option_t* option = "") constMENU
virtual voidTObject::Dump() constMENU
virtual voidTObject::Error(const char* method, const char* msgfmt) const
virtual voidTObject::Execute(const char* method, const char* params, Int_t* error = 0)
virtual voidTObject::Execute(TMethod* method, TObjArray* params, Int_t* error = 0)
virtual voidTObject::ExecuteEvent(Int_t event, Int_t px, Int_t py)
virtual voidTObject::Fatal(const char* method, const char* msgfmt) const
virtual voidTNamed::FillBuffer(char*& buffer)
static Int_tTVirtualBranchBrowsable::FillListOfBrowsables(TList& list, const TBranch* branch, const TVirtualBranchBrowsable* parent = 0)
virtual TObject*TObject::FindObject(const char* name) const
virtual TObject*TObject::FindObject(const TObject* obj) const
const TBranch*TVirtualBranchBrowsable::GetBranch() const
static Int_tGetBrowsables(TList& list, const TBranch* branch, const TVirtualBranchBrowsable* parent = 0)
TClass*TVirtualBranchBrowsable::GetClassType() const
virtual Option_t*TObject::GetDrawOption() const
static Long_tTObject::GetDtorOnly()
virtual const char*GetIconName() const
TList*TVirtualBranchBrowsable::GetLeaves() const
virtual const char*TNamed::GetName() const
virtual char*TObject::GetObjectInfo(Int_t px, Int_t py) const
static Bool_tTObject::GetObjectStat()
virtual Option_t*TObject::GetOption() const
const TVirtualBranchBrowsable*TVirtualBranchBrowsable::GetParent() const
voidTVirtualBranchBrowsable::GetScope(TString& scope) const
virtual const char*TNamed::GetTitle() const
virtual UInt_tTObject::GetUniqueID() const
virtual Bool_tTObject::HandleTimer(TTimer* timer)
virtual ULong_tTNamed::Hash() const
virtual voidTObject::Info(const char* method, const char* msgfmt) const
virtual Bool_tTObject::InheritsFrom(const char* classname) const
virtual Bool_tTObject::InheritsFrom(const TClass* cl) const
virtual voidTObject::Inspect() constMENU
voidTObject::InvertBit(UInt_t f)
virtual TClass*IsA() const
virtual Bool_tTObject::IsEqual(const TObject* obj) const
virtual Bool_tTVirtualBranchBrowsable::IsFolder() const
static Bool_tIsMethodBrowsable(const TMethod* m)
Bool_tTObject::IsOnHeap() const
virtual Bool_tTNamed::IsSortable() const
Bool_tTObject::IsZombie() const
virtual voidTNamed::ls(Option_t* option = "") const
voidTObject::MayNotUse(const char* method) const
virtual Bool_tTObject::Notify()
voidTObject::Obsolete(const char* method, const char* asOfVers, const char* removedFromVers) const
static voidTObject::operator delete(void* ptr)
static voidTObject::operator delete(void* ptr, void* vp)
static voidTObject::operator delete[](void* ptr)
static voidTObject::operator delete[](void* ptr, void* vp)
void*TObject::operator new(size_t sz)
void*TObject::operator new(size_t sz, void* vp)
void*TObject::operator new[](size_t sz)
void*TObject::operator new[](size_t sz, void* vp)
TNamed&TNamed::operator=(const TNamed& rhs)
virtual voidTObject::Paint(Option_t* option = "")
virtual voidTObject::Pop()
virtual voidTNamed::Print(Option_t* option = "") const
virtual Int_tTObject::Read(const char* name)
virtual voidTObject::RecursiveRemove(TObject* obj)
static voidRegister()
voidTObject::ResetBit(UInt_t f)
virtual voidTObject::SaveAs(const char* filename = "", Option_t* option = "") constMENU
virtual voidTObject::SavePrimitive(ostream& out, Option_t* option = "")
voidTObject::SetBit(UInt_t f)
voidTObject::SetBit(UInt_t f, Bool_t set)
virtual voidTObject::SetDrawOption(Option_t* option = "")MENU
static voidTObject::SetDtorOnly(void* obj)
virtual voidTNamed::SetName(const char* name)MENU
virtual voidTNamed::SetNameTitle(const char* name, const char* title)
static voidTObject::SetObjectStat(Bool_t stat)
virtual voidTNamed::SetTitle(const char* title = "")MENU
virtual voidTObject::SetUniqueID(UInt_t uid)
virtual voidShowMembers(TMemberInspector& insp)
virtual Int_tTNamed::Sizeof() const
virtual voidStreamer(TBuffer& b)
voidStreamerNVirtual(TBuffer& b)
virtual voidTObject::SysError(const char* method, const char* msgfmt) const
Bool_tTObject::TestBit(UInt_t f) const
Int_tTObject::TestBits(UInt_t f) const
Bool_tTVirtualBranchBrowsable::TypeIsPointer() const
static voidUnregister()
virtual voidTObject::UseCurrentStyle()
virtual voidTObject::Warning(const char* method, const char* msgfmt) const
virtual Int_tTObject::Write(const char* name = 0, Int_t option = 0, Int_t bufsize = 0)
virtual Int_tTObject::Write(const char* name = 0, Int_t option = 0, Int_t bufsize = 0) const

Data Members

protected:
TStringTNamed::fNameobject identifier
TStringTNamed::fTitleobject title
private:
TMethod*fMethodpointer to a method

Class Charts

Inheritance Inherited Members Includes Libraries
Class Charts

Function documentation

TMethodBrowsable(const TBranch* branch, TMethod* m, const TVirtualBranchBrowsable* parent = 0)
 Constructor.
 Links a TBranchElement to a TMethod, allowing the TBrowser to
 browse simple methods.

 The c'tor sets the name for a method "Class::Method(params) const"
 to "Method(params)", title to TMethod::GetPrototype
void GetBrowsableMethodsForClass(TClass* cl, TList& list)
 Given a class, this methods fills list with TMethodBrowsables
 for the class and its base classes, and returns the number of
 added elements. If called from a TBranch::Browse overload, "branch"
 should be set to the calling TBranch, otherwise "parent" should
 be set to the TVirtualBranchBrowsable being browsed, and branch
 should be the branch of the parent.
Int_t GetBrowsables(TList& list, const TBranch* branch, const TVirtualBranchBrowsable* parent = 0)
 This methods fills list with TMethodBrowsables
 for the branch's or parent's class and its base classes, and returns
 the number of added elements. If called from a TBranch::Browse
 overload, "branch" should be set to the calling TBranch, otherwise
 "parent" should be set to the TVirtualBranchBrowsable being browsed.
Bool_t IsMethodBrowsable(const TMethod* m)
 A TMethod is browsable if it is const, public and not pure virtual,
 if does not have any parameter without default value, and if it has
 a (non-void) return value.
 A method called *, Get*, or get* will not be browsable if there is a
 persistent data member called f*, _*, or m*, as data member access is
 faster than method access. Examples: if one of fX, _X, or mX is a
 persistent data member, the methods GetX(), getX(), and X() will not
 be browsable.
void Register()
 Wrapper for the registration method. Needed against MSVC, which
 assigned different addr to the same method, depending on what
 translation unit you're in...
void Unregister()
 Wrapper for the registration method. Needed against MSVC, which
 assigned different addr to the same method, depending on what
 translation unit you're in...
const char * GetIconName() const
 return icon shown when browsing a TVirtualBranchBrowsable
~TMethodBrowsable()
{}
TMethodBrowsable(const TBranch* branch, TMethod* m, const TVirtualBranchBrowsable* parent = 0)