| 2066 | //----------------------------------------------------------------------------- |
| 2067 | |
| 2068 | void 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]); |
nothing calls this directly
no test coverage detected