27 m_item->mapper()->unsubscribe(
this);
35 unsubscribe_from_current();
42 auto on_item_destroy = [
this](
auto) {
46 m_item->mapper()->setOnItemDestroy(on_item_destroy,
this);
53 item()->mapper()->setOnItemDestroy(f,
this);
61 item()->mapper()->setOnDataChange(f,
this);
69 item()->mapper()->setOnPropertyChange(f,
this);
79 item()->mapper()->setOnChildPropertyChange(f,
this);
89 item()->mapper()->setOnItemInserted(f,
this);
99 item()->mapper()->setOnItemRemoved(f,
this);
104 item()->mapper()->setOnAboutToRemoveItem(f,
this);
124 m_item->mapper()->unsubscribe(
this);
void setOnItemInserted(Callbacks::item_tagrow_t f)
Sets callback to be notified on child insertion.
void setOnPropertyChange(Callbacks::item_str_t f)
Sets callback to be notified on item's property change.
void setOnItemDestroy(Callbacks::item_t f)
SessionItem * item() const
For necessary manipulations on unsubscription.
void setOnItemRemoved(Callbacks::item_tagrow_t f)
Sets callback to be notified on child removal.
void setItem(SessionItem *item)
void unsubscribe_from_current()
virtual ~ItemListenerBase()
void setOnChildPropertyChange(Callbacks::item_str_t f)
Sets callback to be notified on item's children property change.
void setOnDataChange(Callbacks::item_int_t f)
Sets callback to be notified on item's data change.
ItemListenerBase(SessionItem *item=nullptr)
void setOnAboutToRemoveItem(Callbacks::item_tagrow_t f)
The main object representing an editable/displayable/serializable entity.
std::function< void(SessionItem *, std::string)> item_str_t
std::function< void(SessionItem *, TagRow)> item_tagrow_t
std::function< void(SessionItem *, int)> item_int_t
std::function< void(SessionItem *)> item_t