VariablesListViewItem* VariablesListView::getItemFromPath(QString path)
{
  if(path.isEmpty()) return NULL;

  int sections = path.contains('/') + 1;
  int index = 0;
  QString s, comp;
  VariablesListViewItem* item = dynamic_cast<VariablesListViewItem*>(firstChild());

  do
  {
    if((!item) || (index >= sections)) break;
    s = item->text(0);
    comp = path.section('/', index, index);
    if(item->text(VariablesListView::NameCol) == path.section('/', index, index))
    {
      index++;
      if(index == sections)
      {
        return dynamic_cast<VariablesListViewItem*>(item);
      }
      else
      {
        populateChildren(item);
        item = dynamic_cast<VariablesListViewItem*>(item->firstChild());
      }
    }
    else
    {
      item = dynamic_cast<VariablesListViewItem*>(item->nextSibling());
      continue;
    }
  }
  while(true);

  return NULL;
}
예제 #2
0
파일: octree.cpp 프로젝트: ervanalb/ao
Octree::Octree(Evaluator* e, const Subregion& r, uint32_t flags)
    : Octree(r)
{
    populateChildren(e, r, flags);
    finalize(e, flags);
}
예제 #3
0
inline DistributionPool::DistributionPool(const ContainerNode& parent) {
  populateChildren(parent);
}
void VariablesListView::slotItemExpanded(QListViewItem* item)
{
  VariablesListViewItem* converted = dynamic_cast<VariablesListViewItem*>(item);
  populateChildren(converted);
  markExpanded(converted);
}