Provider of different browsing methods for supported classes.
Definition at line 36 of file RProvider.hxx.
Classes | |
class | ClassArg |
struct | StructBrowse |
struct | StructClass |
struct | StructDraw6 |
struct | StructDraw7 |
struct | StructFile |
Public Member Functions | |
virtual | ~RProvider () |
Automatically unregister provider from all maps. | |
Static Public Member Functions | |
static std::shared_ptr< RElement > | Browse (std::unique_ptr< RHolder > &obj) |
Create browsable element for the object Created element may take ownership over the object. | |
static std::shared_ptr< RElement > | BrowseNTuple (const std::string &tuplename, const std::string &filename) |
Start browsing of RNTuple. | |
static bool | CanDraw6 (const ClassArg &) |
Return true if provided class can be drawn on the TCanvas. | |
static bool | CanDraw7 (const ClassArg &) |
Return true if provided class can be drawn on the RCanvas. | |
static bool | CanHaveChilds (const ClassArg &) |
Return true if provided class can have childs. | |
static bool | Draw6 (TVirtualPad *subpad, std::unique_ptr< RHolder > &obj, const std::string &opt="") |
Invoke drawing of object on TCanvas sub-pad All existing providers are checked, first checked are class matches (including direct parents) | |
static bool | Draw7 (std::shared_ptr< ROOT::Experimental::RPadBase > &subpad, std::unique_ptr< RHolder > &obj, const std::string &opt="") |
Invoke drawing of object on RCanvas sub-pad All existing providers are checked, first checked are class matches (including direct parents) | |
static std::string | GetClassDrawOption (const ClassArg &) |
Return configured draw option for the class. | |
static std::string | GetClassIcon (const ClassArg &, bool=false) |
Return icon name for the given class - either class name or TClass *. | |
static bool | IsFileFormatSupported (const std::string &extension) |
static bool | NotShowChilds (const ClassArg &) |
Check if showing of sub-elements was disabled. | |
static std::shared_ptr< RElement > | OpenFile (const std::string &extension, const std::string &fullname) |
static bool | SetClassDrawOption (const ClassArg &, const std::string &) |
Set draw option for the class Return true if entry for the class exists. | |
Protected Types | |
using | BrowseFunc_t = std::function< std::shared_ptr< RElement >(std::unique_ptr< RHolder > &)> |
using | BrowseNTupleFunc_t = std::function< std::shared_ptr< RElement >(const std::string &, const std::string &)> |
using | Draw6Func_t = std::function< bool(TVirtualPad *, std::unique_ptr< RHolder > &, const std::string &)> |
using | Draw7Func_t = std::function< bool(std::shared_ptr< ROOT::Experimental::RPadBase > &, std::unique_ptr< RHolder > &, const std::string &)> |
using | FileFunc_t = std::function< std::shared_ptr< RElement >(const std::string &)> |
Protected Member Functions | |
void | RegisterBrowse (const TClass *cl, BrowseFunc_t func) |
void | RegisterClass (const std::string &clname, const std::string &iconname, const std::string &browselib="", const std::string &draw6lib="", const std::string &draw7lib="", const std::string &drawopt="") |
void | RegisterDraw6 (const TClass *cl, Draw6Func_t func) |
void | RegisterDraw7 (const TClass *cl, Draw7Func_t func) |
void | RegisterFile (const std::string &extension, FileFunc_t func) |
void | RegisterNTupleFunc (BrowseNTupleFunc_t func) |
Private Types | |
using | BrowseMap_t = std::multimap< const TClass *, StructBrowse > |
using | ClassMap_t = std::multimap< std::string, StructClass > |
using | Draw6Map_t = std::multimap< const TClass *, StructDraw6 > |
using | Draw7Map_t = std::multimap< const TClass *, StructDraw7 > |
using | FileMap_t = std::multimap< std::string, StructFile > |
Private Member Functions | |
template<class Map_t > | |
void | CleanThis (Map_t &fmap) |
Static Private Member Functions | |
static BrowseMap_t & | GetBrowseMap () |
static StructClass & | GetClassEntry (const ClassArg &) |
static ClassMap_t & | GetClassMap () |
static Draw6Map_t & | GetDraw6Map () |
static Draw7Map_t & | GetDraw7Map () |
static FileMap_t & | GetFileMap () |
Static Private Attributes | |
static BrowseNTupleFunc_t | gNTupleFunc = nullptr |
#include <ROOT/Browsable/RProvider.hxx>
|
protected |
Definition at line 76 of file RProvider.hxx.
|
private |
Definition at line 108 of file RProvider.hxx.
|
protected |
Definition at line 77 of file RProvider.hxx.
|
private |
Definition at line 106 of file RProvider.hxx.
|
protected |
Definition at line 78 of file RProvider.hxx.
|
private |
Definition at line 109 of file RProvider.hxx.
|
protected |
Definition at line 79 of file RProvider.hxx.
|
private |
Definition at line 110 of file RProvider.hxx.
|
protected |
Definition at line 75 of file RProvider.hxx.
|
private |
Definition at line 107 of file RProvider.hxx.
|
virtual |
Automatically unregister provider from all maps.
Definition at line 75 of file RProvider.cxx.
Create browsable element for the object Created element may take ownership over the object.
Definition at line 266 of file RProvider.cxx.
|
static |
Start browsing of RNTuple.
Definition at line 294 of file RProvider.cxx.
Return true if provided class can be drawn on the TCanvas.
Definition at line 411 of file RProvider.cxx.
Return true if provided class can be drawn on the RCanvas.
Definition at line 425 of file RProvider.cxx.
Return true if provided class can have childs.
Definition at line 394 of file RProvider.cxx.
|
inlineprivate |
Definition at line 122 of file RProvider.hxx.
|
static |
Invoke drawing of object on TCanvas sub-pad All existing providers are checked, first checked are class matches (including direct parents)
Definition at line 315 of file RProvider.cxx.
|
static |
Invoke drawing of object on RCanvas sub-pad All existing providers are checked, first checked are class matches (including direct parents)
Definition at line 338 of file RProvider.cxx.
|
staticprivate |
Definition at line 26 of file RProvider.cxx.
|
static |
Return configured draw option for the class.
Definition at line 372 of file RProvider.cxx.
|
staticprivate |
Definition at line 166 of file RProvider.cxx.
Return icon name for the given class - either class name or TClass *.
Definition at line 360 of file RProvider.cxx.
|
staticprivate |
Definition at line 62 of file RProvider.cxx.
|
staticprivate |
Definition at line 44 of file RProvider.cxx.
|
staticprivate |
Definition at line 53 of file RProvider.cxx.
|
staticprivate |
Definition at line 35 of file RProvider.cxx.
|
static |
Definition at line 192 of file RProvider.cxx.
Check if showing of sub-elements was disabled.
Definition at line 402 of file RProvider.cxx.
|
static |
Definition at line 205 of file RProvider.cxx.
|
protected |
Definition at line 101 of file RProvider.cxx.
|
protected |
Definition at line 148 of file RProvider.cxx.
|
protected |
Definition at line 114 of file RProvider.cxx.
|
protected |
Definition at line 127 of file RProvider.cxx.
|
protected |
Definition at line 88 of file RProvider.cxx.
|
protected |
Definition at line 140 of file RProvider.cxx.
Set draw option for the class Return true if entry for the class exists.
Definition at line 381 of file RProvider.cxx.
|
staticprivate |
Definition at line 117 of file RProvider.hxx.