BornAgain
1.19.0
Simulate and fit neutron and x-ray scattering at grazing incidence
|
Provides subscribe/unsubscribe mechanism for any QObject to track time of life of SessionItem. More...
Public Types | |
using | callback_t = std::function< void(void)> |
Public Member Functions | |
SessionItemController (QObject *prt) | |
~SessionItemController () | |
SessionItem * | currentItem () |
void | setItem (SessionItem *item) |
void | setSubscribeCallback (callback_t fun) |
void | setUnsubscribeCallback (callback_t fun) |
void | subscribe () |
Subscribe parent to item's signals. More... | |
void | unsubscribe () |
Fully unsubscribes the parent from listening item's signals. More... | |
Private Member Functions | |
void | onControllerDestroy () |
void | onItemDestroy () |
void | subscribeParent () |
void | unsubscribeParent () |
Calls additional callback on un. More... | |
Private Attributes | |
SessionItem * | m_item |
bool | m_parent_subscribed |
callback_t | m_subscribe_callback |
callback_t | m_unsubscribe_callback |
Provides subscribe/unsubscribe mechanism for any QObject to track time of life of SessionItem.
Mainly intended for SessionItemWidget.
Definition at line 26 of file SessionItemController.h.
using SessionItemController::callback_t = std::function<void(void)> |
Definition at line 29 of file SessionItemController.h.
|
explicit |
Definition at line 19 of file SessionItemController.cpp.
References ASSERT.
SessionItemController::~SessionItemController | ( | ) |
Definition at line 25 of file SessionItemController.cpp.
References onControllerDestroy().
SessionItem * SessionItemController::currentItem | ( | ) |
Definition at line 47 of file SessionItemController.cpp.
References m_item.
Referenced by SessionItemWidget::currentItem().
|
private |
Definition at line 94 of file SessionItemController.cpp.
References m_item, SessionItem::mapper(), and ModelMapper::unsubscribe().
Referenced by ~SessionItemController().
|
private |
Definition at line 87 of file SessionItemController.cpp.
References m_item, m_parent_subscribed, and unsubscribeParent().
Referenced by setItem().
void SessionItemController::setItem | ( | SessionItem * | item | ) |
Definition at line 30 of file SessionItemController.cpp.
References m_item, SessionItem::mapper(), onItemDestroy(), ModelMapper::setOnItemDestroy(), unsubscribe(), and ModelMapper::unsubscribe().
Referenced by SessionItemWidget::setItem().
void SessionItemController::setSubscribeCallback | ( | callback_t | fun | ) |
Definition at line 52 of file SessionItemController.cpp.
References m_subscribe_callback.
Referenced by SessionItemWidget::SessionItemWidget().
void SessionItemController::setUnsubscribeCallback | ( | callback_t | fun | ) |
Definition at line 57 of file SessionItemController.cpp.
References m_unsubscribe_callback.
Referenced by SessionItemWidget::SessionItemWidget().
void SessionItemController::subscribe | ( | ) |
Subscribe parent to item's signals.
Definition at line 64 of file SessionItemController.cpp.
References m_item, m_parent_subscribed, and subscribeParent().
Referenced by SessionItemWidget::setItem(), and SessionItemWidget::showEvent().
|
private |
Definition at line 102 of file SessionItemController.cpp.
References ASSERT, m_parent_subscribed, and m_subscribe_callback.
Referenced by subscribe().
void SessionItemController::unsubscribe | ( | ) |
Fully unsubscribes the parent from listening item's signals.
Controller stays active to track item destruction.
Definition at line 76 of file SessionItemController.cpp.
References m_item, m_parent_subscribed, SessionItem::mapper(), ModelMapper::unsubscribe(), and unsubscribeParent().
Referenced by SessionItemWidget::hideEvent(), and setItem().
|
private |
Calls additional callback on un.
Definition at line 112 of file SessionItemController.cpp.
References ASSERT, m_parent_subscribed, and m_unsubscribe_callback.
Referenced by onItemDestroy(), and unsubscribe().
|
private |
Definition at line 52 of file SessionItemController.h.
Referenced by currentItem(), onControllerDestroy(), onItemDestroy(), setItem(), subscribe(), and unsubscribe().
|
private |
Definition at line 53 of file SessionItemController.h.
Referenced by onItemDestroy(), subscribe(), subscribeParent(), unsubscribe(), and unsubscribeParent().
|
private |
Definition at line 50 of file SessionItemController.h.
Referenced by setSubscribeCallback(), and subscribeParent().
|
private |
Definition at line 51 of file SessionItemController.h.
Referenced by setUnsubscribeCallback(), and unsubscribeParent().