Ardour  9.0-pre0-582-g084a23a80d
MementoCommand< obj_T > Class Template Reference

#include <memento_command.h>

Inheritance diagram for MementoCommand< obj_T >:
[legend]

Public Member Functions

 MementoCommand (obj_T &a_object, XMLNode *a_before, XMLNode *a_after)
 
 MementoCommand (MementoCommandBinder< obj_T > *b, XMLNode *a_before, XMLNode *a_after)
 
 ~MementoCommand ()
 
void binder_dying ()
 
void operator() ()
 
void undo ()
 
virtual XMLNodeget_state () const
 
- Public Member Functions inherited from PBD::Command
virtual ~Command ()
 
void set_name (const std::string &str)
 
const std::string & name () const
 
virtual void redo ()
 
virtual int set_state (const XMLNode &, int)
 
virtual bool empty () const
 
- Public Member Functions inherited from PBD::Stateful
 Stateful ()
 
virtual ~Stateful ()
 
virtual bool apply_change (PropertyBase const &)
 
PropertyChange apply_changes (PropertyList const &)
 
const OwnedPropertyListproperties () const
 
void add_property (PropertyBase &s)
 
void add_extra_xml (XMLNode &)
 
XMLNodeextra_xml (const std::string &str, bool add_if_missing=false)
 
void save_extra_xml (const XMLNode &)
 
const PBD::IDid () const
 
bool set_id (const XMLNode &)
 
void set_id (const std::string &)
 
void reset_id ()
 
void clear_changes ()
 
virtual void clear_owned_changes ()
 
PropertyListget_changes_as_properties (PBD::Command *) const
 
virtual void rdiff (std::vector< PBD::Command * > &) const
 
bool changed () const
 
virtual PropertyListproperty_factory (const XMLNode &) const
 
virtual void suspend_property_changes ()
 
virtual void resume_property_changes ()
 
bool property_changes_suspended () const
 
- Public Member Functions inherited from PBD::Destructible
virtual ~Destructible ()
 
virtual void drop_references ()
 
- Public Member Functions inherited from PBD::ScopedConnectionList
 ScopedConnectionList ()
 
 ScopedConnectionList (const ScopedConnectionList &)=delete
 
ScopedConnectionListoperator= (const ScopedConnectionList &)=delete
 
virtual ~ScopedConnectionList ()
 
void add_connection (const UnscopedConnection &c)
 
void drop_connections ()
 

Protected Attributes

MementoCommandBinder< obj_T > * _binder
 
XMLNodebefore
 
XMLNodeafter
 
PBD::ScopedConnection _binder_death_connection
 
- Protected Attributes inherited from PBD::Command
std::string _name
 
- Protected Attributes inherited from PBD::Stateful
XMLNode_extra_xml
 
XMLNode_instant_xml
 
PBD::PropertyChange _pending_changed
 
Glib::Threads::Mutex _lock
 
std::string _xml_node_name
 name of node to use for this object in XML More...
 
OwnedPropertyList_properties
 

Additional Inherited Members

- Public Attributes inherited from PBD::Stateful
PBD::Signal< void(const PropertyChange &)> PropertyChanged
 
- Public Attributes inherited from PBD::Destructible
PBD::Signal< void()> Destroyed
 
PBD::Signal< void()> DropReferences
 
- Static Public Attributes inherited from PBD::Stateful
static int current_state_version
 
static int loading_state_version
 
- Protected Member Functions inherited from PBD::Command
 Command ()
 
 Command (const std::string &name)
 
- Protected Member Functions inherited from PBD::Stateful
void add_instant_xml (XMLNode &, const std::string &directory_path)
 
XMLNodeinstant_xml (const std::string &str, const std::string &directory_path)
 
void add_properties (XMLNode &) const
 
PropertyChange set_values (XMLNode const &)
 
virtual void post_set (const PropertyChange &)
 
virtual void send_change (const PropertyChange &)
 
virtual void mid_thaw (const PropertyChange &)
 
bool regenerate_xml_or_string_ids () const
 

Detailed Description

template<class obj_T>
class MementoCommand< obj_T >

This command class is initialized with before and after mementos (from Stateful::get_state()), so undo becomes restoring the before memento, and redo is restoring the after memento.

Definition at line 103 of file memento_command.h.

Constructor & Destructor Documentation

◆ MementoCommand() [1/2]

template<class obj_T >
MementoCommand< obj_T >::MementoCommand ( obj_T &  a_object,
XMLNode a_before,
XMLNode a_after 
)
inline

Definition at line 106 of file memento_command.h.

◆ MementoCommand() [2/2]

template<class obj_T >
MementoCommand< obj_T >::MementoCommand ( MementoCommandBinder< obj_T > *  b,
XMLNode a_before,
XMLNode a_after 
)
inline

Definition at line 113 of file memento_command.h.

◆ ~MementoCommand()

template<class obj_T >
MementoCommand< obj_T >::~MementoCommand ( )
inline

Definition at line 120 of file memento_command.h.

Member Function Documentation

◆ binder_dying()

template<class obj_T >
void MementoCommand< obj_T >::binder_dying ( )
inline

Definition at line 126 of file memento_command.h.

◆ get_state()

template<class obj_T >
virtual XMLNode& MementoCommand< obj_T >::get_state ( void  ) const
inlinevirtual

Reimplemented from PBD::Command.

Definition at line 143 of file memento_command.h.

◆ operator()()

template<class obj_T >
void MementoCommand< obj_T >::operator() ( )
inlinevirtual

Implements PBD::Command.

Definition at line 131 of file memento_command.h.

◆ undo()

template<class obj_T >
void MementoCommand< obj_T >::undo ( )
inlinevirtual

Implements PBD::Command.

Definition at line 137 of file memento_command.h.

Member Data Documentation

◆ _binder

template<class obj_T >
MementoCommandBinder<obj_T>* MementoCommand< obj_T >::_binder
protected

Definition at line 170 of file memento_command.h.

◆ _binder_death_connection

template<class obj_T >
PBD::ScopedConnection MementoCommand< obj_T >::_binder_death_connection
protected

Definition at line 173 of file memento_command.h.

◆ after

template<class obj_T >
XMLNode* MementoCommand< obj_T >::after
protected

Definition at line 172 of file memento_command.h.

◆ before

template<class obj_T >
XMLNode* MementoCommand< obj_T >::before
protected

Definition at line 171 of file memento_command.h.


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