BornAgain  1.19.0
Simulate and fit neutron and x-ray scattering at grazing incidence
ModelMapper Class Reference
Inheritance diagram for ModelMapper:
[legend]
Collaboration diagram for ModelMapper:
[legend]

Classes

struct  ModelMapperImpl
 

Public Slots

void onBeginRemoveRows (const QModelIndex &parent, int first, int last)
 
void onDataChanged (const QModelIndex &topLeft, const QModelIndex &bottomRight, const QVector< int > &roles={})
 
void onRowRemoved (const QModelIndex &parent, int first, int last)
 
void onRowsInserted (const QModelIndex &parent, int first, int last)
 

Public Member Functions

 ModelMapper (QObject *parent=0)
 
void callOnItemDestroy ()
 Notifies subscribers if an item owning given mapper is about to be destroyed. More...
 
void setActive (bool state)
 
void setItem (SessionItem *item)
 
void setOnAboutToRemoveChild (std::function< void(SessionItem *)> f, const void *caller=0)
 
void setOnAnyChildChange (std::function< void(SessionItem *)> f, const void *caller=0)
 Calls back on any change in children (number of children or their properties), reports childItem. More...
 
void setOnChildPropertyChange (std::function< void(SessionItem *, QString)> f, const void *caller=0)
 Calls back on child property change, report childItem and property name. More...
 
void setOnChildrenChange (std::function< void(SessionItem *)> f, const void *caller=0)
 Calls back when number of children has changed, reports newChild. More...
 
void setOnItemDestroy (std::function< void(SessionItem *)> f, const void *caller=0)
 
void setOnParentChange (std::function< void(SessionItem *)> f, const void *caller=0)
 Calls back when parent has changed, reports newParent. More...
 
void setOnPropertyChange (std::function< void(QString)> f, const void *caller=0)
 
void setOnPropertyChange (std::function< void(SessionItem *, QString)> f, const void *caller=0)
 
void setOnSiblingsChange (std::function< void(void)> f, const void *caller=0)
 
void setOnValueChange (std::function< void(void)> f, const void *caller=0)
 
void unsubscribe (const void *caller)
 Cancells all subscribtion of given caller. More...
 

Private Types

using call_item_str_t = std::pair< std::function< void(SessionItem *, QString)>, const void * >
 
using call_item_t = std::pair< std::function< void(SessionItem *)>, const void * >
 
using call_str_t = std::pair< std::function< void(QString)>, const void * >
 
using call_t = std::pair< std::function< void(void)>, const void * >
 

Private Member Functions

void callOnAboutToRemoveChild (SessionItem *item)
 
void callOnAnyChildChange (SessionItem *item)
 
void callOnChildPropertyChange (SessionItem *item, const QString &name)
 
void callOnChildrenChange (SessionItem *item)
 
void callOnParentChange (SessionItem *new_parent)
 
void callOnPropertyChange (const QString &name)
 
void callOnSiblingsChange ()
 
void callOnValueChange ()
 
template<class U >
void clean_container (U &v, const void *caller)
 removes all callbacks related to given caller More...
 
void clearMapper ()
 
int nestlingDepth (SessionItem *item, int level=0)
 
void setModel (SessionModel *model)
 

Private Attributes

QModelIndex m_aboutToDelete
 
bool m_active
 
SessionItemm_item
 
SessionModelm_model
 
std::vector< call_item_tm_onAboutToRemoveChild
 
std::vector< call_item_tm_onAnyChildChange
 
std::vector< call_item_str_tm_onChildPropertyChange
 
std::vector< call_item_tm_onChildrenChange
 
std::vector< call_item_tm_onItemDestroy
 
std::vector< call_item_tm_onParentChange
 
std::vector< call_item_str_tm_onPropertyChange
 
std::vector< call_tm_onSiblingsChange
 
std::vector< call_tm_onValueChange
 

Detailed Description

Definition at line 24 of file ModelMapper.h.

Member Typedef Documentation

◆ call_item_str_t

using ModelMapper::call_item_str_t = std::pair<std::function<void(SessionItem*, QString)>, const void*>
private

Definition at line 93 of file ModelMapper.h.

◆ call_item_t

using ModelMapper::call_item_t = std::pair<std::function<void(SessionItem*)>, const void*>
private

Definition at line 92 of file ModelMapper.h.

◆ call_str_t

using ModelMapper::call_str_t = std::pair<std::function<void(QString)>, const void*>
private

Definition at line 91 of file ModelMapper.h.

◆ call_t

using ModelMapper::call_t = std::pair<std::function<void(void)>, const void*>
private

Definition at line 90 of file ModelMapper.h.

Constructor & Destructor Documentation

◆ ModelMapper()

ModelMapper::ModelMapper ( QObject *  parent = 0)

Definition at line 17 of file ModelMapper.cpp.

18  : QObject(parent), m_active(true), m_model(nullptr), m_item(nullptr)
19 {
20 }
SessionModel * m_model
Definition: ModelMapper.h:87
bool m_active
Definition: ModelMapper.h:86
SessionItem * m_item
Definition: ModelMapper.h:88

Member Function Documentation

◆ callOnAboutToRemoveChild()

void ModelMapper::callOnAboutToRemoveChild ( SessionItem item)
private

Definition at line 189 of file ModelMapper.cpp.

190 {
191  if (m_active)
192  for (auto f : m_onAboutToRemoveChild)
193  f.first(item);
194 }
std::vector< call_item_t > m_onAboutToRemoveChild
Definition: ModelMapper.h:103

References m_active, and m_onAboutToRemoveChild.

Referenced by onBeginRemoveRows().

◆ callOnAnyChildChange()

void ModelMapper::callOnAnyChildChange ( SessionItem item)
private

Definition at line 182 of file ModelMapper.cpp.

183 {
184  if (m_active)
185  for (auto f : m_onAnyChildChange)
186  f.first(item);
187 }
std::vector< call_item_t > m_onAnyChildChange
Definition: ModelMapper.h:101

References m_active, and m_onAnyChildChange.

Referenced by onDataChanged(), onRowRemoved(), and onRowsInserted().

◆ callOnChildPropertyChange()

void ModelMapper::callOnChildPropertyChange ( SessionItem item,
const QString &  name 
)
private

Definition at line 154 of file ModelMapper.cpp.

155 {
156  if (m_active)
157  for (auto f : m_onChildPropertyChange)
158  f.first(item, name);
159 }
std::vector< call_item_str_t > m_onChildPropertyChange
Definition: ModelMapper.h:97
QString const & name(EShape k)
Definition: particles.cpp:21

References m_active, m_onChildPropertyChange, and RealSpace::Particles::name().

Referenced by onDataChanged().

Here is the call graph for this function:

◆ callOnChildrenChange()

void ModelMapper::callOnChildrenChange ( SessionItem item)
private

Definition at line 168 of file ModelMapper.cpp.

169 {
170  if (m_active)
171  for (auto f : m_onChildrenChange)
172  f.first(item);
173 }
std::vector< call_item_t > m_onChildrenChange
Definition: ModelMapper.h:99

References m_active, and m_onChildrenChange.

Referenced by onRowRemoved(), and onRowsInserted().

◆ callOnItemDestroy()

void ModelMapper::callOnItemDestroy ( )

Notifies subscribers if an item owning given mapper is about to be destroyed.

Definition at line 197 of file ModelMapper.cpp.

198 {
199  if (m_active)
200  for (auto f : m_onItemDestroy)
201  f.first(m_item);
202 }
std::vector< call_item_t > m_onItemDestroy
Definition: ModelMapper.h:102

References m_active, m_item, and m_onItemDestroy.

◆ callOnParentChange()

void ModelMapper::callOnParentChange ( SessionItem new_parent)
private

Definition at line 161 of file ModelMapper.cpp.

162 {
163  if (m_active)
164  for (auto f : m_onParentChange)
165  f.first(new_parent);
166 }
std::vector< call_item_t > m_onParentChange
Definition: ModelMapper.h:98

References m_active, and m_onParentChange.

Referenced by onBeginRemoveRows(), and onRowsInserted().

◆ callOnPropertyChange()

void ModelMapper::callOnPropertyChange ( const QString &  name)
private

Definition at line 147 of file ModelMapper.cpp.

148 {
149  if (m_active)
150  for (auto f : m_onPropertyChange)
151  f.first(m_item, name);
152 }
std::vector< call_item_str_t > m_onPropertyChange
Definition: ModelMapper.h:96

References m_active, m_item, m_onPropertyChange, and RealSpace::Particles::name().

Referenced by onDataChanged().

Here is the call graph for this function:

◆ callOnSiblingsChange()

void ModelMapper::callOnSiblingsChange ( )
private

Definition at line 175 of file ModelMapper.cpp.

176 {
177  if (m_active)
178  for (auto f : m_onSiblingsChange)
179  f.first();
180 }
std::vector< call_t > m_onSiblingsChange
Definition: ModelMapper.h:100

References m_active, and m_onSiblingsChange.

Referenced by onRowRemoved(), and onRowsInserted().

◆ callOnValueChange()

void ModelMapper::callOnValueChange ( )
private

Definition at line 140 of file ModelMapper.cpp.

141 {
142  if (m_active && m_onValueChange.size() > 0)
143  for (auto f : m_onValueChange)
144  f.first();
145 }
std::vector< call_t > m_onValueChange
Definition: ModelMapper.h:95

References m_active, and m_onValueChange.

Referenced by onDataChanged().

◆ clean_container()

template<class U >
void ModelMapper::clean_container ( U &  v,
const void *  caller 
)
inlineprivate

removes all callbacks related to given caller

Definition at line 107 of file ModelMapper.h.

108 {
109  v.erase(std::remove_if(
110  v.begin(), v.end(),
111  [caller](typename U::value_type const& x) -> bool { return (x.second == caller); }),
112  v.end());
113 }

Referenced by unsubscribe().

◆ clearMapper()

void ModelMapper::clearMapper ( )
private

Definition at line 204 of file ModelMapper.cpp.

205 {
206  m_item = nullptr;
207  setModel(nullptr);
208  m_onValueChange.clear();
209  m_onPropertyChange.clear();
210  m_onChildPropertyChange.clear();
211  m_onParentChange.clear();
212  m_onChildrenChange.clear();
213  m_onSiblingsChange.clear();
214  m_onAnyChildChange.clear();
215  m_onItemDestroy.clear();
216  m_onAboutToRemoveChild.clear();
217 }
void setModel(SessionModel *model)

References m_item, m_onAboutToRemoveChild, m_onAnyChildChange, m_onChildPropertyChange, m_onChildrenChange, m_onItemDestroy, m_onParentChange, m_onPropertyChange, m_onSiblingsChange, m_onValueChange, and setModel().

Referenced by onRowRemoved().

Here is the call graph for this function:

◆ nestlingDepth()

int ModelMapper::nestlingDepth ( SessionItem item,
int  level = 0 
)
private

Definition at line 130 of file ModelMapper.cpp.

131 {
132  if (item == nullptr || item == m_model->rootItem())
133  return -1;
134  if (item == m_item)
135  return level;
136 
137  return nestlingDepth(item->parent(), level + 1);
138 }
int nestlingDepth(SessionItem *item, int level=0)
SessionItem * parent() const
Returns parent of this item.
Definition: SessionItem.cpp:73
SessionItem * rootItem() const

References m_item, m_model, SessionItem::parent(), and SessionModel::rootItem().

Referenced by onBeginRemoveRows(), onDataChanged(), onRowRemoved(), and onRowsInserted().

Here is the call graph for this function:

◆ onBeginRemoveRows

void ModelMapper::onBeginRemoveRows ( const QModelIndex &  parent,
int  first,
int  last 
)
slot

Definition at line 275 of file ModelMapper.cpp.

276 {
277  SessionItem* oldChild = m_model->itemForIndex(m_model->index(first, 0, parent));
278 
279  int nestling = nestlingDepth(m_model->itemForIndex(parent));
280 
281  if (oldChild) {
282  if (m_item == oldChild)
283  callOnParentChange(nullptr);
284  if (nestling == 0)
285  callOnAboutToRemoveChild(oldChild);
286  }
287 
288  if (m_item == oldChild)
289  m_aboutToDelete = m_model->index(first, 0, parent);
290 }
QModelIndex m_aboutToDelete
Definition: ModelMapper.h:104
void callOnAboutToRemoveChild(SessionItem *item)
void callOnParentChange(SessionItem *new_parent)
SessionItem * itemForIndex(const QModelIndex &index) const
virtual QModelIndex index(int row, int column, const QModelIndex &parent) const

References callOnAboutToRemoveChild(), callOnParentChange(), SessionModel::index(), SessionModel::itemForIndex(), m_aboutToDelete, m_item, m_model, and nestlingDepth().

Referenced by setModel().

Here is the call graph for this function:

◆ onDataChanged

void ModelMapper::onDataChanged ( const QModelIndex &  topLeft,
const QModelIndex &  bottomRight,
const QVector< int > &  roles = {} 
)
slot

Definition at line 219 of file ModelMapper.cpp.

221 {
222  if (topLeft.parent() != bottomRight.parent())
223  return; // range must be from the same parent
224 
225  SessionItem* item = m_model->itemForIndex(topLeft);
226 
227  int nestling = nestlingDepth(item);
228  if (nestling == 0)
230 
231  if (nestling == 1) {
232  // something happened with our children
233  if (SessionItem* item = m_model->itemForIndex(topLeft)) {
234  // only care f
235  const QString tag = m_item->tagFromItem(item);
236  if (!tag.isEmpty()) {
238  }
239  }
240  }
241  if (nestling > 1) {
242  if (SessionItem* parent = item->parent()) {
243  const QString tag = parent->tagFromItem(item);
244  if (!tag.isEmpty()) {
245  callOnChildPropertyChange(parent, tag);
246  }
247  }
248  }
249  if (nestling > 0)
250  callOnAnyChildChange(item);
251 }
void callOnPropertyChange(const QString &name)
void callOnChildPropertyChange(SessionItem *item, const QString &name)
void callOnValueChange()
void callOnAnyChildChange(SessionItem *item)
QString tagFromItem(const SessionItem *item) const
Returns the tag name of given item when existing.

References callOnAnyChildChange(), callOnChildPropertyChange(), callOnPropertyChange(), callOnValueChange(), SessionModel::itemForIndex(), m_item, m_model, nestlingDepth(), SessionItem::parent(), and SessionItem::tagFromItem().

Referenced by setModel().

Here is the call graph for this function:

◆ onRowRemoved

void ModelMapper::onRowRemoved ( const QModelIndex &  parent,
int  first,
int  last 
)
slot

Definition at line 292 of file ModelMapper.cpp.

293 {
294  int nestling = nestlingDepth(m_model->itemForIndex(parent));
295 
296  if (nestling >= 0 || m_model->itemForIndex(parent) == m_item->parent()) {
297  callOnAnyChildChange(nullptr);
299  }
300  if (nestling == 0)
301  callOnChildrenChange(nullptr);
302 
303  if (m_aboutToDelete.isValid() && m_aboutToDelete == m_model->index(first, 0, parent))
304  clearMapper();
305 }
void clearMapper()
void callOnChildrenChange(SessionItem *item)
void callOnSiblingsChange()

References callOnAnyChildChange(), callOnChildrenChange(), callOnSiblingsChange(), clearMapper(), SessionModel::index(), SessionModel::itemForIndex(), m_aboutToDelete, m_item, m_model, nestlingDepth(), and SessionItem::parent().

Referenced by setModel().

Here is the call graph for this function:

◆ onRowsInserted

void ModelMapper::onRowsInserted ( const QModelIndex &  parent,
int  first,
int  last 
)
slot

Definition at line 253 of file ModelMapper.cpp.

254 {
255  SessionItem* newChild = m_model->itemForIndex(m_model->index(first, 0, parent));
256 
257  int nestling = nestlingDepth(newChild);
258 
259  if (newChild)
260  if (m_item == newChild)
262  if (nestling == 1)
263  callOnChildrenChange(newChild);
264  if (SessionItem* parent = newChild->parent()) {
265  QVector<SessionItem*> items = parent->getChildrenOfType(newChild->modelType());
266  for (auto sibling : items)
267  if (m_item == sibling)
269  }
270  if (nestling > 0) {
271  callOnAnyChildChange(newChild);
272  }
273 }
QString modelType() const
Get model type.

References callOnAnyChildChange(), callOnChildrenChange(), callOnParentChange(), callOnSiblingsChange(), SessionModel::index(), SessionModel::itemForIndex(), m_item, m_model, SessionItem::modelType(), nestlingDepth(), and SessionItem::parent().

Referenced by setModel().

Here is the call graph for this function:

◆ setActive()

void ModelMapper::setActive ( bool  state)
inline

Definition at line 48 of file ModelMapper.h.

48 { m_active = state; }

References m_active.

Referenced by RealDataItem::RealDataItem().

◆ setItem()

void ModelMapper::setItem ( SessionItem item)

Definition at line 22 of file ModelMapper.cpp.

23 {
24  if (item) {
25  m_item = item;
26  setModel(item->model());
27  }
28 }
SessionModel * model() const
Returns model of this item.
Definition: SessionItem.cpp:66

References m_item, SessionItem::model(), and setModel().

Here is the call graph for this function:

◆ setModel()

void ModelMapper::setModel ( SessionModel model)
private

Definition at line 111 of file ModelMapper.cpp.

112 {
113  if (m_model) {
114  disconnect(m_model, &SessionModel::dataChanged, this, &ModelMapper::onDataChanged);
115  disconnect(m_model, &SessionModel::rowsInserted, this, &ModelMapper::onRowsInserted);
116  disconnect(m_model, &SessionModel::rowsAboutToBeRemoved, this,
118  disconnect(m_model, &SessionModel::rowsRemoved, this, &ModelMapper::onRowRemoved);
119  }
120  m_model = model;
121  if (m_model) {
122  connect(m_model, &SessionModel::dataChanged, this, &ModelMapper::onDataChanged);
123  connect(m_model, &SessionModel::rowsInserted, this, &ModelMapper::onRowsInserted);
124  connect(m_model, &SessionModel::rowsAboutToBeRemoved, this,
126  connect(m_model, &SessionModel::rowsRemoved, this, &ModelMapper::onRowRemoved);
127  }
128 }
void onBeginRemoveRows(const QModelIndex &parent, int first, int last)
void onRowRemoved(const QModelIndex &parent, int first, int last)
void onDataChanged(const QModelIndex &topLeft, const QModelIndex &bottomRight, const QVector< int > &roles={})
void onRowsInserted(const QModelIndex &parent, int first, int last)

References m_model, onBeginRemoveRows(), onDataChanged(), onRowRemoved(), and onRowsInserted().

Referenced by clearMapper(), and setItem().

Here is the call graph for this function:

◆ setOnAboutToRemoveChild()

void ModelMapper::setOnAboutToRemoveChild ( std::function< void(SessionItem *)>  f,
const void *  caller = 0 
)

Definition at line 92 of file ModelMapper.cpp.

93 {
94  m_onAboutToRemoveChild.push_back(call_item_t(f, caller));
95 }
std::pair< std::function< void(SessionItem *)>, const void * > call_item_t
Definition: ModelMapper.h:92

References m_onAboutToRemoveChild.

Referenced by ProjectionsPlot::subscribeToItem().

◆ setOnAnyChildChange()

void ModelMapper::setOnAnyChildChange ( std::function< void(SessionItem *)>  f,
const void *  caller = 0 
)

Calls back on any change in children (number of children or their properties), reports childItem.

childItem == nullptr denotes the case when child was removed.

Definition at line 82 of file ModelMapper.cpp.

83 {
84  m_onAnyChildChange.push_back(call_item_t(f, caller));
85 }

References m_onAnyChildChange.

Referenced by ParticleDistributionItem::ParticleDistributionItem(), and ParticleLayoutItem::ParticleLayoutItem().

◆ setOnChildPropertyChange()

◆ setOnChildrenChange()

void ModelMapper::setOnChildrenChange ( std::function< void(SessionItem *)>  f,
const void *  caller = 0 
)

Calls back when number of children has changed, reports newChild.

newChild == nullptr denotes the case when number of children has decreased.

Definition at line 68 of file ModelMapper.cpp.

69 {
70  m_onChildrenChange.push_back(call_item_t(f, caller));
71 }

References m_onChildrenChange.

Referenced by MultiLayerItem::MultiLayerItem(), ParticleLayoutItem::ParticleLayoutItem(), RealDataItem::RealDataItem(), and ProjectionsPlot::subscribeToItem().

◆ setOnItemDestroy()

◆ setOnParentChange()

void ModelMapper::setOnParentChange ( std::function< void(SessionItem *)>  f,
const void *  caller = 0 
)

Calls back when parent has changed, reports newParent.

If newParent=0, the item is about being to be removed from children. Method parent() will still report old parent. If newParent!=0, it is just the same as parent().

Definition at line 60 of file ModelMapper.cpp.

61 {
62  m_onParentChange.push_back(call_item_t(f, caller));
63 }

References m_onParentChange.

Referenced by LayerItem::LayerItem(), MesoCrystalItem::MesoCrystalItem(), ParticleCompositionItem::ParticleCompositionItem(), ParticleCoreShellItem::ParticleCoreShellItem(), and ParticleItem::ParticleItem().

◆ setOnPropertyChange() [1/2]

void ModelMapper::setOnPropertyChange ( std::function< void(QString)>  f,
const void *  caller = 0 
)

Definition at line 35 of file ModelMapper.cpp.

36 {
37  auto ff = [=](SessionItem* /*item*/, const QString& property) { f(property); };
38  m_onPropertyChange.push_back(call_item_str_t(ff, caller));
39 }

References m_onPropertyChange.

Referenced by AmplitudeAxisItem::AmplitudeAxisItem(), Data1DViewItem::Data1DViewItem(), DataItem::DataItem(), DetectorItem::DetectorItem(), FitParameterItem::FitParameterItem(), InterferenceFunction2DLatticeItem::InterferenceFunction2DLatticeItem(), InterferenceFunction2DParaCrystalItem::InterferenceFunction2DParaCrystalItem(), InterferenceFunctionFinite2DLatticeItem::InterferenceFunctionFinite2DLatticeItem(), JobItem::JobItem(), ParticleDistributionItem::ParticleDistributionItem(), PointwiseAxisItem::PointwiseAxisItem(), RealDataItem::RealDataItem(), RectangularDetectorItem::RectangularDetectorItem(), SimulationOptionsItem::SimulationOptionsItem(), VectorItem::VectorItem(), PropertyRepeater::addItem(), DistributionWidget::setItem(), FitSessionController::setItem(), RealDataPropertiesWidget::setItem(), IShape2DView::setParameterizedItem(), IView::setParameterizedItem(), DiffItemController::subscribe(), FitFlowWidget::subscribeToItem(), RunFitControlWidget::subscribeToItem(), DistributionEditor::subscribeToItem(), GISASDetectorEditor::subscribeToItem(), PolarizationAnalysisEditor::subscribeToItem(), RectangularDetectorEditor::subscribeToItem(), IntensityDataCanvas::subscribeToItem(), ProjectionsPlot::subscribeToItem(), JobPropertiesWidget::subscribeToItem(), ParameterTuningWidget::subscribeToItem(), FitComparisonWidget::subscribeToItem(), FitComparisonWidget1D::subscribeToItem(), ColorMap::subscribeToItem(), Plot1D::subscribeToItem(), and SpecularPlot::subscribeToItem().

◆ setOnPropertyChange() [2/2]

void ModelMapper::setOnPropertyChange ( std::function< void(SessionItem *, QString)>  f,
const void *  caller = 0 
)

Definition at line 41 of file ModelMapper.cpp.

43 {
44  m_onPropertyChange.push_back(call_item_str_t(f, caller));
45 }

References m_onPropertyChange.

◆ setOnSiblingsChange()

void ModelMapper::setOnSiblingsChange ( std::function< void(void)>  f,
const void *  caller = 0 
)

Definition at line 73 of file ModelMapper.cpp.

74 {
75  m_onSiblingsChange.push_back(call_t(f, caller));
76 }
std::pair< std::function< void(void)>, const void * > call_t
Definition: ModelMapper.h:90

References m_onSiblingsChange.

Referenced by IView::setParameterizedItem().

◆ setOnValueChange()

void ModelMapper::setOnValueChange ( std::function< void(void)>  f,
const void *  caller = 0 
)

◆ unsubscribe()

void ModelMapper::unsubscribe ( const void *  caller)

Cancells all subscribtion of given caller.

Definition at line 98 of file ModelMapper.cpp.

99 {
109 }
void clean_container(U &v, const void *caller)
removes all callbacks related to given caller
Definition: ModelMapper.h:107

References clean_container(), m_onAboutToRemoveChild, m_onAnyChildChange, m_onChildPropertyChange, m_onChildrenChange, m_onItemDestroy, m_onParentChange, m_onPropertyChange, m_onSiblingsChange, and m_onValueChange.

Referenced by DistributionWidget::~DistributionWidget(), FitParameterProxyModel::~FitParameterProxyModel(), IShape2DView::~IShape2DView(), IView::~IView(), SessionItemController::onControllerDestroy(), DistributionWidget::setItem(), RealDataPropertiesWidget::setItem(), SessionItemController::setItem(), IShape2DView::setParameterizedItem(), SessionItemController::unsubscribe(), DiffItemController::unsubscribe(), RunFitControlWidget::unsubscribeFromChildren(), and ProjectionsPlot::unsubscribeFromChildren().

Here is the call graph for this function:

Member Data Documentation

◆ m_aboutToDelete

QModelIndex ModelMapper::m_aboutToDelete
private

Definition at line 104 of file ModelMapper.h.

Referenced by onBeginRemoveRows(), and onRowRemoved().

◆ m_active

◆ m_item

◆ m_model

SessionModel* ModelMapper::m_model
private

◆ m_onAboutToRemoveChild

std::vector<call_item_t> ModelMapper::m_onAboutToRemoveChild
private

◆ m_onAnyChildChange

std::vector<call_item_t> ModelMapper::m_onAnyChildChange
private

Definition at line 101 of file ModelMapper.h.

Referenced by callOnAnyChildChange(), clearMapper(), setOnAnyChildChange(), and unsubscribe().

◆ m_onChildPropertyChange

std::vector<call_item_str_t> ModelMapper::m_onChildPropertyChange
private

◆ m_onChildrenChange

std::vector<call_item_t> ModelMapper::m_onChildrenChange
private

Definition at line 99 of file ModelMapper.h.

Referenced by callOnChildrenChange(), clearMapper(), setOnChildrenChange(), and unsubscribe().

◆ m_onItemDestroy

std::vector<call_item_t> ModelMapper::m_onItemDestroy
private

Definition at line 102 of file ModelMapper.h.

Referenced by callOnItemDestroy(), clearMapper(), setOnItemDestroy(), and unsubscribe().

◆ m_onParentChange

std::vector<call_item_t> ModelMapper::m_onParentChange
private

Definition at line 98 of file ModelMapper.h.

Referenced by callOnParentChange(), clearMapper(), setOnParentChange(), and unsubscribe().

◆ m_onPropertyChange

std::vector<call_item_str_t> ModelMapper::m_onPropertyChange
private

Definition at line 96 of file ModelMapper.h.

Referenced by callOnPropertyChange(), clearMapper(), setOnPropertyChange(), and unsubscribe().

◆ m_onSiblingsChange

std::vector<call_t> ModelMapper::m_onSiblingsChange
private

Definition at line 100 of file ModelMapper.h.

Referenced by callOnSiblingsChange(), clearMapper(), setOnSiblingsChange(), and unsubscribe().

◆ m_onValueChange

std::vector<call_t> ModelMapper::m_onValueChange
private

Definition at line 95 of file ModelMapper.h.

Referenced by callOnValueChange(), clearMapper(), setOnValueChange(), and unsubscribe().


The documentation for this class was generated from the following files: