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

Method insertItem

Engine/source/gui/controls/guiTreeViewCtrl.cpp:1360–1433  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1358//------------------------------------------------------------------------------
1359
1360S32 GuiTreeViewCtrl::insertItem(S32 parentId, const char * text, const char * value, const char * iconString, S16 normalImage, S16 expandedImage)
1361{
1362 if( ( parentId < 0 ) || ( parentId > mItems.size() ) )
1363 {
1364 Con::errorf(ConsoleLogEntry::General, "GuiTreeViewCtrl::insertItem: invalid parent id!");
1365 return 0;
1366 }
1367
1368 if((parentId != 0) && (mItems[parentId-1] == 0))
1369 {
1370 Con::errorf(ConsoleLogEntry::General, "GuiTreeViewCtrl::insertItem: parent item invalid!");
1371 return 0;
1372 }
1373
1374
1375 const char * pItemText = ( text != NULL ) ? text : "";
1376 const char * pItemValue = ( value != NULL ) ? value : "";
1377
1378 S32 icon = getIcon(iconString);
1379
1380 // create an item (assigns id)
1381 Item * pNewItem = createItem(icon);
1382 if( pNewItem == NULL )
1383 return 0;
1384
1385 pNewItem->setText( StringTable->insert( pItemText, true ) );
1386 pNewItem->setValue( StringTable->insert( pItemValue, true ) );
1387
1388 pNewItem->setNormalImage( normalImage );
1389 pNewItem->setExpandedImage( expandedImage );
1390
1391 // root level?
1392 if(parentId == 0)
1393 {
1394 // insert back
1395 if( mRoot != NULL )
1396 {
1397 Item * pTreeTraverse = mRoot;
1398 while( pTreeTraverse != NULL && pTreeTraverse->mNext != NULL )
1399 pTreeTraverse = pTreeTraverse->mNext;
1400
1401 pTreeTraverse->mNext = pNewItem;
1402 pNewItem->mPrevious = pTreeTraverse;
1403 }
1404 else
1405 mRoot = pNewItem;
1406
1407 mFlags.set(RebuildVisible);
1408 }
1409 else if( mItems.size() >= ( parentId - 1 ) )
1410 {
1411 Item * pParentItem = mItems[parentId-1];
1412
1413 // insert back
1414 if( pParentItem != NULL && pParentItem->mChild)
1415 {
1416 Item * pTreeTraverse = pParentItem->mChild;
1417 while( pTreeTraverse != NULL && pTreeTraverse->mNext != NULL )

Callers 1

Calls 9

setNormalImageMethod · 0.80
setExpandedImageMethod · 0.80
errorfFunction · 0.50
sizeMethod · 0.45
setTextMethod · 0.45
insertMethod · 0.45
setValueMethod · 0.45
setMethod · 0.45
isExpandedMethod · 0.45

Tested by

no test coverage detected