503{
504 if ( treenode * handlerclass = confaccessor::gethandler()->getnode (
obj.class_name() ) )
505 {
506 if (
obj.class_name() == this_class_name.toStdString()
507 or config::api::info::onclass::derived (
508 this_class_name.toStdString(),
obj.class_name() ) )
509 {
510
512 handlerclass, QString::fromStdString (
obj.UID() ) );
513
514 if ( handlernode == nullptr )
515 {
516 handlernode = new ObjectNode ( obj, false, handlerclass );
517 }
518
519 emit layoutAboutToBeChanged();
520
521
522
524 auto sit = this_structure.begin();
525 auto it = this_objects.begin();
526
527 for ( ;
528 it != this_objects.end() and sit != this_structure.end()
529 and it->UID() < handlerobj.UID(); ++it, ++sit )
530 {}
531
532 this_structure.insert ( ++sit, createrow ( handlernode ) );
533
534 this_objects.insert ( ++it, handlerobj );
535
536
537
538
539 emit layoutChanged();
540 }
541 }
542}
static treenode * findchild(treenode *top, QString const &name)
virtual tref GetObject() const
inner::configobject::tref tref