14 #include <QStringList> 22 qDeleteAll(m_Children);
31 if (!child->
GetData(0).toString().contains(
'.'))
34 bool nodeAlreadyExists =
false;
36 for (
int i = 0; i < m_Children.count(); ++i)
38 if (m_Children[i]->
GetData(0).toString() == child->
GetData(0).toString())
40 if (m_Children[i]->
GetData(1).isNull() && child->
GetData(1).isValid())
41 m_Children[i]->m_Data[1] = child->m_Data[1];
43 nodeAlreadyExists =
true;
48 if (!nodeAlreadyExists)
50 m_Children.append(child);
51 child->m_Parent =
this;
57 QStringList names = child->
GetData(0).toString().split(
'.');
62 for (
int i = 0; i < names.count(); ++i)
64 if (i != names.count() - 1)
69 for (
int j = 0; j < currentParent->m_Children.count(); ++j)
71 if (currentParent->m_Children[j]->GetData(0).toString() == names[i])
73 currentChild = currentParent->m_Children[j];
79 if (currentChild ==
nullptr)
82 data << names[i] << QVariant();
88 currentParent = currentChild;
94 data << names[i] << child->m_Data[1];
107 return m_Children.value(row);
112 return m_Children.count();
117 return m_Data.count();
122 return m_Data.value(column);
132 if (m_Parent !=
nullptr)
133 return m_Parent->m_Children.indexOf(
this);
void AppendChild(QmitkPropertyItem *child)
QmitkPropertyItem * GetChild(int row) const
QmitkPropertyItem * GetParent() const
QmitkPropertyItem(const QList< QVariant > &data)
QVariant GetData(int column) const
int GetChildCount() const
int GetColumnCount() const