MCPcopy Create free account
hub / github.com/TorqueGameEngines/Torque3D / buildDocument

Method buildDocument

Engine/source/util/settings.cpp:618–653  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

616}
617
618void SettingSaveNode::buildDocument(SimXMLDocument *document, bool skipWrite)
619{
620 // let's build our XML doc
621 if(mIsGroup && !skipWrite)
622 {
623 document->pushNewElement("Group");
624 document->setAttribute("name", mName);
625 }
626
627 if(!mIsGroup && !skipWrite)
628 {
629 document->pushNewElement("Setting");
630 document->setAttribute("name", mName);
631 document->addText(mValue);
632 }
633 else
634 {
635 mSettingNodes.sort(_NodeCompare);
636 mGroupNodes.sort(_NodeCompare);
637
638 for(S32 i=0; i<mSettingNodes.size(); i++)
639 {
640 SettingSaveNode *node = mSettingNodes[i];
641 node->buildDocument(document);
642 }
643
644 for(S32 i=0; i<mGroupNodes.size(); i++)
645 {
646 SettingSaveNode *node = mGroupNodes[i];
647 node->buildDocument(document);
648 }
649 }
650
651 if(!skipWrite)
652 document->popElement();
653}
654
655S32 QSORT_CALLBACK SettingSaveNode::_NodeCompare(SettingSaveNode* const* a, SettingSaveNode* const* b)
656{

Callers 1

writeMethod · 0.80

Calls 6

pushNewElementMethod · 0.80
popElementMethod · 0.80
setAttributeMethod · 0.45
addTextMethod · 0.45
sortMethod · 0.45
sizeMethod · 0.45

Tested by

no test coverage detected