bool BackendHelper::GetFieldRef(const SocRegRef& reg, const QString& sfield, SocFieldRef& ref) { for(size_t i = 0; i < reg.GetReg().field.size(); i++) if(reg.GetReg().field[i].name.c_str() == sfield) { ref = SocFieldRef(reg, i); return true; } return false; }
void RegEdit::AddField(QTreeWidgetItem *_item) { NewFieldTreeItem *item = dynamic_cast< NewFieldTreeItem * >(_item); item->GetRef().GetReg().field.push_back(soc_reg_field_t()); FieldTreeItem *field_item = new FieldTreeItem("", SocFieldRef(item->GetRef(), item->GetRef().GetReg().field.size() - 1)); FixupEmptyItem(field_item); item->parent()->insertChild(item->parent()->indexOfChild(item), field_item); m_soc_tree->setCurrentItem(field_item); emit OnModified(true); }
void RegEdit::FillRegTreeItem(QTreeWidgetItem *_item) { RegTreeItem *item = dynamic_cast< RegTreeItem* >(_item); const soc_reg_t& reg = item->GetRef().GetReg(); for(size_t i = 0; i < reg.field.size(); i++) { const soc_reg_field_t& field = reg.field[i]; FieldTreeItem *field_item = new FieldTreeItem(QString::fromStdString(field.name), SocFieldRef(item->GetRef(), i)); FixupEmptyItem(field_item); item->addChild(field_item); } CreateNewFieldItem(item); }