void RegEdit::AddDevice(QTreeWidgetItem *_item) { NewDevTreeItem *item = dynamic_cast< NewDevTreeItem * >(_item); item->GetRef().GetSoc().dev.push_back(soc_dev_t()); DevTreeItem *dev_item = new DevTreeItem("", SocDevRef(item->GetRef(), item->GetRef().GetSoc().dev.size() - 1, -1)); FixupEmptyItem(dev_item); item->parent()->insertChild(item->parent()->indexOfChild(item), dev_item); CreateNewRegisterItem(dev_item); m_soc_tree->setCurrentItem(dev_item); emit OnModified(true); }
bool BackendHelper::GetDevRef(const QString& sdev, SocDevRef& ref) { for(size_t i = 0; i < m_soc.GetSoc().dev.size(); i++) { const soc_dev_t& dev = m_soc.GetSoc().dev[i]; for(size_t j = 0; j < dev.addr.size(); j++) if(dev.addr[j].name.c_str() == sdev) { ref = SocDevRef(m_soc, i, j); return true; } } return false; }
void RegEdit::FillSocTreeItem(QTreeWidgetItem *_item) { SocTreeItem *item = dynamic_cast< SocTreeItem* >(_item); const soc_t& soc = item->GetRef().GetSoc(); for(size_t i = 0; i < soc.dev.size(); i++) { const soc_dev_t& reg = soc.dev[i]; DevTreeItem *dev_item = new DevTreeItem(QString::fromStdString(reg.name), SocDevRef(item->GetRef(), i, -1)); FixupEmptyItem(dev_item); FillDevTreeItem(dev_item); item->addChild(dev_item); } CreateNewDeviceItem(item); }