BornAgain
1.19.0
Simulate and fit neutron and x-ray scattering at grazing incidence
|
Provides sets of methods to subscribe to various signals generated by SessionModel. More...
Public Member Functions | |
ModelListenerBase (SessionModel *model) | |
~ModelListenerBase () override | |
void | setOnAboutToRemoveItem (Callbacks::item_tagrow_t f, Callbacks::slot_t client={}) override |
Sets callback to be notified when the item is about to be removed. More... | |
void | setOnDataChange (Callbacks::item_int_t f, Callbacks::slot_t client={}) override |
Sets callback to be notified on item's data change. More... | |
void | setOnItemInserted (Callbacks::item_tagrow_t f, Callbacks::slot_t client={}) override |
Sets callback to be notified on item insert. More... | |
void | setOnItemRemoved (Callbacks::item_tagrow_t f, Callbacks::slot_t client={}) override |
Sets callback to be notified on item remove. More... | |
void | setOnModelAboutToBeReset (Callbacks::model_t f, Callbacks::slot_t client={}) override |
Sets the callback to be notified before model's full reset (root item recreated). More... | |
void | setOnModelDestroyed (Callbacks::model_t f, Callbacks::slot_t client={}) override |
Sets the callback for notifications on model destruction. More... | |
void | setOnModelReset (Callbacks::model_t f, Callbacks::slot_t client={}) override |
Sets the callback to be notified after model was fully reset (root item recreated). More... | |
void | unsubscribe (Callbacks::slot_t client={}) override |
Removes given client from all subscriptions. More... | |
Protected Attributes | |
SessionModel * | m_model {nullptr} |
Provides sets of methods to subscribe to various signals generated by SessionModel.
Automatically tracks the time of life of SessionModel. Unsubscribes from the model on own destruction.
Definition at line 28 of file modellistenerbase.h.
ModelListenerBase::ModelListenerBase | ( | SessionModel * | model | ) |
Definition at line 22 of file modellistenerbase.cpp.
References m_model, and setOnModelDestroyed().
|
override |
Definition at line 29 of file modellistenerbase.cpp.
References unsubscribe().
|
overridevirtual |
Sets callback to be notified when the item is about to be removed.
The callback will be called with (SessionItem* parent, tagrow), where 'tagrow' denotes child position being removed.
Implements ModelView::ModelListenerInterface.
Definition at line 61 of file modellistenerbase.cpp.
References m_model, ModelView::SessionModel::mapper(), and ModelView::ModelMapper::setOnAboutToRemoveItem().
Referenced by ModelView::ItemMapper::ItemMapper(), and ModelView::ViewModelController::ViewModelController().
|
overridevirtual |
Sets callback to be notified on item's data change.
The callback will be called with (SessionItem*, data_role).
Implements ModelView::ModelListenerInterface.
Definition at line 37 of file modellistenerbase.cpp.
References m_model, ModelView::SessionModel::mapper(), and ModelView::ModelMapper::setOnDataChange().
Referenced by gui2::ExperimentalDataController::ExperimentalDataController(), ModelView::ItemMapper::ItemMapper(), gui2::MaterialPropertyController::MaterialPropertyController(), ModelView::ModelHasChangedController::ModelHasChangedController(), and ModelView::ViewModelController::ViewModelController().
|
overridevirtual |
Sets callback to be notified on item insert.
The callback will be called with (SessionItem* parent, tagrow), where 'tagrow' denotes inserted child position.
Implements ModelView::ModelListenerInterface.
Definition at line 45 of file modellistenerbase.cpp.
References m_model, ModelView::SessionModel::mapper(), and ModelView::ModelMapper::setOnItemInserted().
Referenced by gui2::ExperimentalDataController::ExperimentalDataController(), ModelView::ItemMapper::ItemMapper(), gui2::MaterialPropertyController::MaterialPropertyController(), ModelView::ModelHasChangedController::ModelHasChangedController(), and ModelView::ViewModelController::ViewModelController().
|
overridevirtual |
Sets callback to be notified on item remove.
The callback will be called with (SessionItem* parent, tagrow), where 'tagrow' denotes child position before the removal.
Implements ModelView::ModelListenerInterface.
Definition at line 53 of file modellistenerbase.cpp.
References m_model, ModelView::SessionModel::mapper(), and ModelView::ModelMapper::setOnItemRemoved().
Referenced by gui2::ExperimentalDataController::ExperimentalDataController(), ModelView::ItemMapper::ItemMapper(), gui2::MaterialPropertyController::MaterialPropertyController(), ModelView::ModelHasChangedController::ModelHasChangedController(), and ModelView::ViewModelController::ViewModelController().
|
overridevirtual |
Sets the callback to be notified before model's full reset (root item recreated).
Implements ModelView::ModelListenerInterface.
Definition at line 76 of file modellistenerbase.cpp.
References m_model, ModelView::SessionModel::mapper(), and ModelView::ModelMapper::setOnModelAboutToBeReset().
Referenced by ModelView::ViewModelController::ViewModelController().
|
overridevirtual |
Sets the callback for notifications on model destruction.
Implements ModelView::ModelListenerInterface.
Definition at line 69 of file modellistenerbase.cpp.
References m_model, ModelView::SessionModel::mapper(), and ModelView::ModelMapper::setOnModelDestroyed().
Referenced by ModelListenerBase(), and ModelView::ViewModelController::ViewModelController().
|
overridevirtual |
Sets the callback to be notified after model was fully reset (root item recreated).
Implements ModelView::ModelListenerInterface.
Definition at line 83 of file modellistenerbase.cpp.
References m_model, ModelView::SessionModel::mapper(), and ModelView::ModelMapper::setOnModelReset().
Referenced by gui2::ExperimentalDataController::ExperimentalDataController(), gui2::MaterialPropertyController::MaterialPropertyController(), ModelView::ModelHasChangedController::ModelHasChangedController(), and ModelView::ViewModelController::ViewModelController().
|
overridevirtual |
Removes given client from all subscriptions.
Implements ModelView::ModelListenerInterface.
Definition at line 88 of file modellistenerbase.cpp.
References m_model, ModelView::SessionModel::mapper(), and ModelView::ModelMapper::unsubscribe().
Referenced by ~ModelListenerBase().
|
protected |
Definition at line 46 of file modellistenerbase.h.
Referenced by ModelListenerBase(), ModelView::ModelListener< T >::model(), setOnAboutToRemoveItem(), setOnDataChange(), setOnItemInserted(), setOnItemRemoved(), setOnModelAboutToBeReset(), setOnModelDestroyed(), setOnModelReset(), and unsubscribe().