![]() |
Ardour
8.12
|
#include <sequence_property.h>
Classes | |
struct | ChangeRecord |
Public Types | |
typedef std::set< typename Container::value_type > | ChangeContainer |
Public Member Functions | |
SequenceProperty (PropertyID id, const boost::function< void(const ChangeRecord &)> &update) | |
void | invert () |
void | get_changes_as_xml (XMLNode *history_node) const |
virtual void | get_content_as_xml (typename ChangeContainer::value_type, XMLNode &) const =0 |
bool | set_value (XMLNode const &) |
void | get_value (XMLNode &node) const |
bool | changed () const |
void | clear_changes () |
void | apply_change (PropertyBase const *p) |
void | update (const ChangeRecord &cr) |
void | get_changes_as_properties (PBD::PropertyList &changes, Command *cmd) const |
SequenceProperty< Container > * | clone_from_xml (XMLNode const &node) const |
virtual Container::value_type | get_content_from_xml (XMLNode const &node) const =0 |
void | clear_owned_changes () |
void | rdiff (std::vector< PBD::Command * > &cmds) const |
Container | rlist () const |
Container::iterator | begin () |
Container::iterator | end () |
Container::const_iterator | begin () const |
Container::const_iterator | end () const |
Container::reverse_iterator | rbegin () |
Container::reverse_iterator | rend () |
Container::const_reverse_iterator | rbegin () const |
Container::const_reverse_iterator | rend () const |
Container::iterator | insert (typename Container::iterator i, const typename Container::value_type &v) |
Container::iterator | erase (typename Container::iterator i) |
Container::iterator | erase (typename Container::iterator f, typename Container::iterator l) |
void | remove (const typename Container::value_type &v) |
void | push_back (const typename Container::value_type &v) |
void | push_front (const typename Container::value_type &v) |
void | pop_front () |
void | pop_back () |
void | clear () |
Container::size_type | size () const |
bool | empty () const |
Container & | operator= (const Container &other) |
Container::reference | front () |
Container::const_reference | front () const |
Container::reference | back () |
Container::const_reference | back () const |
void | sort () |
template<class BinaryPredicate > | |
void | sort (BinaryPredicate comp) |
const ChangeRecord & | changes () const |
![]() | |
PropertyBase (PropertyID pid) | |
virtual | ~PropertyBase () |
virtual PropertyBase * | clone () const =0 |
const gchar * | property_name () const |
PropertyID | property_id () const |
bool | operator== (PropertyID pid) const |
Protected Member Functions | |
SequenceProperty (SequenceProperty< Container > const &p) | |
![]() | |
PropertyBase (PropertyBase const &b) | |
Protected Attributes | |
Container | _val |
our actual container of things More... | |
ChangeRecord | _changes |
changes to the container (adds/removes) that have happened since clear_changes() was last called More... | |
boost::function< void(const ChangeRecord &)> | _update_callback |
Private Member Functions | |
virtual SequenceProperty< Container > * | create () const =0 |
A base class for properties whose state is a container of other things. Its behaviour is ‘specialised’ for this purpose in that it holds state changes as additions to and removals from the container, which is more efficient than storing entire state after any change.
Definition at line 49 of file sequence_property.h.
typedef std::set<typename Container::value_type> PBD::SequenceProperty< Container >::ChangeContainer |
Definition at line 52 of file sequence_property.h.
|
inline |
Definition at line 85 of file sequence_property.h.
|
inlineprotected |
Definition at line 354 of file sequence_property.h.
|
inlinevirtual |
Set this property's current state from another
Implements PBD::PropertyBase.
Definition at line 143 of file sequence_property.h.
|
inline |
Definition at line 333 of file sequence_property.h.
|
inline |
Definition at line 337 of file sequence_property.h.
|
inline |
Definition at line 242 of file sequence_property.h.
|
inline |
Definition at line 244 of file sequence_property.h.
|
inlinevirtual |
Implements PBD::PropertyBase.
Definition at line 134 of file sequence_property.h.
|
inline |
Definition at line 349 of file sequence_property.h.
|
inline |
Definition at line 300 of file sequence_property.h.
|
inlinevirtual |
Forget about any old changes to this property's value
Implements PBD::PropertyBase.
Definition at line 138 of file sequence_property.h.
|
inlinevirtual |
Tell any things we own to forget about their old values
Reimplemented from PBD::PropertyBase.
Definition at line 222 of file sequence_property.h.
|
inlinevirtual |
Look in an XML node written by get_changes_as_xml and, if XML from this property is found, create a property with the changes from the XML.
Reimplemented from PBD::PropertyBase.
Definition at line 182 of file sequence_property.h.
|
privatepure virtual |
Implemented in ARDOUR::RegionListProperty.
|
inline |
Definition at line 311 of file sequence_property.h.
|
inline |
Definition at line 243 of file sequence_property.h.
|
inline |
Definition at line 245 of file sequence_property.h.
|
inline |
Definition at line 264 of file sequence_property.h.
|
inline |
Definition at line 257 of file sequence_property.h.
|
inline |
Definition at line 325 of file sequence_property.h.
|
inline |
Definition at line 329 of file sequence_property.h.
|
inlinevirtual |
If this Property has changed, clone it and add it to a given list. Used for making StatefulDiffCommands.
Implements PBD::PropertyBase.
Definition at line 159 of file sequence_property.h.
|
inlinevirtual |
Get any changes in this property as XML and add them to a StatefulDiffCommand node.
Implements PBD::PropertyBase.
Definition at line 92 of file sequence_property.h.
|
pure virtual |
Get a representation of one of our items as XML. The representation must be sufficient to restore the item's state later; an ID is ok if someone else is storing the item state, otherwise it needs to be the full state. The supplied node is an <Add> or <Remove> which this method can either add properties or children to.
|
pure virtual |
Given an <Add> or <Remove> node as passed into get_content_to_xml, obtain an item
Implemented in ARDOUR::RegionListProperty.
|
inlinevirtual |
Get this property's value and put it into a Stateful node
Implements PBD::PropertyBase.
Definition at line 128 of file sequence_property.h.
|
inline |
Definition at line 252 of file sequence_property.h.
|
inlinevirtual |
Invert the changes in this property
Implements PBD::PropertyBase.
Definition at line 88 of file sequence_property.h.
|
inline |
Definition at line 315 of file sequence_property.h.
|
inline |
Definition at line 293 of file sequence_property.h.
|
inline |
Definition at line 286 of file sequence_property.h.
|
inline |
Definition at line 276 of file sequence_property.h.
|
inline |
Definition at line 281 of file sequence_property.h.
|
inline |
Definition at line 247 of file sequence_property.h.
|
inline |
Definition at line 249 of file sequence_property.h.
|
inlinevirtual |
Collect StatefulDiffCommands for changes to anything that we own
Reimplemented from PBD::PropertyBase.
Definition at line 228 of file sequence_property.h.
|
inline |
Definition at line 271 of file sequence_property.h.
|
inline |
Definition at line 248 of file sequence_property.h.
|
inline |
Definition at line 250 of file sequence_property.h.
|
inline |
Definition at line 237 of file sequence_property.h.
|
inlinevirtual |
Set the value of this property from a Stateful node.
Implements PBD::PropertyBase.
Definition at line 122 of file sequence_property.h.
|
inline |
Definition at line 307 of file sequence_property.h.
|
inline |
Definition at line 341 of file sequence_property.h.
|
inline |
Definition at line 345 of file sequence_property.h.
|
inline |
Given a record of changes to this property, pass it to a callback that will update the property in some appropriate way.
This exists because simply using std::sequence methods to add/remove items from the property is far too simplistic - the semantics of add/remove may be much more complex than that.
Definition at line 155 of file sequence_property.h.
|
protected |
changes to the container (adds/removes) that have happened since clear_changes() was last called
Definition at line 362 of file sequence_property.h.
|
protected |
Definition at line 363 of file sequence_property.h.
|
protected |
our actual container of things
Definition at line 361 of file sequence_property.h.