15 #ifndef BORNAGAIN_MVVM_MODEL_MVVM_INTERFACES_MODELLISTENERINTERFACE_H
16 #define BORNAGAIN_MVVM_MODEL_MVVM_INTERFACES_MODELLISTENERINTERFACE_H
Interface to subscribe to various signals generated by SessionModel.
virtual void setOnModelDestroyed(Callbacks::model_t f, Callbacks::slot_t client)=0
Sets the callback for notifications on model destruction.
virtual ~ModelListenerInterface()=default
virtual void setOnDataChange(Callbacks::item_int_t f, Callbacks::slot_t client)=0
Sets callback to be notified on item's data change.
virtual void unsubscribe(Callbacks::slot_t client)=0
Removes given client from all subscriptions.
virtual void setOnItemInserted(Callbacks::item_tagrow_t f, Callbacks::slot_t client)=0
Sets callback to be notified on item insert.
virtual void setOnModelReset(Callbacks::model_t f, Callbacks::slot_t client)=0
Sets the callback to be notified right after the root item recreation.
virtual void setOnItemRemoved(Callbacks::item_tagrow_t f, Callbacks::slot_t client)=0
Sets callback to be notified on item remove.
virtual void setOnModelAboutToBeReset(Callbacks::model_t f, Callbacks::slot_t client)=0
Sets the callback to be notified just before the reset of the root item.
virtual void setOnAboutToRemoveItem(Callbacks::item_tagrow_t f, Callbacks::slot_t client)=0
Sets callback to be notified when the item is about to be removed.
std::function< void(SessionModel *)> model_t
std::function< void(SessionItem *, TagRow)> item_tagrow_t
std::function< void(SessionItem *, int)> item_int_t
materialitems.h Collection of materials to populate MaterialModel.