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

Method insertItem

Engine/source/gui/controls/guiTreeViewCtrl.cpp:1350–1423  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

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

Callers 1

Calls 9

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

Tested by

no test coverage detected