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 | 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 std::shared_ptr< RElement > | OpenFile (const std::string &extension, const std::string &fullname) |
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="") |
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 const 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 72 of file RProvider.hxx.
|
private |
Definition at line 103 of file RProvider.hxx.
|
protected |
Definition at line 73 of file RProvider.hxx.
|
private |
Definition at line 101 of file RProvider.hxx.
|
protected |
Definition at line 74 of file RProvider.hxx.
|
private |
Definition at line 104 of file RProvider.hxx.
|
protected |
Definition at line 75 of file RProvider.hxx.
|
private |
Definition at line 105 of file RProvider.hxx.
|
protected |
Definition at line 71 of file RProvider.hxx.
|
private |
Definition at line 102 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 268 of file RProvider.cxx.
|
static |
Start browsing of RNTuple.
Definition at line 296 of file RProvider.cxx.
Return true if provided class can be drawn on the TCanvas.
Definition at line 383 of file RProvider.cxx.
Return true if provided class can be drawn on the RCanvas.
Definition at line 397 of file RProvider.cxx.
Return true if provided class can have childs.
Definition at line 375 of file RProvider.cxx.
|
inlineprivate |
Definition at line 117 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 317 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 340 of file RProvider.cxx.
|
staticprivate |
Definition at line 26 of file RProvider.cxx.
|
staticprivate |
Definition at line 167 of file RProvider.cxx.
Return icon name for the given class - either class name or TClass *.
Definition at line 362 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 193 of file RProvider.cxx.
|
static |
Definition at line 206 of file RProvider.cxx.
|
protected |
Definition at line 101 of file RProvider.cxx.
|
protected |
Definition at line 150 of file RProvider.cxx.
|
protected |
Definition at line 115 of file RProvider.cxx.
|
protected |
Definition at line 128 of file RProvider.cxx.
|
protected |
Definition at line 88 of file RProvider.cxx.
|
protected |
Definition at line 141 of file RProvider.cxx.
|
staticprivate |
Definition at line 112 of file RProvider.hxx.