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

Method syncSelection

Engine/source/gui/controls/guiTreeViewCtrl.cpp:2068–2135  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

2066//-----------------------------------------------------------------------------
2067
2068void GuiTreeViewCtrl::syncSelection()
2069{
2070 // for each visible item check to see if it is on the mSelected list.
2071 // if it is then make sure that it is on the mSelectedItems list as well.
2072 for (S32 i = 0; i < mVisibleItems.size(); i++)
2073 {
2074 for (S32 j = 0; j < mSelected.size(); j++)
2075 {
2076 if (mVisibleItems[i]->mId == mSelected[j])
2077 {
2078 // check to see if it is on the visible items list.
2079 bool addToSelectedItems = true;
2080 for (S32 k = 0; k < mSelectedItems.size(); k++)
2081 {
2082 if (mSelected[j] == mSelectedItems[k]->mId)
2083 {
2084 // don't add it
2085 addToSelectedItems = false;
2086 }
2087 }
2088 if (addToSelectedItems)
2089 {
2090 mVisibleItems[i]->mState.set(Item::Selected, true);
2091 mSelectedItems.push_front(mVisibleItems[i]);
2092 break;
2093 }
2094 }
2095 else if (mVisibleItems[i]->isInspectorData())
2096 {
2097 if(mCompareToObjectID)
2098 {
2099 if (mVisibleItems[i]->getObject() && mVisibleItems[i]->getObject()->getId() == mSelected[j])
2100 {
2101 // check to see if it is on the visible items list.
2102 bool addToSelectedItems = true;
2103 for (S32 k = 0; k < mSelectedItems.size(); k++)
2104 {
2105 if (mSelectedItems[k]->isInspectorData() && mSelectedItems[k]->getObject() )
2106 {
2107 if (mSelected[j] == mSelectedItems[k]->getObject()->getId())
2108 {
2109 // don't add it
2110 addToSelectedItems = false;
2111 }
2112 }
2113 else
2114 {
2115 if (mSelected[j] == mSelectedItems[k]->mId)
2116 {
2117 // don't add it
2118 addToSelectedItems = false;
2119 }
2120 }
2121 }
2122 if (addToSelectedItems)
2123 {
2124 mVisibleItems[i]->mState.set(Item::Selected, true);
2125 mSelectedItems.push_front(mVisibleItems[i]);

Callers

nothing calls this directly

Calls 6

isInspectorDataMethod · 0.80
getIdMethod · 0.65
sizeMethod · 0.45
setMethod · 0.45
push_frontMethod · 0.45
getObjectMethod · 0.45

Tested by

no test coverage detected