Ardour  8.12
PBD::FunctorCommand< obj_type, arg_type > Class Template Reference

#include <functor_command.h>

Inheritance diagram for PBD::FunctorCommand< obj_type, arg_type >:
[legend]

Public Member Functions

 FunctorCommand (std::string functor, obj_type &object, arg_type b, arg_type a)
 
 ~FunctorCommand ()
 
void operator() ()
 
void undo ()
 
virtual XMLNodeget_state ()
 
- 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 ()
 
virtual ~ScopedConnectionList ()
 
void add_connection (const UnscopedConnection &c)
 
void drop_connections ()
 

Static Public Member Functions

static void register_functor (std::string name, functor_type f)
 

Protected Attributes

std::string functor_name
 
obj_type & object
 
arg_type before
 
arg_type after
 
functor_type method
 
- 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
 

Static Protected Attributes

static FunctorMap functor_map
 

Private Types

typedef void(obj_type::* functor_type) (arg_type)
 
typedef std::map< std::string, functor_typeFunctorMap
 
typedef FunctorMap::iterator FunctorMapIterator
 

Static Private Member Functions

static functor_type find_functor (std::string name)
 

Additional Inherited Members

- Public Attributes inherited from PBD::Stateful
PBD::Signal1< void, const PropertyChange & > PropertyChanged
 
- Public Attributes inherited from PBD::Destructible
PBD::Signal0< void > Destroyed
 
PBD::Signal0< 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_type, class arg_type>
class PBD::FunctorCommand< obj_type, arg_type >

Definition at line 39 of file functor_command.h.

Member Typedef Documentation

◆ functor_type

template<class obj_type , class arg_type >
typedef void(obj_type::* PBD::FunctorCommand< obj_type, arg_type >::functor_type) (arg_type)
private

Definition at line 42 of file functor_command.h.

◆ FunctorMap

template<class obj_type , class arg_type >
typedef std::map< std::string, functor_type > PBD::FunctorCommand< obj_type, arg_type >::FunctorMap
private

Definition at line 43 of file functor_command.h.

◆ FunctorMapIterator

template<class obj_type , class arg_type >
typedef FunctorMap::iterator PBD::FunctorCommand< obj_type, arg_type >::FunctorMapIterator
private

Definition at line 44 of file functor_command.h.

Constructor & Destructor Documentation

◆ FunctorCommand()

template<class obj_type , class arg_type >
PBD::FunctorCommand< obj_type, arg_type >::FunctorCommand ( std::string  functor,
obj_type &  object,
arg_type  b,
arg_type  a 
)
inline

Definition at line 47 of file functor_command.h.

◆ ~FunctorCommand()

template<class obj_type , class arg_type >
PBD::FunctorCommand< obj_type, arg_type >::~FunctorCommand ( )
inline

Definition at line 59 of file functor_command.h.

Member Function Documentation

◆ find_functor()

template<class obj_type , class arg_type >
static functor_type PBD::FunctorCommand< obj_type, arg_type >::find_functor ( std::string  name)
inlinestaticprivate

Definition at line 91 of file functor_command.h.

◆ get_state()

template<class obj_type , class arg_type >
virtual XMLNode& PBD::FunctorCommand< obj_type, arg_type >::get_state ( void  )
inlinevirtual

Reimplemented from PBD::Command.

Definition at line 71 of file functor_command.h.

◆ operator()()

template<class obj_type , class arg_type >
void PBD::FunctorCommand< obj_type, arg_type >::operator() ( )
inlinevirtual

Implements PBD::Command.

Definition at line 63 of file functor_command.h.

◆ register_functor()

template<class obj_type , class arg_type >
static void PBD::FunctorCommand< obj_type, arg_type >::register_functor ( std::string  name,
functor_type  f 
)
inlinestatic

Definition at line 86 of file functor_command.h.

◆ undo()

template<class obj_type , class arg_type >
void PBD::FunctorCommand< obj_type, arg_type >::undo ( )
inlinevirtual

Implements PBD::Command.

Definition at line 67 of file functor_command.h.

Member Data Documentation

◆ after

template<class obj_type , class arg_type >
arg_type PBD::FunctorCommand< obj_type, arg_type >::after
protected

Definition at line 105 of file functor_command.h.

◆ before

template<class obj_type , class arg_type >
arg_type PBD::FunctorCommand< obj_type, arg_type >::before
protected

Definition at line 104 of file functor_command.h.

◆ functor_map

template<class obj_type , class arg_type >
FunctorCommand< obj_type, arg_type >::FunctorMap PBD::FunctorCommand< obj_type, arg_type >::functor_map
staticprotected

Definition at line 107 of file functor_command.h.

◆ functor_name

template<class obj_type , class arg_type >
std::string PBD::FunctorCommand< obj_type, arg_type >::functor_name
protected

Definition at line 102 of file functor_command.h.

◆ method

template<class obj_type , class arg_type >
functor_type PBD::FunctorCommand< obj_type, arg_type >::method
protected

Definition at line 106 of file functor_command.h.

◆ object

template<class obj_type , class arg_type >
obj_type& PBD::FunctorCommand< obj_type, arg_type >::object
protected

Definition at line 103 of file functor_command.h.


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