Provides v7 drawing facilities for TObject types (TGraph, TH1, TH2, etc).
Definition at line 37 of file TObjectDrawable.hxx.
Public Types | |
enum | EKind { kColors = 4 , kStyle = 5 , kPalette = 6 } |
Public Types inherited from ROOT::Experimental::RDrawable | |
using | Version_t = uint64_t |
Public Member Functions | |
TObjectDrawable () | |
Default constructor. | |
TObjectDrawable (const std::shared_ptr< TObject > &obj) | |
Constructor. | |
TObjectDrawable (const std::shared_ptr< TObject > &obj, const std::string &opt) | |
Constructor. | |
TObjectDrawable (EKind kind, bool persistent=false) | |
Creates special kind for for palette or list of colors One can create persistent, which does not updated to actual values. | |
TObjectDrawable (TObject *obj, bool isowner=false) | |
Constructor, can take ownership over the object is isowner specified. | |
TObjectDrawable (TObject *obj, const std::string &opt, bool isowner=false) | |
Constructor, can take ownership over the object is isowner specified. | |
~TObjectDrawable () override | |
Destructor. | |
const TObject * | Get () |
Return assigned object. | |
void | Reset () |
Reset object. | |
void | Set (TObject *obj, bool isowner=false) |
Set object. | |
void | Set (TObject *obj, const std::string &opt, bool isowner=false) |
Set object. | |
Public Member Functions inherited from ROOT::Experimental::RDrawable | |
RDrawable (const char *csstype) | |
virtual | ~RDrawable () |
void | ClearStyle () |
const std::string & | GetCssClass () const |
const char * | GetCssType () const |
const std::string & | GetId () const |
void | SetCssClass (const std::string &cl) |
void | SetId (const std::string &id) |
virtual void | UseStyle (const std::shared_ptr< RStyle > &style) |
Public Attributes | |
RAttrFill | fill {this, "fill"} |
! object fill attributes | |
RAttrLine | line {this, "line"} |
! object line attributes | |
RAttrMarker | marker {this, "marker"} |
! object marker attributes | |
RAttrValue< std::string > | options {this, "options"} |
! object draw options | |
RAttrText | text {this, "text"} |
! object text attributes | |
Protected Member Functions | |
void | CollectShared (Internal::RIOSharedVector_t &vect) final |
std::unique_ptr< RDisplayItem > | Display (const RDisplayContext &) override |
Create display item which will be delivered to the client. | |
void | Execute (const std::string &) final |
Execute object method. | |
void | PopulateMenu (RMenuItems &) final |
fill context menu items for the ROOT class | |
Protected Member Functions inherited from ROOT::Experimental::RDrawable | |
RDrawable (const RDrawable &)=delete | |
RAttrMap & | GetAttrMap () |
const RAttrMap & | GetAttrMap () const |
Version_t | GetVersion () const |
virtual bool | IsFrameRequired () const |
bool | MatchSelector (const std::string &selector) const |
Preliminary method which checks if drawable matches with given selector Following selector are allowed: "type" or "#id" or ".class_name" Here type is drawable kind like 'rect' or 'pad' id is drawable identifier, specified with RDrawable::SetId() method class_name is drawable class name, specified with RDrawable::SetCssClass() method. | |
virtual void | OnDisplayItemDestroyed (RDisplayItem *) const |
RDrawable & | operator= (const RDrawable &)=delete |
void | SetCssType (const char *csstype) |
virtual void | SetDrawableVersion (Version_t vers) |
Static Protected Member Functions | |
static void | CheckOwnership (TObject *obj) |
Checks object ownership - used for TH1 directory handling and TF1 globals lists. | |
static const char * | DetectCssType (const TObject *obj) |
Provide css type. | |
static void | ExtractObjectColors (std::unique_ptr< TObjectDisplayItem > &item, const TObject *obj) |
Check if object has specified color value and store it in display item Ensure that color matches on client side too. | |
Private Types | |
enum | { kNone = 0 , kObject = 1 } |
Private Member Functions | |
std::unique_ptr< TObject > | CreateSpecials (int kind) |
Create instance of requested special object. | |
Static Private Member Functions | |
static std::string | GetColorCode (TColor *col) |
Convert TColor to RGB string for using with SVG. | |
Private Attributes | |
const TObject * | fExtObj {nullptr} |
! external object, managed outside of the drawable, not persistent | |
int | fKind {kNone} |
object kind | |
Internal::RIOShared< TObject > | fObj |
The object to be painted, owned by the drawable. | |
#include <ROOT/TObjectDrawable.hxx>
|
private |
Enumerator | |
---|---|
kNone | empty container |
kObject | plain object |
Definition at line 40 of file TObjectDrawable.hxx.
Enumerator | |
---|---|
kColors | list of ROOT colors |
kStyle | instance of TStyle object |
kPalette | list of colors from palette |
Definition at line 71 of file TObjectDrawable.hxx.
TObjectDrawable::TObjectDrawable | ( | ) |
Default constructor.
Definition at line 66 of file TObjectDrawable.cxx.
Constructor, can take ownership over the object is isowner specified.
Definition at line 73 of file TObjectDrawable.cxx.
Constructor, can take ownership over the object is isowner specified.
Definition at line 87 of file TObjectDrawable.cxx.
TObjectDrawable::TObjectDrawable | ( | const std::shared_ptr< TObject > & | obj | ) |
Constructor.
Definition at line 95 of file TObjectDrawable.cxx.
TObjectDrawable::TObjectDrawable | ( | const std::shared_ptr< TObject > & | obj, |
const std::string & | opt | ||
) |
Constructor.
Definition at line 106 of file TObjectDrawable.cxx.
Creates special kind for for palette or list of colors One can create persistent, which does not updated to actual values.
Definition at line 115 of file TObjectDrawable.cxx.
|
overridedefault |
Destructor.
|
staticprotected |
Checks object ownership - used for TH1 directory handling and TF1 globals lists.
Definition at line 35 of file TObjectDrawable.cxx.
|
inlinefinalprotectedvirtual |
Reimplemented from ROOT::Experimental::RDrawable.
Definition at line 55 of file TObjectDrawable.hxx.
Create instance of requested special object.
Definition at line 197 of file TObjectDrawable.cxx.
|
staticprotected |
Provide css type.
Definition at line 49 of file TObjectDrawable.cxx.
|
overrideprotectedvirtual |
Create display item which will be delivered to the client.
Reimplemented from ROOT::Experimental::RDrawable.
Definition at line 282 of file TObjectDrawable.cxx.
|
finalprotectedvirtual |
Execute object method.
Reimplemented from ROOT::Experimental::RDrawable.
Definition at line 353 of file TObjectDrawable.cxx.
|
staticprotected |
Check if object has specified color value and store it in display item Ensure that color matches on client side too.
Definition at line 239 of file TObjectDrawable.cxx.
const TObject * TObjectDrawable::Get | ( | ) |
Return assigned object.
Definition at line 143 of file TObjectDrawable.cxx.
|
staticprivate |
Convert TColor to RGB string for using with SVG.
Definition at line 185 of file TObjectDrawable.cxx.
|
finalprotectedvirtual |
fill context menu items for the ROOT class
Reimplemented from ROOT::Experimental::RDrawable.
Definition at line 324 of file TObjectDrawable.cxx.
void TObjectDrawable::Reset | ( | ) |
Reset object.
Definition at line 132 of file TObjectDrawable.cxx.
Set object.
Definition at line 158 of file TObjectDrawable.cxx.
Set object.
Definition at line 176 of file TObjectDrawable.cxx.
|
private |
! external object, managed outside of the drawable, not persistent
Definition at line 47 of file TObjectDrawable.hxx.
RAttrFill ROOT::Experimental::TObjectDrawable::fill {this, "fill"} |
! object fill attributes
Definition at line 78 of file TObjectDrawable.hxx.
object kind
Definition at line 45 of file TObjectDrawable.hxx.
|
private |
The object to be painted, owned by the drawable.
Definition at line 46 of file TObjectDrawable.hxx.
RAttrLine ROOT::Experimental::TObjectDrawable::line {this, "line"} |
! object line attributes
Definition at line 77 of file TObjectDrawable.hxx.
RAttrMarker ROOT::Experimental::TObjectDrawable::marker {this, "marker"} |
! object marker attributes
Definition at line 79 of file TObjectDrawable.hxx.
RAttrValue<std::string> ROOT::Experimental::TObjectDrawable::options {this, "options"} |
! object draw options
Definition at line 81 of file TObjectDrawable.hxx.
RAttrText ROOT::Experimental::TObjectDrawable::text {this, "text"} |
! object text attributes
Definition at line 80 of file TObjectDrawable.hxx.