Ardour  9.0-pre0-582-g084a23a80d
PBD::PropertyBase Class Referenceabstract

#include <property_basics.h>

Inheritance diagram for PBD::PropertyBase:
[legend]

Public Member Functions

 PropertyBase (PropertyID pid)
 
virtual ~PropertyBase ()
 
virtual bool set_value (XMLNode const &)=0
 
virtual void get_value (XMLNode &node) const =0
 
virtual void clear_changes ()=0
 
virtual void clear_owned_changes ()
 
virtual bool changed () const =0
 
virtual void invert ()=0
 
virtual void get_changes_as_xml (XMLNode *) const =0
 
virtual void get_changes_as_properties (PropertyList &changes, Command *) const =0
 
virtual void rdiff (std::vector< PBD::Command * > &) const
 
virtual PropertyBaseclone_from_xml (const XMLNode &) const
 
virtual PropertyBaseclone () const =0
 
virtual void apply_change (PropertyBase const *)=0
 
const gchar * property_name () const
 
PropertyID property_id () const
 
bool operator== (PropertyID pid) const
 

Protected Member Functions

 PropertyBase (PropertyBase const &b)
 

Private Attributes

PropertyID _property_id
 

Detailed Description

Base (non template) part of Property Properties are used for two main reasons:

  • to handle current state (when serializing Stateful objects)
  • to handle history since some operation was started (when making StatefulDiffCommands for undo)

Definition at line 89 of file property_basics.h.

Constructor & Destructor Documentation

◆ PropertyBase() [1/2]

PBD::PropertyBase::PropertyBase ( PropertyID  pid)
inline

Definition at line 92 of file property_basics.h.

◆ ~PropertyBase()

virtual PBD::PropertyBase::~PropertyBase ( )
inlinevirtual

Definition at line 96 of file property_basics.h.

◆ PropertyBase() [2/2]

PBD::PropertyBase::PropertyBase ( PropertyBase const &  b)
inlineprotected

Definition at line 164 of file property_basics.h.

Member Function Documentation

◆ apply_change()

◆ changed()

virtual bool PBD::PropertyBase::changed ( ) const
pure virtual
Returns
true if this property has changed in value since construction or since the last call to clear_changes (), whichever was more recent.

Implemented in PBD::SequenceProperty< Container >, PBD::SequenceProperty< std::list< std::shared_ptr< Region > > >, PBD::SharedStatefulProperty< T >, PBD::SharedStatefulProperty< AutomationList >, PBD::PropertyTemplate< T >, and PBD::PropertyTemplate< std::string >.

◆ clear_changes()

◆ clear_owned_changes()

virtual void PBD::PropertyBase::clear_owned_changes ( )
inlinevirtual

Tell any things we own to forget about their old values

Reimplemented in PBD::SequenceProperty< Container >, and PBD::SequenceProperty< std::list< std::shared_ptr< Region > > >.

Definition at line 116 of file property_basics.h.

◆ clone()

◆ clone_from_xml()

◆ get_changes_as_properties()

virtual void PBD::PropertyBase::get_changes_as_properties ( PropertyList changes,
Command  
) const
pure virtual

◆ get_changes_as_xml()

virtual void PBD::PropertyBase::get_changes_as_xml ( XMLNode ) const
pure virtual

◆ get_value()

◆ invert()

◆ operator==()

bool PBD::PropertyBase::operator== ( PropertyID  pid) const
inline

Definition at line 158 of file property_basics.h.

◆ property_id()

PropertyID PBD::PropertyBase::property_id ( ) const
inline

Definition at line 156 of file property_basics.h.

◆ property_name()

const gchar* PBD::PropertyBase::property_name ( ) const
inline

Definition at line 155 of file property_basics.h.

◆ rdiff()

virtual void PBD::PropertyBase::rdiff ( std::vector< PBD::Command * > &  ) const
inlinevirtual

Collect StatefulDiffCommands for changes to anything that we own

Reimplemented in PBD::SequenceProperty< Container >, and PBD::SequenceProperty< std::list< std::shared_ptr< Region > > >.

Definition at line 140 of file property_basics.h.

◆ set_value()

virtual bool PBD::PropertyBase::set_value ( XMLNode const &  )
pure virtual

Member Data Documentation

◆ _property_id

PropertyID PBD::PropertyBase::_property_id
private

Definition at line 169 of file property_basics.h.


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