void URDFProperty::addLinkProperty(boost::shared_ptr<urdf::Link> link) { QTreeWidgetItem *item = new QTreeWidgetItem(link_root_); item->setText(0, QString::fromStdString(link->name)); root_->addChild(item); LinkPropertyPtr tree_link(new LinkProperty(link)); QObject::connect(tree_link.get(), SIGNAL(linkNameChanged(LinkProperty *, const QVariant &)), this, SLOT(on_propertyWidget_linkNameChanged(LinkProperty*,QVariant))); ltree_to_link_property_[item] = tree_link; link_property_to_ltree_[tree_link.get()] = item; link_names_.append(QString::fromStdString(link->name)); }
tree_t *tree_load(tree_t *tree, char *filename) { int filename_len = strlen(filename); char filename_buf[filename_len+strlen(TREE_DEF_SUFFIX)+1]; char *basename, *suffix; /* Clear file information */ if ( tree->loc.filename != NULL ) free(tree->loc.filename); tree->loc.filename = NULL; tree->loc.lineno = 0; /* Clear error list */ tree_error_clear(tree); /* Initial load state */ tree->current = NULL; /* Determine file type */ strcpy(filename_buf, filename); filename = filename_buf; basename = strrchr(filename, G_DIR_SEPARATOR); if ( basename == NULL ) basename = filename; suffix = strrchr(basename, '.'); if ( suffix == NULL ) { suffix = filename + filename_len; strcpy(suffix, TREE_DEF_SUFFIX); } /* Load tree file */ if ( tree_scan_root(tree, filename) ) return NULL; tree->loc.filename = strdup(filename); /* Check tree health */ if ( tree->errcount > 0 ) return tree; /* Link whole tree */ tree_link(tree); if ( tree->errcount > 0 ) return tree; /* Setup parent sequence links */ tree_object_link_seq(tree->head->object, NULL, NULL); /* Check for dead execution nodes */ tree_simu(tree); /* Load initial breakpoint and force_skip states from init file */ tree_init_load(tree); tree->current = tree->head; tree->t0 = time(NULL); return tree; }