ardour
Public Member Functions | Static Public Member Functions | Protected Attributes | Static Protected Attributes | Private Types | Static Private Member Functions | List of all members
PBD::FunctorCommand< obj_type, arg_type > Class Template Reference

#include <functor_command.h>

Inheritance diagram for PBD::FunctorCommand< obj_type, arg_type >:
Command PBD::StatefulDestructible PBD::ScopedConnectionList PBD::Stateful PBD::Destructible

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 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_changes (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 (Command *) const
 
virtual void rdiff (std::vector< 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
 Destructible ()
 
virtual ~Destructible ()
 
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 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_type
FunctorMap
 
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 = 0
 
static int loading_state_version = 0
 
- Protected Member Functions inherited from 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 &)
 
PropertyChange set_values (XMLNode const &)
 
virtual void post_set (const PropertyChange &)
 
virtual void send_change (const PropertyChange &)
 
virtual void mid_thaw (const PropertyChange &)
 

Detailed Description

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

Definition at line 40 of file functor_command.h.

Member Typedef Documentation

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 43 of file functor_command.h.

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 44 of file functor_command.h.

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

Definition at line 45 of file functor_command.h.

Constructor & Destructor Documentation

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 48 of file functor_command.h.

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

Definition at line 60 of file functor_command.h.

Member Function Documentation

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 92 of file functor_command.h.

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

Reimplemented from Command.

Definition at line 72 of file functor_command.h.

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

Implements Command.

Definition at line 64 of file functor_command.h.

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 87 of file functor_command.h.

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

Implements Command.

Definition at line 68 of file functor_command.h.

Member Data Documentation

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

Definition at line 106 of file functor_command.h.

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

Definition at line 105 of file functor_command.h.

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 108 of file functor_command.h.

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

Definition at line 103 of file functor_command.h.

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

Definition at line 107 of file functor_command.h.

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

Definition at line 104 of file functor_command.h.


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