Beast - Music Synthesizer and Composer  0.11.1+10.g2da35
Bse::ItemImpl Class Reference
Inheritance diagram for Bse::ItemImpl:
Collaboration diagram for Bse::ItemImpl:

Classes

class  UndoDescriptor
 

Public Types

typedef std::function< Error(ItemImpl &item, BseUndoStack *ustack)> UndoLambda
 

Public Member Functions

 ItemImpl (BseObject *)
 
ContainerImplparent ()
 
virtual ItemIfaceP common_ancestor (ItemIface &other) override
 
virtual Icon icon () const override
 
virtual void icon (const Icon &) override
 
void push_property_undo (const String &property_name)
 
template<typename ItemT , typename... FuncArgs, typename... CallArgs>
void push_undo (const String &blurb, ItemT &self, Error(ItemT::*function)(FuncArgs...), CallArgs...args)
 
template<typename ItemT , typename R , typename... FuncArgs, typename... CallArgs>
void push_undo (const String &blurb, ItemT &self, R(ItemT::*function)(FuncArgs...), CallArgs...args)
 
template<typename ItemT , typename ItemTLambda >
void push_undo (const String &blurb, ItemT &self, const ItemTLambda &itemt_lambda)
 
template<typename ItemT , typename ItemTLambda >
void push_undo_to_redo (const String &blurb, ItemT &self, const ItemTLambda &itemt_lambda)
 
template<class Obj >
UndoDescriptor< Obj > undo_descriptor (Obj &item)
 
template<class Obj >
Obj & undo_resolve (UndoDescriptor< Obj > udo)
 
- Public Member Functions inherited from Rapicorn::ObjectImpl
virtual std::string __aida_type_name__ () const
 
virtual const Rapicorn::Aida::PropertyList__aida_properties__ ()
 
- Public Member Functions inherited from Rapicorn::DataListContainer
void set_data (DataKey< Type > *key, Type data)
 
Type get_data (DataKey< Type > *key) const
 
Type swap_data (DataKey< Type > *key, Type data)
 
Type swap_data (DataKey< Type > *key)
 
void delete_data (DataKey< Type > *key)
 

Additional Inherited Members

- Static Public Member Functions inherited from Rapicorn::BaseObject
static std::shared_ptr< Class > shared_ptr (Class *object)
 

Member Function Documentation

void Bse::ItemImpl::push_property_undo ( const String property_name)

Save the value of property_name onto the undo stack.

Here is the call graph for this function:

template<typename ItemT , typename... FuncArgs, typename... CallArgs>
void Bse::ItemImpl::push_undo ( const String blurb,
ItemT &  self,
Error(ItemT::*)(FuncArgs...)  function,
CallArgs...  args 
)
inline

Push an undo function onto the undo stack, the self argument to function must match this.

Referenced by push_property_undo().

Here is the caller graph for this function:

template<typename ItemT , typename R , typename... FuncArgs, typename... CallArgs>
void Bse::ItemImpl::push_undo ( const String blurb,
ItemT &  self,
R(ItemT::*)(FuncArgs...)  function,
CallArgs...  args 
)
inline

Push an undo function like push_undo(), but ignore the return value of function.

template<typename ItemT , typename ItemTLambda >
void Bse::ItemImpl::push_undo ( const String blurb,
ItemT &  self,
const ItemTLambda &  itemt_lambda 
)
inline

Push an undo lambda, using the signature: Error lambda (TypeDerivedFromItem&, BseUndoStack*);.

template<typename ItemT , typename ItemTLambda >
void Bse::ItemImpl::push_undo_to_redo ( const String blurb,
ItemT &  self,
const ItemTLambda &  itemt_lambda 
)
inline

Push an undo step, that when executed, pushes itemt_lambda to the redo stack.

template<class Obj >
UndoDescriptor<Obj> Bse::ItemImpl::undo_descriptor ( Obj &  item)
inline

Create an object descriptor that persists undo/redo steps.

Referenced by bse_item_current_musical_tuning().

Here is the caller graph for this function:

template<class Obj >
Obj& Bse::ItemImpl::undo_resolve ( UndoDescriptor< Obj >  udo)
inline

Resolve an undo descriptor back to an object, see also undo_descriptor().


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