BornAgain
1.19.0
Simulate and fit neutron and x-ray scattering at grazing incidence
|
Provides notifications on various SessionModel changes. More...
Public Member Functions | |
ModelMapper (const ModelMapper &other)=delete | |
ModelMapper (SessionModel *model) | |
~ModelMapper () | |
ModelMapper & | operator= (const ModelMapper &other)=delete |
void | setActive (bool value) |
Sets activity flag to given value. Will disable all callbacks if false. More... | |
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 just before the reset of the root item. 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 right after the root item recreation. More... | |
void | unsubscribe (Callbacks::slot_t client) override |
Removes given client from all subscriptions. More... | |
Private Member Functions | |
void | callOnDataChange (SessionItem *item, int role) |
Notifies all callbacks subscribed to "item data is changed" event. More... | |
void | callOnItemAboutToBeRemoved (SessionItem *parent, const TagRow &tagrow) |
void | callOnItemInserted (SessionItem *parent, const TagRow &tagrow) |
Notifies all callbacks subscribed to "item data is changed" event. More... | |
void | callOnItemRemoved (SessionItem *parent, const TagRow &tagrow) |
void | callOnModelAboutToBeReset () |
void | callOnModelDestroyed () |
void | callOnModelReset () |
Private Attributes | |
std::unique_ptr< ModelMapperImpl > | p_impl |
Friends | |
class | SessionItem |
class | SessionModel |
Provides notifications on various SessionModel changes.
Allows to subscribe to SessionModel's changes, and triggers notifications.
Definition at line 29 of file modelmapper.h.
ModelMapper::ModelMapper | ( | SessionModel * | model | ) |
Definition at line 46 of file modelmapper.cpp.
|
default |
|
delete |
|
private |
Notifies all callbacks subscribed to "item data is changed" event.
Definition at line 119 of file modelmapper.cpp.
References p_impl.
|
private |
Definition at line 139 of file modelmapper.cpp.
References p_impl.
|
private |
Notifies all callbacks subscribed to "item data is changed" event.
Definition at line 127 of file modelmapper.cpp.
References p_impl.
|
private |
Definition at line 133 of file modelmapper.cpp.
References p_impl.
|
private |
Definition at line 150 of file modelmapper.cpp.
References p_impl.
Referenced by ModelView::SessionModel::clear().
|
private |
Definition at line 145 of file modelmapper.cpp.
References p_impl.
|
private |
Definition at line 155 of file modelmapper.cpp.
References p_impl.
Referenced by ModelView::SessionModel::clear().
|
delete |
void ModelMapper::setActive | ( | bool | value | ) |
Sets activity flag to given value. Will disable all callbacks if false.
Definition at line 105 of file modelmapper.cpp.
References p_impl.
|
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 77 of file modelmapper.cpp.
References p_impl.
Referenced by MockWidgetForModel::setModel(), and ModelView::ModelListenerBase::setOnAboutToRemoveItem().
|
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 53 of file modelmapper.cpp.
References p_impl.
Referenced by gui2::SLDElementController::connectLayerModel(), gui2::SLDElementController::connectMaterialModel(), MockWidgetForModel::setModel(), and ModelView::ModelListenerBase::setOnDataChange().
|
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 61 of file modelmapper.cpp.
References p_impl.
Referenced by gui2::SLDElementController::connectLayerModel(), MockWidgetForModel::setModel(), and ModelView::ModelListenerBase::setOnItemInserted().
|
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 69 of file modelmapper.cpp.
References p_impl.
Referenced by gui2::SLDElementController::connectLayerModel(), MockWidgetForModel::setModel(), and ModelView::ModelListenerBase::setOnItemRemoved().
|
overridevirtual |
Sets the callback to be notified just before the reset of the root item.
Implements ModelView::ModelListenerInterface.
Definition at line 91 of file modelmapper.cpp.
References p_impl.
Referenced by MockWidgetForModel::setModel(), and ModelView::ModelListenerBase::setOnModelAboutToBeReset().
|
overridevirtual |
Sets the callback for notifications on model destruction.
Implements ModelView::ModelListenerInterface.
Definition at line 84 of file modelmapper.cpp.
References p_impl.
Referenced by gui2::SLDElementController::connectLayerModel(), gui2::SLDElementController::connectMaterialModel(), gui2::SLDElementController::connectSLDElementModel(), MockWidgetForModel::setModel(), and ModelView::ModelListenerBase::setOnModelDestroyed().
|
overridevirtual |
Sets the callback to be notified right after the root item recreation.
Implements ModelView::ModelListenerInterface.
Definition at line 98 of file modelmapper.cpp.
References p_impl.
Referenced by MockWidgetForModel::setModel(), and ModelView::ModelListenerBase::setOnModelReset().
|
overridevirtual |
Removes given client from all subscriptions.
Implements ModelView::ModelListenerInterface.
Definition at line 112 of file modelmapper.cpp.
References p_impl.
Referenced by MockWidgetForModel::~MockWidgetForModel(), gui2::SLDElementController::disconnectLayerModel(), gui2::SLDElementController::disconnectMaterialModel(), gui2::SLDElementController::disconnectSLDElementModel(), MockWidgetForModel::setModel(), and ModelView::ModelListenerBase::unsubscribe().
|
friend |
Definition at line 51 of file modelmapper.h.
|
friend |
Definition at line 50 of file modelmapper.h.
|
private |
Definition at line 62 of file modelmapper.h.
Referenced by callOnDataChange(), callOnItemAboutToBeRemoved(), callOnItemInserted(), callOnItemRemoved(), callOnModelAboutToBeReset(), callOnModelDestroyed(), callOnModelReset(), setActive(), setOnAboutToRemoveItem(), setOnDataChange(), setOnItemInserted(), setOnItemRemoved(), setOnModelAboutToBeReset(), setOnModelDestroyed(), setOnModelReset(), and unsubscribe().