Addition to guiTreeViewCtrl - ability to find what item in the tree is under a given position.

This commit is contained in:
Areloch 2018-01-28 15:07:50 -06:00
parent f731a91c78
commit 5bf3d56a05
2 changed files with 23 additions and 0 deletions

View file

@ -2501,6 +2501,19 @@ const char * GuiTreeViewCtrl::getItemValue(S32 itemId)
//-----------------------------------------------------------------------------
S32 GuiTreeViewCtrl::getItemAtPosition(Point2I position)
{
BitSet32 hitFlags = 0;
Item* item;
if (_hitTest(position, item, hitFlags))
return item->mId;
else
return -1;
}
//-----------------------------------------------------------------------------
bool GuiTreeViewCtrl::editItem( S32 itemId, const char* newText, const char* newValue )
{
Item* item = getItem( itemId );
@ -5550,3 +5563,11 @@ DefineEngineMethod( GuiTreeViewCtrl, clearFilterText, void, (),,
{
object->clearFilterText();
}
DefineEngineMethod(GuiTreeViewCtrl, getItemAtPosition, S32, (Point2I position), (Point2I::Zero),
"Get the tree item at the passed in position.\n\n"
"@param position The position to check for what item is below it.\n"
"@return The id of the item under the position.")
{
return object->getItemAtPosition(position);
}

View file

@ -513,6 +513,8 @@ class GuiTreeViewCtrl : public GuiArrayCtrl
bool editItem( S32 itemId, const char* newText, const char* newValue );
bool markItem( S32 itemId, bool mark );
S32 getItemAtPosition(Point2I position);
bool isItemSelected( S32 itemId );