#include "TMethodBrowsable.h"

TMethodBrowsable


class description - source file - inheritance tree (.pdf)

class TMethodBrowsable : public TNamed

Inheritance Chart:
TObject
<-
TNamed
<-
TMethodBrowsable
    private:
void GetScope(TString& scope) public:
TMethodBrowsable(TBranchElement* be, TMethod* m, TMethodBrowsable* parent = 0) TMethodBrowsable(const TMethodBrowsable&) ~TMethodBrowsable() virtual void Browse(TBrowser* b) static TClass* Class() virtual const char* GetIconName() const static TList* GetMethodBrowsables(TBranchElement* be, TClass* cl, TMethodBrowsable* parent = 0) virtual TClass* IsA() const virtual Bool_t IsFolder() const static Bool_t IsMethodBrowsable(TMethod* m) TMethodBrowsable& operator=(const TMethodBrowsable&) virtual void ShowMembers(TMemberInspector& insp, char* parent) virtual void Streamer(TBuffer& b) void StreamerNVirtual(TBuffer& b)

Data Members

    private:
TBranchElement* fBranchElement pointer to the branch element representing the top object TMethodBrowsable* fParent parent method if this method is member of a returned class TMethod* fMethod pointer to a method TClass* fReturnClass pointer to TClass representing return type TList* fReturnLeafs pointer to return type's leafs Bool_t fReturnIsPointer return type is pointer to class

Class Description

                                                                      
 TMethodBrowsable                                                     
                                                                      
 A helper object to browse methods (see                               
 TBranchElement::GetBrowsableMethods)                                 


TMethodBrowsable(TBranchElement* be, TMethod* m, TMethodBrowsable* parent /* =0 */): fBranchElement(be), fParent(parent), fMethod(m), fReturnClass(0), fReturnLeafs(0), fReturnIsPointer(kFALSE)
 standard constructor.
 Links a TBranchElement with a TMethod, allowing the TBrowser to
 Browser simple methods.

 The c'tor sets the name for a method "Class::Method(params) const"
 to "Method(params)", title to TMethod::GetPrototype

void Browse(TBrowser *b)
 Calls TTree::Draw on the method if return type is not a class;
 otherwise expands returned object's "folder"

TList* GetMethodBrowsables(TBranchElement* be, TClass* cl, TMethodBrowsable* parent /* =0 */)
 Given a class, this methods returns a list of TMethodBrowsables
 for the class and its base classes.
 This list has to be deleted by the caller!

void GetScope(TString & scope)
 Returns the full name for TTree::Draw to draw *this.
 Recursively appends, starting form the top TBranchElement,
 all method names with proper reference operators (->, .)
 depending on fReturnIsPointer.

Bool_t IsMethodBrowsable(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.



Inline Functions


                     void ~TMethodBrowsable()
              const char* GetIconName() const
                   Bool_t IsFolder() const
                  TClass* Class()
                  TClass* IsA() const
                     void ShowMembers(TMemberInspector& insp, char* parent)
                     void Streamer(TBuffer& b)
                     void StreamerNVirtual(TBuffer& b)
         TMethodBrowsable TMethodBrowsable(const TMethodBrowsable&)
        TMethodBrowsable& operator=(const TMethodBrowsable&)


Author: Axel Naumann 14/10/2004
Last update: root/tree:$Name: $:$Id: TMethodBrowsable.cxx,v 1.5 2004/12/17 07:20:54 brun Exp $
Copyright (C) 1995-2000, Rene Brun and Fons Rademakers. *


ROOT page - Class index - Class Hierarchy - Top of the page

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.