Base class for all attributes, used with RDrawable.
Definition at line 27 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. More... | |
const Val_t | AccessValue (const std::string &name, bool use_style=true) const |
Search value with given name in attributes. More... | |
void | AssignDrawable (RDrawable *drawable, const std::string &prefix) |
Return value from attributes container - no style or defaults are used. More... | |
void | AssignParent (RAttrBase *parent, const std::string &prefix) |
Assign parent object for this RAttrBase. More... | |
void | Clear () |
Clear all respective values from drawable. Only defaults can be used. More... | |
void | ClearValue (const std::string &name) |
Clear value if any with specified name. More... | |
void | CopyTo (RAttrBase &tgt, bool use_style=true) const |
Copy attributes into target object. More... | |
bool | CopyValue (const std::string &name, const RAttrMap::Value_t &value, bool check_type=true) |
Copy attributes from other object. More... | |
Rec_t | EnsureAttr (const std::string &name) |
Ensure attribute with give name exists - creates container for attributes if required. More... | |
template<typename RET_TYPE , typename MATCH_TYPE = void> | |
auto | Eval (const std::string &name, bool use_dflts=true) const |
Evaluate attribute value. More... | |
virtual const RAttrMap & | GetDefaults () const |
Return default values for attributes, empty for base class. More... | |
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. More... | |
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. More... | |
void | MoveTo (RAttrBase &tgt) |
Move all fields into target object. More... | |
RAttrBase & | operator= (const RAttrBase &src) |
void | SetNoValue (const std::string &name) |
Set <NoValue> for attribute. More... | |
void | SetValue (const std::string &name, bool value) |
Set boolean value. More... | |
void | SetValue (const std::string &name, const RPadLength &value) |
Set PadLength value. More... | |
void | SetValue (const std::string &name, const std::string &value) |
Set string value. More... | |
void | SetValue (const std::string &name, double value) |
Set double value. More... | |
void | SetValue (const std::string &name, int value) |
Set integer value. More... | |
Private Attributes | |
RDrawable * | fDrawable {nullptr} |
! drawable used to store attributes More... | |
std::unique_ptr< RAttrMap > | fOwnAttr |
own instance when deep copy is created, persistent for RColor and similar classes More... | |
RAttrBase * | fParent {nullptr} |
! parent attributes, prefix applied to it More... | |
std::string | fPrefix |
! name prefix for all attributes values More... | |
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 136 of file RAttrBase.hxx.
|
inlineprotected |
Definition at line 138 of file RAttrBase.hxx.
|
inlineprotected |
Definition at line 140 of file RAttrBase.hxx.
|
default |
|
virtualdefault |
|
inlineprotected |
Find attributes container and full-qualified name for value.
Definition at line 58 of file RAttrBase.hxx.
|
inlineprotected |
Search value with given name in attributes.
Definition at line 80 of file RAttrBase.hxx.
|
protected |
Return value from attributes container - no style or defaults are used.
Definition at line 92 of file RAttrBase.cxx.
|
protected |
Assign parent object for this RAttrBase.
Definition at line 103 of file RAttrBase.cxx.
|
protected |
Clear all respective values from drawable. Only defaults can be used.
Definition at line 180 of file RAttrBase.cxx.
|
protected |
Clear value if any with specified name.
Definition at line 114 of file RAttrBase.cxx.
|
protected |
Copy attributes into target object.
Definition at line 58 of file RAttrBase.cxx.
|
protected |
Copy attributes from other object.
Definition at line 28 of file RAttrBase.cxx.
|
inlineprotected |
Ensure attribute with give name exists - creates container for attributes if required.
Definition at line 97 of file RAttrBase.hxx.
|
inlineprotected |
Evaluate attribute value.
Definition at line 117 of file RAttrBase.hxx.
|
protectedvirtual |
Return default values for attributes, empty for base class.
Definition at line 19 of file RAttrBase.cxx.
|
inlineprotected |
Definition at line 156 of file RAttrBase.hxx.
|
inlineprotected |
Definition at line 170 of file RAttrBase.hxx.
|
inlineprotected |
Definition at line 163 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 80 of file RAttrBase.cxx.
|
protected |
Check if provided value equal to attribute in the map.
Definition at line 47 of file RAttrBase.cxx.
Move all fields into target object.
Definition at line 69 of file RAttrBase.cxx.
Definition at line 142 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 124 of file RAttrBase.cxx.
Set boolean value.
Definition at line 133 of file RAttrBase.cxx.
|
protected |
Set PadLength value.
Definition at line 169 of file RAttrBase.cxx.
|
protected |
Set string value.
Definition at line 160 of file RAttrBase.cxx.
Set double value.
Definition at line 151 of file RAttrBase.cxx.
Set integer value.
Definition at line 142 of file RAttrBase.cxx.
Definition at line 181 of file RAttrBase.hxx.
Definition at line 180 of file RAttrBase.hxx.
|
friend |
Definition at line 29 of file RAttrBase.hxx.
|
private |
! drawable used to store attributes
Definition at line 31 of file RAttrBase.hxx.
|
private |
own instance when deep copy is created, persistent for RColor and similar classes
Definition at line 32 of file RAttrBase.hxx.
|
private |
! parent attributes, prefix applied to it
Definition at line 34 of file RAttrBase.hxx.
|
private |
! name prefix for all attributes values
Definition at line 33 of file RAttrBase.hxx.