Logo ROOT  
Reference Guide
ROOT::Experimental::Browsable::TObjectElement Class Reference

Access to TObject basic properties for RBrowsable.

Author
Sergey Linev S.Lin.nosp@m.ev@g.nosp@m.si.de
Date
2021-01-11
Warning
This is part of the ROOT 7 prototype! It will change without notice. It might trigger earthquakes. Feedback is welcome!

Definition at line 31 of file TObjectElement.hxx.

Public Member Functions

 TObjectElement (std::unique_ptr< RHolder > &obj, const std::string &name="", bool _hide_childs=false)
 Constructor with std::unique_ptr<RHolder> as argument. More...
 
 TObjectElement (TObject *obj, const std::string &name="", bool _hide_childs=false)
 Constructor with plain TObject* as argument - ownership is not defined. More...
 
virtual ~TObjectElement ()=default
 
bool CheckValid () override
 Returns true if object is still valid. More...
 
std::unique_ptr< RItemCreateItem () const override
 Create item. More...
 
std::unique_ptr< RLevelIterGetChildsIter () override
 Create iterator for childs elements if any. More...
 
const TClassGetClass () const
 Returns class for contained object. More...
 
EActionKind GetDefaultAction () const override
 Provides default action which can be performed with the object. More...
 
std::string GetName () const override
 Name of TObject. More...
 
std::unique_ptr< RHolderGetObject () override
 Return copy of TObject holder - if possible. More...
 
std::string GetTitle () const override
 Title of TObject. More...
 
bool IsCapable (EActionKind) const override
 Check object capability. More...
 
bool IsFolder () const override
 Returns true if object can have child elements. More...
 
bool IsHideChilds () const
 Is flag to hide all potential object childs set. More...
 
bool IsObject (void *) override
 Returns true if holding specified object. More...
 
void SetHideChilds (bool on)
 Set flag to hide all potential object childs. More...
 
void SetName (const std::string &name)
 
- Public Member Functions inherited from ROOT::Experimental::Browsable::RElement
virtual ~RElement ()=default
 
virtual bool cd ()
 Select element as active. More...
 
virtual bool CheckValid ()
 Check if element still contains valid content. More...
 
virtual std::unique_ptr< RItemCreateItem () const
 Returns item with element description. More...
 
virtual std::unique_ptr< RLevelIterGetChildsIter ()
 Create iterator for childs elements if any. More...
 
virtual std::string GetContent (const std::string &="text")
 Returns element content, depends from kind. More...
 
virtual EActionKind GetDefaultAction () const
 Get default action. More...
 
virtual std::string GetName () const =0
 Name of browsable, must be provided in derived classes. More...
 
virtual int GetNumChilds ()
 Returns number of childs By default creates iterator and iterates over all items. More...
 
virtual std::unique_ptr< RHolderGetObject ()
 Access object. More...
 
virtual std::string GetTitle () const
 Title of browsable (optional) More...
 
virtual bool IsCapable (EActionKind action) const
 Check if want to perform action. More...
 
virtual bool IsExpandByDefault () const
 Should item representing element be expand by default. More...
 
virtual bool IsFolder () const
 Check if element can have childs. More...
 
virtual bool IsObject (void *)
 Check if element contains provided pointer. More...
 
virtual bool MatchName (const std::string &name) const
 Checks if element name match to provided value. More...
 

Static Public Member Functions

static std::unique_ptr< RLevelIterGetCollectionIter (const TCollection *)
 Creates iterator for TCollection object. More...
 
- Static Public Member Functions inherited from ROOT::Experimental::Browsable::RElement
static int ComparePaths (const RElementPath_t &path1, const RElementPath_t &path2)
 Compare two paths, Returns number of elements matches in both paths. More...
 
static int ExtractItemIndex (std::string &name)
 Extract index from name Index coded by client with ###<indx>$$$ suffix Such coding used by browser to identify element by index. More...
 
static EContentKind GetContentKind (const std::string &kind)
 Find item with specified name Default implementation, should work for all. More...
 
static std::string GetPathAsString (const RElementPath_t &path)
 Converts element path back to string. More...
 
static std::shared_ptr< RElementGetSubElement (std::shared_ptr< RElement > &elem, const RElementPath_t &path)
 Returns sub element. More...
 
static RElementPath_t ParsePath (const std::string &str)
 Parse string path to produce RElementPath_t One should avoid to use string pathes as much as possible. More...
 

Protected Member Functions

virtual const TObjectCheckObject () const
 Check if object still exists. More...
 
void ForgetObject () const
 Forget object, use when it was deleted behind the scene. More...
 
virtual std::string GetMTime () const
 
virtual Long64_t GetSize () const
 
bool IsSame (TObject *obj) const
 
void SetObject (TObject *obj)
 Constructor with std::unique_ptr<RHolder> as argument. More...
 

Protected Attributes

bool fHideChilds {false}
 
std::string fName
 
TObjectfObj {nullptr}
 
std::unique_ptr< RHolderfObject
 

Additional Inherited Members

- Public Types inherited from ROOT::Experimental::Browsable::RElement
enum  EActionKind {
  kActNone , kActBrowse , kActEdit , kActImage ,
  kActDraw6 , kActDraw7 , kActCanvas , kActTree ,
  kActGeom
}
 Possible actions on double-click. More...
 
enum  EContentKind {
  kNone , kText , kImage , kPng ,
  kJpeg , kJson , kFileName
}
 

#include <ROOT/Browsable/TObjectElement.hxx>

Inheritance diagram for ROOT::Experimental::Browsable::TObjectElement:
[legend]

Constructor & Destructor Documentation

◆ TObjectElement() [1/2]

TObjectElement::TObjectElement ( TObject obj,
const std::string &  name = "",
bool  _hide_childs = false 
)

Constructor with plain TObject* as argument - ownership is not defined.

Definition at line 277 of file TObjectElement.cxx.

◆ TObjectElement() [2/2]

TObjectElement::TObjectElement ( std::unique_ptr< RHolder > &  obj,
const std::string &  name = "",
bool  _hide_childs = false 
)

Constructor with std::unique_ptr<RHolder> as argument.

Definition at line 289 of file TObjectElement.cxx.

◆ ~TObjectElement()

virtual ROOT::Experimental::Browsable::TObjectElement::~TObjectElement ( )
virtualdefault

Member Function Documentation

◆ CheckObject()

const TObject * TObjectElement::CheckObject ( ) const
protectedvirtual

Check if object still exists.

Reimplemented in TDirectoryElement.

Definition at line 323 of file TObjectElement.cxx.

◆ CheckValid()

bool TObjectElement::CheckValid ( )
overridevirtual

Returns true if object is still valid.

Reimplemented from ROOT::Experimental::Browsable::RElement.

Definition at line 420 of file TObjectElement.cxx.

◆ CreateItem()

std::unique_ptr< RItem > TObjectElement::CreateItem ( ) const
overridevirtual

Create item.

Reimplemented from ROOT::Experimental::Browsable::RElement.

Reimplemented in TKeyElement.

Definition at line 453 of file TObjectElement.cxx.

◆ ForgetObject()

void TObjectElement::ForgetObject ( ) const
protected

Forget object, use when it was deleted behind the scene.

Definition at line 315 of file TObjectElement.cxx.

◆ GetChildsIter()

std::unique_ptr< RLevelIter > TObjectElement::GetChildsIter ( )
overridevirtual

Create iterator for childs elements if any.

Reimplemented from ROOT::Experimental::Browsable::RElement.

Reimplemented in TBrBrowsableElement, TDirectoryElement, TKeyElement, TFolderElement, and TCollectionElement.

Definition at line 367 of file TObjectElement.cxx.

◆ GetClass()

const TClass * TObjectElement::GetClass ( ) const

Returns class for contained object.

Definition at line 428 of file TObjectElement.cxx.

◆ GetCollectionIter()

std::unique_ptr< RLevelIter > TObjectElement::GetCollectionIter ( const TCollection coll)
static

Creates iterator for TCollection object.

Definition at line 513 of file TObjectElement.cxx.

◆ GetDefaultAction()

RElement::EActionKind TObjectElement::GetDefaultAction ( ) const
overridevirtual

Provides default action which can be performed with the object.

Reimplemented from ROOT::Experimental::Browsable::RElement.

Reimplemented in TTreeBrowsingElement, TTreeElement, TDirectoryElement, TKeyElement, and TColorElement.

Definition at line 436 of file TObjectElement.cxx.

◆ GetMTime()

virtual std::string ROOT::Experimental::Browsable::TObjectElement::GetMTime ( ) const
inlineprotectedvirtual

Reimplemented in TDirectoryElement, and TKeyElement.

Definition at line 46 of file TObjectElement.hxx.

◆ GetName()

std::string TObjectElement::GetName ( ) const
overridevirtual

Name of TObject.

Returns name of the TObject.

Implements ROOT::Experimental::Browsable::RElement.

Reimplemented in TDirectoryElement, and TKeyElement.

Definition at line 348 of file TObjectElement.cxx.

◆ GetObject()

std::unique_ptr< RHolder > TObjectElement::GetObject ( )
overridevirtual

Return copy of TObject holder - if possible.

Returns copy of TObject holder - if possible.

Reimplemented from ROOT::Experimental::Browsable::RElement.

Reimplemented in TKeyElement.

Definition at line 398 of file TObjectElement.cxx.

◆ GetSize()

virtual Long64_t ROOT::Experimental::Browsable::TObjectElement::GetSize ( ) const
inlineprotectedvirtual

Reimplemented in TBrLeafElement, TBrElement, TTreeElement, TDirectoryElement, and TKeyElement.

Definition at line 48 of file TObjectElement.hxx.

◆ GetTitle()

std::string TObjectElement::GetTitle ( ) const
overridevirtual

Title of TObject.

Returns title of the TObject.

Reimplemented from ROOT::Experimental::Browsable::RElement.

Reimplemented in TDirectoryElement, and TKeyElement.

Definition at line 359 of file TObjectElement.cxx.

◆ IsCapable()

bool TObjectElement::IsCapable ( RElement::EActionKind  action) const
overridevirtual

Check object capability.

Reimplemented from ROOT::Experimental::Browsable::RElement.

Reimplemented in TTreeBrowsingElement, TTreeElement, and TKeyElement.

Definition at line 487 of file TObjectElement.cxx.

◆ IsFolder()

bool TObjectElement::IsFolder ( ) const
overridevirtual

Returns true if object can have child elements.

Reimplemented from ROOT::Experimental::Browsable::RElement.

Reimplemented in TDirectoryElement, and TKeyElement.

Definition at line 337 of file TObjectElement.cxx.

◆ IsHideChilds()

bool ROOT::Experimental::Browsable::TObjectElement::IsHideChilds ( ) const
inline

Is flag to hide all potential object childs set.

Definition at line 63 of file TObjectElement.hxx.

◆ IsObject()

bool TObjectElement::IsObject ( void *  obj)
overridevirtual

Returns true if holding specified object.

Reimplemented from ROOT::Experimental::Browsable::RElement.

Definition at line 409 of file TObjectElement.cxx.

◆ IsSame()

bool ROOT::Experimental::Browsable::TObjectElement::IsSame ( TObject obj) const
inlineprotected

Definition at line 38 of file TObjectElement.hxx.

◆ SetHideChilds()

void ROOT::Experimental::Browsable::TObjectElement::SetHideChilds ( bool  on)
inline

Set flag to hide all potential object childs.

Definition at line 66 of file TObjectElement.hxx.

◆ SetName()

void ROOT::Experimental::Browsable::TObjectElement::SetName ( const std::string &  name)
inline

Definition at line 60 of file TObjectElement.hxx.

◆ SetObject()

void TObjectElement::SetObject ( TObject obj)
protected

Constructor with std::unique_ptr<RHolder> as argument.

Definition at line 306 of file TObjectElement.cxx.

Member Data Documentation

◆ fHideChilds

bool ROOT::Experimental::Browsable::TObjectElement::fHideChilds {false}
protected

Definition at line 36 of file TObjectElement.hxx.

◆ fName

std::string ROOT::Experimental::Browsable::TObjectElement::fName
protected

Definition at line 35 of file TObjectElement.hxx.

◆ fObj

TObject* ROOT::Experimental::Browsable::TObjectElement::fObj {nullptr}
protected

Definition at line 34 of file TObjectElement.hxx.

◆ fObject

std::unique_ptr<RHolder> ROOT::Experimental::Browsable::TObjectElement::fObject
protected

Definition at line 33 of file TObjectElement.hxx.

Libraries for ROOT::Experimental::Browsable::TObjectElement:
[legend]

The documentation for this class was generated from the following files: