Provider of different browsing methods for supported classes.
Definition at line 37 of file RProvider.hxx.
Classes | |
class | ClassArg |
class | ProgressHandle |
struct | StructBrowse |
struct | StructClass |
struct | StructDraw6 |
struct | StructDraw7 |
struct | StructFile |
struct | StructProgress |
Public Types | |
using | ProgressFunc_t = std::function< void(float progress, void *handle)> |
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 void | ExtendProgressHandle (void *handle, void *handle2) |
Extend progress handle - to be able react on sub item. | |
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 | ReportProgress (void *handle, float progress) |
Report running progress Returns true if handling function was invoked Method can be used to detect if there any progress handler assigned. | |
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 > |
using | ProgressVect_t = std::vector< StructProgress > |
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 ProgressVect_t & | GetProgressVect () |
Static Private Attributes | |
static BrowseNTupleFunc_t | gNTupleFunc = nullptr |
Friends | |
class | ProgressHandle |
#include <ROOT/Browsable/RProvider.hxx>
|
protected |
Definition at line 96 of file RProvider.hxx.
|
private |
Definition at line 130 of file RProvider.hxx.
|
protected |
Definition at line 97 of file RProvider.hxx.
|
private |
Definition at line 128 of file RProvider.hxx.
|
protected |
Definition at line 98 of file RProvider.hxx.
|
private |
Definition at line 131 of file RProvider.hxx.
|
protected |
Definition at line 99 of file RProvider.hxx.
|
private |
Definition at line 132 of file RProvider.hxx.
|
protected |
Definition at line 95 of file RProvider.hxx.
|
private |
Definition at line 129 of file RProvider.hxx.
using ROOT::Browsable::RProvider::ProgressFunc_t = std::function<void(float progress, void *handle)> |
Definition at line 43 of file RProvider.hxx.
|
private |
Definition at line 133 of file RProvider.hxx.
|
virtual |
Automatically unregister provider from all maps.
Definition at line 82 of file RProvider.cxx.
Create browsable element for the object Created element may take ownership over the object.
Definition at line 273 of file RProvider.cxx.
|
static |
Start browsing of RNTuple.
Definition at line 301 of file RProvider.cxx.
Return true if provided class can be drawn on the TCanvas.
Definition at line 418 of file RProvider.cxx.
Return true if provided class can be drawn on the RCanvas.
Definition at line 432 of file RProvider.cxx.
Return true if provided class can have childs.
Definition at line 401 of file RProvider.cxx.
|
inlineprivate |
Definition at line 146 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 322 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 345 of file RProvider.cxx.
|
static |
Extend progress handle - to be able react on sub item.
Definition at line 479 of file RProvider.cxx.
|
staticprivate |
Definition at line 26 of file RProvider.cxx.
|
static |
Return configured draw option for the class.
Definition at line 379 of file RProvider.cxx.
|
staticprivate |
Definition at line 173 of file RProvider.cxx.
Return icon name for the given class - either class name or TClass *.
Definition at line 367 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.
|
staticprivate |
Definition at line 71 of file RProvider.cxx.
|
static |
Definition at line 199 of file RProvider.cxx.
Check if showing of sub-elements was disabled.
Definition at line 409 of file RProvider.cxx.
|
static |
Definition at line 212 of file RProvider.cxx.
|
protected |
Definition at line 108 of file RProvider.cxx.
|
protected |
Definition at line 155 of file RProvider.cxx.
|
protected |
Definition at line 121 of file RProvider.cxx.
|
protected |
Definition at line 134 of file RProvider.cxx.
|
protected |
Definition at line 95 of file RProvider.cxx.
|
protected |
Definition at line 147 of file RProvider.cxx.
|
static |
Report running progress Returns true if handling function was invoked Method can be used to detect if there any progress handler assigned.
Definition at line 492 of file RProvider.cxx.
Set draw option for the class Return true if entry for the class exists.
Definition at line 388 of file RProvider.cxx.
|
friend |
Definition at line 72 of file RProvider.hxx.
|
staticprivate |
Definition at line 141 of file RProvider.hxx.