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.
virtual | ~TMethodBrowsable() |
void | TObject::AbstractMethod(const char* method) const |
virtual void | TObject::AppendPad(Option_t* option = "") |
virtual void | TVirtualBranchBrowsable::Browse(TBrowser* b) |
static TClass* | Class() |
virtual const char* | TObject::ClassName() const |
virtual void | TNamed::Clear(Option_t* option = "") |
virtual TObject* | TNamed::Clone(const char* newname = "") const |
virtual Int_t | TNamed::Compare(const TObject* obj) const |
virtual void | TNamed::Copy(TObject& named) const |
virtual void | TObject::Delete(Option_t* option = "")MENU |
virtual Int_t | TObject::DistancetoPrimitive(Int_t px, Int_t py) |
virtual void | TObject::Draw(Option_t* option = "") |
virtual void | TObject::DrawClass() constMENU |
virtual TObject* | TObject::DrawClone(Option_t* option = "") constMENU |
virtual void | TObject::Dump() constMENU |
virtual void | TObject::Error(const char* method, const char* msgfmt) const |
virtual void | TObject::Execute(const char* method, const char* params, Int_t* error = 0) |
virtual void | TObject::Execute(TMethod* method, TObjArray* params, Int_t* error = 0) |
virtual void | TObject::ExecuteEvent(Int_t event, Int_t px, Int_t py) |
virtual void | TObject::Fatal(const char* method, const char* msgfmt) const |
virtual void | TNamed::FillBuffer(char*& buffer) |
static Int_t | TVirtualBranchBrowsable::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_t | GetBrowsables(TList& list, const TBranch* branch, const TVirtualBranchBrowsable* parent = 0) |
TClass* | TVirtualBranchBrowsable::GetClassType() const |
virtual Option_t* | TObject::GetDrawOption() const |
static Long_t | TObject::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_t | TObject::GetObjectStat() |
virtual Option_t* | TObject::GetOption() const |
const TVirtualBranchBrowsable* | TVirtualBranchBrowsable::GetParent() const |
void | TVirtualBranchBrowsable::GetScope(TString& scope) const |
virtual const char* | TNamed::GetTitle() const |
virtual UInt_t | TObject::GetUniqueID() const |
virtual Bool_t | TObject::HandleTimer(TTimer* timer) |
virtual ULong_t | TNamed::Hash() const |
virtual void | TObject::Info(const char* method, const char* msgfmt) const |
virtual Bool_t | TObject::InheritsFrom(const char* classname) const |
virtual Bool_t | TObject::InheritsFrom(const TClass* cl) const |
virtual void | TObject::Inspect() constMENU |
void | TObject::InvertBit(UInt_t f) |
virtual TClass* | IsA() const |
virtual Bool_t | TObject::IsEqual(const TObject* obj) const |
virtual Bool_t | TVirtualBranchBrowsable::IsFolder() const |
static Bool_t | IsMethodBrowsable(const TMethod* m) |
Bool_t | TObject::IsOnHeap() const |
virtual Bool_t | TNamed::IsSortable() const |
Bool_t | TObject::IsZombie() const |
virtual void | TNamed::ls(Option_t* option = "") const |
void | TObject::MayNotUse(const char* method) const |
virtual Bool_t | TObject::Notify() |
void | TObject::Obsolete(const char* method, const char* asOfVers, const char* removedFromVers) const |
void | TObject::operator delete(void* ptr) |
void | TObject::operator delete(void* ptr, void* vp) |
void | TObject::operator delete[](void* ptr) |
void | TObject::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) |
TMethodBrowsable& | operator=(const TMethodBrowsable&) |
virtual void | TObject::Paint(Option_t* option = "") |
virtual void | TObject::Pop() |
virtual void | TNamed::Print(Option_t* option = "") const |
virtual Int_t | TObject::Read(const char* name) |
virtual void | TObject::RecursiveRemove(TObject* obj) |
static void | Register() |
void | TObject::ResetBit(UInt_t f) |
virtual void | TObject::SaveAs(const char* filename = "", Option_t* option = "") constMENU |
virtual void | TObject::SavePrimitive(ostream& out, Option_t* option = "") |
void | TObject::SetBit(UInt_t f) |
void | TObject::SetBit(UInt_t f, Bool_t set) |
virtual void | TObject::SetDrawOption(Option_t* option = "")MENU |
static void | TObject::SetDtorOnly(void* obj) |
virtual void | TNamed::SetName(const char* name)MENU |
virtual void | TNamed::SetNameTitle(const char* name, const char* title) |
static void | TObject::SetObjectStat(Bool_t stat) |
virtual void | TNamed::SetTitle(const char* title = "")MENU |
virtual void | TObject::SetUniqueID(UInt_t uid) |
virtual void | ShowMembers(TMemberInspector& insp) const |
virtual Int_t | TNamed::Sizeof() const |
virtual void | Streamer(TBuffer&) |
void | StreamerNVirtual(TBuffer& ClassDef_StreamerNVirtual_b) |
virtual void | TObject::SysError(const char* method, const char* msgfmt) const |
Bool_t | TObject::TestBit(UInt_t f) const |
Int_t | TObject::TestBits(UInt_t f) const |
TMethodBrowsable(const TMethodBrowsable&) | |
Bool_t | TVirtualBranchBrowsable::TypeIsPointer() const |
static void | Unregister() |
virtual void | TObject::UseCurrentStyle() |
virtual void | TObject::Warning(const char* method, const char* msgfmt) const |
virtual Int_t | TObject::Write(const char* name = 0, Int_t option = 0, Int_t bufsize = 0) |
virtual Int_t | TObject::Write(const char* name = 0, Int_t option = 0, Int_t bufsize = 0) const |
virtual void | TObject::DoError(int level, const char* location, const char* fmt, va_list va) const |
static void | GetBrowsableMethodsForClass(TClass* cl, TList& list) |
static TClass* | TVirtualBranchBrowsable::GetCollectionContainedType(const TBranch* b, const TVirtualBranchBrowsable* parent, TClass*& contained) |
static list<TVirtualBranchBrowsable::MethodCreateListOfBrowsables_t>& | TVirtualBranchBrowsable::GetRegisteredGenerators() |
void | TObject::MakeZombie() |
static void | TVirtualBranchBrowsable::RegisterGenerator(TVirtualBranchBrowsable::MethodCreateListOfBrowsables_t generator) |
void | TVirtualBranchBrowsable::SetType(TClass* type) |
void | TVirtualBranchBrowsable::SetTypeIsPointer(Bool_t set = kTRUE) |
TMethodBrowsable(const TBranch* branch, TMethod* m, const TVirtualBranchBrowsable* parent = 0) | |
static void | TVirtualBranchBrowsable::UnregisterGenerator(TVirtualBranchBrowsable::MethodCreateListOfBrowsables_t generator) |
static TObject::<anonymous> | TObject::kBitMask | |
static TObject::EStatusBits | TObject::kCanDelete | |
static TObject::EStatusBits | TObject::kCannotPick | |
static TObject::EStatusBits | TObject::kHasUUID | |
static TObject::EStatusBits | TObject::kInvalidObject | |
static TObject::<anonymous> | TObject::kIsOnHeap | |
static TObject::EStatusBits | TObject::kIsReferenced | |
static TObject::EStatusBits | TObject::kMustCleanup | |
static TObject::EStatusBits | TObject::kNoContextMenu | |
static TObject::<anonymous> | TObject::kNotDeleted | |
static TObject::EStatusBits | TObject::kObjInCanvas | |
static TObject::<anonymous> | TObject::kOverwrite | |
static TObject::<anonymous> | TObject::kSingleKey | |
static TObject::<anonymous> | TObject::kWriteDelete | |
static TObject::<anonymous> | TObject::kZombie |
TString | TNamed::fName | object identifier |
TString | TNamed::fTitle | object title |
TMethod* | fMethod | pointer to a method |
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
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.
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.
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.
Wrapper for the registration method. Needed against MSVC, which assigned different addr to the same method, depending on what translation unit you're in...
Wrapper for the registration method. Needed against MSVC, which assigned different addr to the same method, depending on what translation unit you're in...