Logo ROOT  
Reference Guide
Loading...
Searching...
No Matches
ROOT::Experimental::RAttrMargins Class Reference

A margins attributes. Only relative and pixel coordinates are allowed.

Author
Sergey Linev s.lin.nosp@m.ev@g.nosp@m.si.de
Date
2020-02-20
Warning
This is part of the ROOT 7 prototype! It will change without notice. It might trigger earthquakes. Feedback is welcome!

Definition at line 27 of file RAttrMargins.hxx.

Public Member Functions

 RAttrMargins ()=default
 RAttrMargins (const RAttrMargins &src)
 RAttrMargins (RAttrBase *parent, const char *prefix="margins")
 RAttrMargins (RDrawable *drawable, const char *prefix="margins")
void Clear () override
 Clear all respective values from drawable. Only defaults can be used.
RAttrMarginsoperator= (const RAttrMargins &src)
RAttrMarginsoperator= (const RPadLength &len)

Public Attributes

RAttrValue< RPadLengthbottom {this, "bottom", 0._normal}
 ! bottom margin
RAttrValue< RPadLengthleft {this, "left", 0._normal}
 ! left margin
RAttrValue< RPadLengthright {this, "right", 0._normal}
 ! right margin
RAttrValue< RPadLengthtop {this, "top", 0._normal}
 ! top margin

Protected Member Functions

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 ClearValue (const std::string &name)
 Clear value if any with specified name.
RAttrMap CollectDefaults () const override
 Collect all attributes in derived class Works only if such class has dictionary.
void CopyTo (RAttrAggregation &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.
const RAttrMapGetDefaults () const override
 Return default values for attributes, empty for base class.
RDrawableGetDrawable () const
RAttrMapGetOwnAttr () const
RAttrBaseGetParent () const
const char * GetPrefix () const
bool IsAggregation () const final
bool IsSame (const RAttrAggregation &src, bool use_style=true) const
 Check if all values which are evaluated in this object are exactly the same as in tgt object.
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.
void SetNoValue (const std::string &name)
 Set <NoValue> for attribute.

Private Types

enum  { kDrawable , kParent , kOwnAttr }

Private Member Functions

void ClearData ()
 Clear internal data.
RAttrMapCreateOwnAttr ()
 Creates own attribute - only if no drawable and no parent are assigned.

Private Attributes

const char * fPrefix {nullptr}
 ! name prefix for all attributes values
enum ROOT::Experimental::RAttrBase:: { ... }  kDrawable
 ! kind of data
union { 
   RDrawable *   drawable 
   RAttrMap *   ownattr 
   RAttrBase *   parent 
nullptr
 ! data

#include <ROOT/RAttrMargins.hxx>

Inheritance diagram for ROOT::Experimental::RAttrMargins:
ROOT::Experimental::RAttrAggregation ROOT::Experimental::RAttrBase

Member Enumeration Documentation

◆ anonymous enum

anonymous enum
privateinherited
Enumerator
kDrawable 
kParent 
kOwnAttr 

Definition at line 37 of file RAttrBase.hxx.

Constructor & Destructor Documentation

◆ RAttrMargins() [1/4]

ROOT::Experimental::RAttrMargins::RAttrMargins ( )
default

◆ RAttrMargins() [2/4]

ROOT::Experimental::RAttrMargins::RAttrMargins ( RDrawable * drawable,
const char * prefix = "margins" )
inline

Definition at line 29 of file RAttrMargins.hxx.

◆ RAttrMargins() [3/4]

ROOT::Experimental::RAttrMargins::RAttrMargins ( RAttrBase * parent,
const char * prefix = "margins" )
inline

Definition at line 29 of file RAttrMargins.hxx.

◆ RAttrMargins() [4/4]

ROOT::Experimental::RAttrMargins::RAttrMargins ( const RAttrMargins & src)
inline

Definition at line 29 of file RAttrMargins.hxx.

Member Function Documentation

◆ AccessAttr()

const Rec_t ROOT::Experimental::RAttrBase::AccessAttr ( const std::string & name) const
inlineprotectedinherited

Find attributes container and full-qualified name for value.

Definition at line 70 of file RAttrBase.hxx.

◆ AccessValue()

const Val_t ROOT::Experimental::RAttrBase::AccessValue ( const std::string & name,
bool use_style = true ) const
inlineprotectedinherited

Search value with given name in attributes.

Definition at line 95 of file RAttrBase.hxx.

◆ Clear()

void RAttrAggregation::Clear ( )
overridevirtualinherited

Clear all respective values from drawable. Only defaults can be used.

Implements ROOT::Experimental::RAttrBase.

Definition at line 118 of file RAttrAggregation.cxx.

◆ ClearData()

void RAttrBase::ClearData ( )
privateinherited

Clear internal data.

Definition at line 26 of file RAttrBase.cxx.

◆ ClearValue()

void RAttrBase::ClearValue ( const std::string & name)
protectedinherited

Clear value if any with specified name.

Definition at line 54 of file RAttrBase.cxx.

◆ CollectDefaults()

RAttrMap RAttrAggregation::CollectDefaults ( ) const
overrideprotectedvirtualinherited

Collect all attributes in derived class Works only if such class has dictionary.

In special cases one has to provide special implementation directly

Implements ROOT::Experimental::RAttrBase.

Definition at line 37 of file RAttrAggregation.cxx.

◆ CopyTo()

void RAttrAggregation::CopyTo ( RAttrAggregation & tgt,
bool use_style = true ) const
protectedinherited

Copy attributes into target object.

Definition at line 60 of file RAttrAggregation.cxx.

◆ CopyValue()

bool RAttrAggregation::CopyValue ( const std::string & name,
const RAttrMap::Value_t & value,
bool check_type = true )
protectedinherited

Copy attributes from other object.

Definition at line 71 of file RAttrAggregation.cxx.

◆ CreateOwnAttr()

RAttrMap * RAttrBase::CreateOwnAttr ( )
privateinherited

Creates own attribute - only if no drawable and no parent are assigned.

Definition at line 37 of file RAttrBase.cxx.

◆ EnsureAttr()

Rec_t ROOT::Experimental::RAttrBase::EnsureAttr ( const std::string & name)
inlineprotectedinherited

Ensure attribute with give name exists - creates container for attributes if required.

Definition at line 112 of file RAttrBase.hxx.

◆ GetDefaults()

const RAttrMap & ROOT::Experimental::RAttrMargins::GetDefaults ( ) const
inlineoverrideprotectedvirtual

Return default values for attributes, empty for base class.

Reimplemented from ROOT::Experimental::RAttrAggregation.

Definition at line 29 of file RAttrMargins.hxx.

◆ GetDrawable()

RDrawable * ROOT::Experimental::RAttrBase::GetDrawable ( ) const
inlineprotectedinherited

Definition at line 52 of file RAttrBase.hxx.

◆ GetOwnAttr()

RAttrMap * ROOT::Experimental::RAttrBase::GetOwnAttr ( ) const
inlineprotectedinherited

Definition at line 54 of file RAttrBase.hxx.

◆ GetParent()

RAttrBase * ROOT::Experimental::RAttrBase::GetParent ( ) const
inlineprotectedinherited

Definition at line 53 of file RAttrBase.hxx.

◆ GetPrefix()

const char * ROOT::Experimental::RAttrBase::GetPrefix ( ) const
inlineprotectedinherited

Definition at line 153 of file RAttrBase.hxx.

◆ IsAggregation()

bool ROOT::Experimental::RAttrAggregation::IsAggregation ( ) const
inlinefinalprotectedvirtualinherited

Reimplemented from ROOT::Experimental::RAttrBase.

Definition at line 33 of file RAttrAggregation.hxx.

◆ IsSame()

bool RAttrAggregation::IsSame ( const RAttrAggregation & src,
bool use_style = true ) const
protectedinherited

Check if all values which are evaluated in this object are exactly the same as in tgt object.

Definition at line 103 of file RAttrAggregation.cxx.

◆ IsValueEqual()

bool RAttrAggregation::IsValueEqual ( const std::string & name,
const RAttrMap::Value_t & value,
bool use_style = false ) const
protectedinherited

Check if provided value equal to attribute in the map.

Definition at line 91 of file RAttrAggregation.cxx.

◆ MoveTo()

void RAttrBase::MoveTo ( RAttrBase & tgt)
protectedinherited

Move all fields into target object.

Definition at line 73 of file RAttrBase.cxx.

◆ operator=() [1/2]

RAttrMargins & ROOT::Experimental::RAttrMargins::operator= ( const RAttrMargins & src)
inline

Definition at line 29 of file RAttrMargins.hxx.

◆ operator=() [2/2]

RAttrMargins & ROOT::Experimental::RAttrMargins::operator= ( const RPadLength & len)
inline

Definition at line 38 of file RAttrMargins.hxx.

◆ SetNoValue()

void RAttrBase::SetNoValue ( const std::string & name)
protectedinherited

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 64 of file RAttrBase.cxx.

Member Data Documentation

◆ bottom

RAttrValue<RPadLength> ROOT::Experimental::RAttrMargins::bottom {this, "bottom", 0._normal}

! bottom margin

Definition at line 36 of file RAttrMargins.hxx.

◆ drawable

RDrawable* ROOT::Experimental::RAttrBase::drawable
inherited

Definition at line 40 of file RAttrBase.hxx.

◆ fPrefix

const char* ROOT::Experimental::RAttrBase::fPrefix {nullptr}
privateinherited

! name prefix for all attributes values

Definition at line 45 of file RAttrBase.hxx.

◆ []

enum { ... } ROOT::Experimental::RAttrBase::kDrawable

! kind of data

◆ left

RAttrValue<RPadLength> ROOT::Experimental::RAttrMargins::left {this, "left", 0._normal}

! left margin

Definition at line 33 of file RAttrMargins.hxx.

◆ [union]

union { ... } ROOT::Experimental::RAttrBase::nullptr

! data

◆ ownattr

RAttrMap* ROOT::Experimental::RAttrBase::ownattr
inherited

Definition at line 42 of file RAttrBase.hxx.

◆ parent

RAttrBase* ROOT::Experimental::RAttrBase::parent
inherited

Definition at line 41 of file RAttrBase.hxx.

◆ right

RAttrValue<RPadLength> ROOT::Experimental::RAttrMargins::right {this, "right", 0._normal}

! right margin

Definition at line 34 of file RAttrMargins.hxx.

◆ top

RAttrValue<RPadLength> ROOT::Experimental::RAttrMargins::top {this, "top", 0._normal}

! top margin

Definition at line 35 of file RAttrMargins.hxx.


The documentation for this class was generated from the following file: