BornAgain
1.19.0
Simulate and fit neutron and x-ray scattering at grazing incidence
|
Listens for all changes in ExperimentalDataModel and updates properties in InstrumentModel. More...
Public Member Functions | |
ExperimentalDataController (ExperimentalDataModel *data_model, InstrumentModel *instrument_model) | |
ExperimentalDataModel * | model () const |
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} |
Private Member Functions | |
void | update_all () |
Updates all material properties in LayerItems to get new material colors and labels. More... | |
Private Attributes | |
InstrumentModel * | m_instrument_model {nullptr} |
Listens for all changes in ExperimentalDataModel and updates properties in InstrumentModel.
Main task is to update links of ExperimentalScanItem to particular imported graph, when ExperimentalDataModel is changing.
Definition at line 31 of file experimentaldatacontroller.h.
gui2::ExperimentalDataController::ExperimentalDataController | ( | ExperimentalDataModel * | data_model, |
InstrumentModel * | instrument_model | ||
) |
Definition at line 26 of file experimentaldatacontroller.cpp.
References ModelView::ModelListenerBase::setOnDataChange(), ModelView::ModelListenerBase::setOnItemInserted(), ModelView::ModelListenerBase::setOnItemRemoved(), ModelView::ModelListenerBase::setOnModelReset(), and update_all().
|
inlineinherited |
Definition at line 30 of file modellistener.h.
|
overridevirtualinherited |
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 ModelView::ModelListenerBase::m_model, ModelView::SessionModel::mapper(), and ModelView::ModelMapper::setOnAboutToRemoveItem().
Referenced by ModelView::ItemMapper::ItemMapper(), and ModelView::ViewModelController::ViewModelController().
|
overridevirtualinherited |
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 ModelView::ModelListenerBase::m_model, ModelView::SessionModel::mapper(), and ModelView::ModelMapper::setOnDataChange().
Referenced by ExperimentalDataController(), ModelView::ItemMapper::ItemMapper(), gui2::MaterialPropertyController::MaterialPropertyController(), ModelView::ModelHasChangedController::ModelHasChangedController(), and ModelView::ViewModelController::ViewModelController().
|
overridevirtualinherited |
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 ModelView::ModelListenerBase::m_model, ModelView::SessionModel::mapper(), and ModelView::ModelMapper::setOnItemInserted().
Referenced by ExperimentalDataController(), ModelView::ItemMapper::ItemMapper(), gui2::MaterialPropertyController::MaterialPropertyController(), ModelView::ModelHasChangedController::ModelHasChangedController(), and ModelView::ViewModelController::ViewModelController().
|
overridevirtualinherited |
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 ModelView::ModelListenerBase::m_model, ModelView::SessionModel::mapper(), and ModelView::ModelMapper::setOnItemRemoved().
Referenced by ExperimentalDataController(), ModelView::ItemMapper::ItemMapper(), gui2::MaterialPropertyController::MaterialPropertyController(), ModelView::ModelHasChangedController::ModelHasChangedController(), and ModelView::ViewModelController::ViewModelController().
|
overridevirtualinherited |
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 ModelView::ModelListenerBase::m_model, ModelView::SessionModel::mapper(), and ModelView::ModelMapper::setOnModelAboutToBeReset().
Referenced by ModelView::ViewModelController::ViewModelController().
|
overridevirtualinherited |
Sets the callback for notifications on model destruction.
Implements ModelView::ModelListenerInterface.
Definition at line 69 of file modellistenerbase.cpp.
References ModelView::ModelListenerBase::m_model, ModelView::SessionModel::mapper(), and ModelView::ModelMapper::setOnModelDestroyed().
Referenced by ModelView::ModelListenerBase::ModelListenerBase(), and ModelView::ViewModelController::ViewModelController().
|
overridevirtualinherited |
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 ModelView::ModelListenerBase::m_model, ModelView::SessionModel::mapper(), and ModelView::ModelMapper::setOnModelReset().
Referenced by ExperimentalDataController(), gui2::MaterialPropertyController::MaterialPropertyController(), ModelView::ModelHasChangedController::ModelHasChangedController(), and ModelView::ViewModelController::ViewModelController().
|
overridevirtualinherited |
Removes given client from all subscriptions.
Implements ModelView::ModelListenerInterface.
Definition at line 88 of file modellistenerbase.cpp.
References ModelView::ModelListenerBase::m_model, ModelView::SessionModel::mapper(), and ModelView::ModelMapper::unsubscribe().
Referenced by ModelView::ModelListenerBase::~ModelListenerBase().
|
private |
Updates all material properties in LayerItems to get new material colors and labels.
Definition at line 40 of file experimentaldatacontroller.cpp.
References gui2::Utils::CreateGraphProperties(), gui2::Utils::FindProperty(), m_instrument_model, ModelView::ModelListener< ExperimentalDataModel >::model(), and gui2::ExperimentalScanItem::P_IMPORTED_DATA.
Referenced by ExperimentalDataController().
|
private |
Definition at line 40 of file experimentaldatacontroller.h.
Referenced by update_all().
|
protectedinherited |
Definition at line 46 of file modellistenerbase.h.
Referenced by ModelView::ModelListenerBase::ModelListenerBase(), ModelView::ModelListener< T >::model(), ModelView::ModelListenerBase::setOnAboutToRemoveItem(), ModelView::ModelListenerBase::setOnDataChange(), ModelView::ModelListenerBase::setOnItemInserted(), ModelView::ModelListenerBase::setOnItemRemoved(), ModelView::ModelListenerBase::setOnModelAboutToBeReset(), ModelView::ModelListenerBase::setOnModelDestroyed(), ModelView::ModelListenerBase::setOnModelReset(), and ModelView::ModelListenerBase::unsubscribe().