Base class for all attributes, used with RDrawable.
Definition at line 31 of file RAttrBase.hxx.
Classes | |
struct | Rec_t |
struct | Val_t |
Public Member Functions | |
RAttrBase ()=default | |
virtual | ~RAttrBase ()=default |
Protected Member Functions | |
RAttrBase (const RAttrBase &src) | |
RAttrBase (RAttrBase *parent, const std::string &prefix) | |
RAttrBase (RDrawable *drawable, const std::string &prefix) | |
const Rec_t | AccessAttr (const std::string &name) const |
Find attributes container and full-qualified name for value. | |
const Val_t | AccessValue (const std::string &name, bool use_style=true) const |
Search value with given name in attributes. | |
void | AssignDrawable (RDrawable *drawable, const std::string &prefix) |
Return value from attributes container - no style or defaults are used. | |
void | AssignParent (RAttrBase *parent, const std::string &prefix) |
Assign parent object for this RAttrBase. | |
void | Clear () |
Clear all respective values from drawable. Only defaults can be used. | |
void | ClearValue (const std::string &name) |
Clear value if any with specified name. | |
virtual RAttrMap | CollectDefaults () const |
Collect all attributes in derived class Works only if such class has dictionary. | |
void | CopyTo (RAttrBase &tgt, bool use_style=true) const |
Copy attributes into target object. | |
bool | CopyValue (const std::string &name, const RAttrMap::Value_t &value, bool check_type=true) |
Copy attributes from other object. | |
Rec_t | EnsureAttr (const std::string &name) |
Ensure attribute with give name exists - creates container for attributes if required. | |
template<typename RET_TYPE , typename MATCH_TYPE = void> | |
auto | Eval (const std::string &name, bool use_dflts=true) const |
Evaluate attribute value. | |
virtual const RAttrMap & | GetDefaults () const |
Return default values for attributes, empty for base class. | |
const std::string & | GetPrefix () const |
template<typename T > | |
T | GetValue (const std::string &name) const |
template<typename T = void> | |
bool | HasValue (const std::string &name, bool check_defaults=false) const |
bool | IsSame (const RAttrBase &src, bool use_style=true) const |
Check if all values which are evaluated in this object are exactly the same as in tgt object. | |
virtual bool | IsValue () const |
bool | IsValueEqual (const std::string &name, const RAttrMap::Value_t &value, bool use_style=false) const |
Check if provided value equal to attribute in the map. | |
void | MoveTo (RAttrBase &tgt) |
Move all fields into target object. | |
RAttrBase & | operator= (const RAttrBase &src) |
void | SetNoValue (const std::string &name) |
Set <NoValue> for attribute. | |
void | SetValue (const std::string &name, bool value) |
Set boolean value. | |
void | SetValue (const std::string &name, const RPadLength &value) |
Set PadLength value. | |
void | SetValue (const std::string &name, const std::string &value) |
Set string value. | |
void | SetValue (const std::string &name, double value) |
Set double value. | |
void | SetValue (const std::string &name, int value) |
Set integer value. | |
Private Attributes | |
RDrawable * | fDrawable {nullptr} |
! drawable used to store attributes | |
std::unique_ptr< RAttrMap > | fOwnAttr |
own instance when deep copy is created, persistent for RColor and similar classes | |
RAttrBase * | fParent {nullptr} |
! parent attributes, prefix applied to it | |
std::string | fPrefix |
! name prefix for all attributes values | |
Friends | |
bool | operator!= (const RAttrBase &lhs, const RAttrBase &rhs) |
bool | operator== (const RAttrBase &lhs, const RAttrBase &rhs) |
class | RAttrMap |
#include <ROOT/RAttrBase.hxx>
|
inlineprotected |
Definition at line 140 of file RAttrBase.hxx.
|
inlineprotected |
Definition at line 142 of file RAttrBase.hxx.
|
inlineprotected |
Definition at line 144 of file RAttrBase.hxx.
|
default |
|
virtualdefault |
|
inlineprotected |
Find attributes container and full-qualified name for value.
Definition at line 62 of file RAttrBase.hxx.
|
inlineprotected |
Search value with given name in attributes.
Definition at line 84 of file RAttrBase.hxx.
|
protected |
Return value from attributes container - no style or defaults are used.
Definition at line 100 of file RAttrBase.cxx.
|
protected |
Assign parent object for this RAttrBase.
Definition at line 112 of file RAttrBase.cxx.
|
protected |
Clear all respective values from drawable. Only defaults can be used.
Definition at line 190 of file RAttrBase.cxx.
|
protected |
Clear value if any with specified name.
Definition at line 124 of file RAttrBase.cxx.
|
protectedvirtual |
Collect all attributes in derived class Works only if such class has dictionary.
In special cases one has to provide implementation - see RAttrColor::CollectDefaults() example
Reimplemented in ROOT::Experimental::RAttrColor.
Definition at line 202 of file RAttrBase.cxx.
|
protected |
Copy attributes into target object.
Definition at line 66 of file RAttrBase.cxx.
|
protected |
Copy attributes from other object.
Definition at line 36 of file RAttrBase.cxx.
|
inlineprotected |
Ensure attribute with give name exists - creates container for attributes if required.
Definition at line 101 of file RAttrBase.hxx.
|
inlineprotected |
Evaluate attribute value.
Definition at line 121 of file RAttrBase.hxx.
|
protectedvirtual |
Return default values for attributes, empty for base class.
Reimplemented in ROOT::Experimental::RAttrValue< T >, ROOT::Experimental::RAttrValue< bool >, ROOT::Experimental::RAttrValue< double >, ROOT::Experimental::RAttrValue< int >, and ROOT::Experimental::RAttrValue< ROOT::Experimental::RPadLength >.
Definition at line 27 of file RAttrBase.cxx.
|
inlineprotected |
Definition at line 160 of file RAttrBase.hxx.
|
inlineprotected |
Definition at line 174 of file RAttrBase.hxx.
|
inlineprotected |
Definition at line 167 of file RAttrBase.hxx.
|
protected |
Check if all values which are evaluated in this object are exactly the same as in tgt object.
Definition at line 88 of file RAttrBase.cxx.
|
inlineprotectedvirtual |
Reimplemented in ROOT::Experimental::RAttrValue< T >, ROOT::Experimental::RAttrValue< bool >, ROOT::Experimental::RAttrValue< double >, ROOT::Experimental::RAttrValue< int >, and ROOT::Experimental::RAttrValue< ROOT::Experimental::RPadLength >.
Definition at line 181 of file RAttrBase.hxx.
|
protected |
Check if provided value equal to attribute in the map.
Definition at line 55 of file RAttrBase.cxx.
Move all fields into target object.
Definition at line 77 of file RAttrBase.cxx.
Definition at line 146 of file RAttrBase.hxx.
|
protected |
Set <NoValue> for attribute.
Ensure that value can not be configured via style - defaults will be used Equivalent to css syntax { attrname:; }
Definition at line 134 of file RAttrBase.cxx.
Set boolean value.
Definition at line 143 of file RAttrBase.cxx.
|
protected |
Set PadLength value.
Definition at line 179 of file RAttrBase.cxx.
|
protected |
Set string value.
Definition at line 170 of file RAttrBase.cxx.
Set double value.
Definition at line 161 of file RAttrBase.cxx.
Set integer value.
Definition at line 152 of file RAttrBase.cxx.
Definition at line 189 of file RAttrBase.hxx.
Definition at line 188 of file RAttrBase.hxx.
|
friend |
Definition at line 33 of file RAttrBase.hxx.
|
private |
! drawable used to store attributes
Definition at line 35 of file RAttrBase.hxx.
|
private |
own instance when deep copy is created, persistent for RColor and similar classes
Definition at line 36 of file RAttrBase.hxx.
|
private |
! parent attributes, prefix applied to it
Definition at line 38 of file RAttrBase.hxx.
|
private |
! name prefix for all attributes values
Definition at line 37 of file RAttrBase.hxx.