void dlgPackageExporter::recurseTriggers(TTrigger* trig, QTreeWidgetItem* qTrig){ list<TTrigger *> * childList = trig->getChildrenList(); if (!childList->size()) return; list<TTrigger *>::iterator it; for(it=childList->begin(); it!=childList->end();it++){ TTrigger * pChild = *it; if (pChild->isTempTrigger()) continue; QStringList sl; sl << pChild->getName(); QTreeWidgetItem * pItem = new QTreeWidgetItem(sl); triggerMap.insert(pItem, pChild); pItem->setFlags(Qt::ItemIsUserCheckable|Qt::ItemIsTristate|Qt::ItemIsEnabled|Qt::ItemIsSelectable); pItem->setCheckState(0, Qt::Unchecked); qTrig->addChild(pItem); recurseTriggers(pChild, pItem); } }
void dlgPackageExporter::listTriggers() { TriggerUnit* tu = mpHost->getTriggerUnit(); list<TTrigger *>::const_iterator it; std::list<TTrigger *> tList = tu->getTriggerRootNodeList(); QList<QTreeWidgetItem *> items = treeWidget->findItems(QString("Triggers"), Qt::MatchExactly, 0); QTreeWidgetItem * top = items.first(); for(it = tList.begin(); it != tList.end(); it++) { TTrigger * pChild = *it; QStringList sl; sl << pChild->getName(); QTreeWidgetItem * pItem = new QTreeWidgetItem(sl); pItem->setFlags(Qt::ItemIsUserCheckable|Qt::ItemIsTristate|Qt::ItemIsEnabled|Qt::ItemIsSelectable); pItem->setCheckState(0, Qt::Unchecked); top->addChild(pItem); triggerMap.insert(pItem, pChild); recurseTriggers(pChild, pItem); } }