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

Method getTextToRoot

Engine/source/gui/controls/guiTreeViewCtrl.cpp:4422–4460  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

4420//-----------------------------------------------------------------------------
4421
4422StringTableEntry GuiTreeViewCtrl::getTextToRoot( S32 itemId, const char * delimiter )
4423{
4424 Item * item = getItem(itemId);
4425
4426 if(!item)
4427 {
4428 Con::errorf(ConsoleLogEntry::General, "GuiTreeViewCtrl::getTextToRoot: invalid start item id!");
4429 return StringTable->EmptyString();
4430 }
4431
4432 if(item->isInspectorData())
4433 {
4434 Con::errorf(ConsoleLogEntry::General, "GuiTreeViewCtrl::getTextToRoot: cannot get text to root of inspector data items");
4435 return StringTable->EmptyString();
4436 }
4437
4438 char bufferOne[1024];
4439 char bufferTwo[1024];
4440 char bufferNodeText[128];
4441
4442 dMemset( bufferOne, 0, sizeof(bufferOne) );
4443 dMemset( bufferTwo, 0, sizeof(bufferTwo) );
4444
4445 dStrcpy( bufferOne, item->getText(), 1024 );
4446
4447 Item *prevNode = item->mParent;
4448 while ( prevNode )
4449 {
4450 dMemset( bufferNodeText, 0, sizeof(bufferNodeText) );
4451 dStrcpy( bufferNodeText, prevNode->getText(), 128 );
4452 dSprintf( bufferTwo, 1024, "%s%s%s",bufferNodeText, delimiter, bufferOne );
4453 dStrcpy( bufferOne, bufferTwo, 1024 );
4454 dMemset( bufferTwo, 0, sizeof(bufferTwo) );
4455 prevNode = prevNode->mParent;
4456 }
4457
4458 // Return the result, StringTable-ized.
4459 return StringTable->insert( bufferOne, true );
4460}
4461
4462//-----------------------------------------------------------------------------
4463

Callers 1

Calls 8

dStrcpyFunction · 0.85
dSprintfFunction · 0.85
EmptyStringMethod · 0.80
isInspectorDataMethod · 0.80
errorfFunction · 0.50
dMemsetFunction · 0.50
getTextMethod · 0.45
insertMethod · 0.45

Tested by

no test coverage detected