BornAgain  1.19.0
Simulate and fit neutron and x-ray scattering at grazing incidence
ComponentUtils Namespace Reference

Contains collection of utility functions to support editing of SessionItem's components. More...

Functions

QList< const SessionItem * > componentItems (const SessionItem &item)
 Returns list of SessionItem's children suitable for editing in property editors. More...
 
QStringList propertyRelatedTypes ()
 Returns list of strings representing modelTypes suitable for editing in component editors. More...
 

Detailed Description

Contains collection of utility functions to support editing of SessionItem's components.

Function Documentation

◆ componentItems()

QList< const SessionItem * > ComponentUtils::componentItems ( const SessionItem item)

Returns list of SessionItem's children suitable for editing in property editors.

Definition at line 33 of file ComponentUtils.cpp.

34 {
35  static QStringList propertyRelated = ComponentUtils::propertyRelatedTypes();
36 
37  QList<const SessionItem*> result;
38 
39  if (item.modelType() == "Property") {
40  result.push_back(&item);
41 
42  } else if (item.modelType() == "GroupProperty") {
43  result.push_back(&item);
44  result += groupItems(item);
45 
46  } else {
47 
48  for (auto child : item.children()) {
49  if (!child->isVisible())
50  continue;
51 
52  if (propertyRelated.contains(child->modelType()))
53  result.append(child);
54 
55  if (child->modelType() == "GroupProperty")
56  result += groupItems(*child);
57  }
58  }
59 
60  return result;
61 }
QVector< SessionItem * > children() const
Returns vector of all children.
QString modelType() const
Get model type.
QStringList propertyRelatedTypes()
Returns list of strings representing modelTypes suitable for editing in component editors.

References SessionItem::children(), SessionItem::modelType(), and propertyRelatedTypes().

Referenced by ComponentFlatView::updateItemProperties().

Here is the call graph for this function:

◆ propertyRelatedTypes()

QStringList ComponentUtils::propertyRelatedTypes ( )

Returns list of strings representing modelTypes suitable for editing in component editors.

Definition at line 22 of file ComponentUtils.cpp.

23 {
24  QStringList result = QStringList() << "Property"
25  << "GroupProperty"
26  << "Vector"
27  << "BasicAxis"
28  << "AmplitudeAxis"
29  << "MaterialRefractiveData";
30  return result;
31 }

Referenced by componentItems(), and ComponentProxyStrategy::isPropertyRelated().