| 149 | } |
| 150 | |
| 151 | TabItem* TabControl::insertItemAt(size_t _index, const UString& _name, Any _data) |
| 152 | { |
| 153 | MYGUI_ASSERT_RANGE_INSERT(_index, mItemsInfo.size(), "TabControl::insertItem"); |
| 154 | |
| 155 | Widget* widget = Base::baseCreateWidget( |
| 156 | WidgetStyle::Child, |
| 157 | TabItem::getClassTypeName(), |
| 158 | "Default", |
| 159 | _getWidgetTemplate()->getCoord(), |
| 160 | _getWidgetTemplate()->getAlign(), |
| 161 | std::string_view{}, |
| 162 | std::string_view{}, |
| 163 | false); |
| 164 | |
| 165 | size_t lastIndex = mItemsInfo.size() - 1; |
| 166 | setItemNameAt(lastIndex, _name); |
| 167 | setItemDataAt(lastIndex, _data); |
| 168 | |
| 169 | swapItems(_index == ITEM_NONE ? lastIndex : _index, lastIndex); |
| 170 | |
| 171 | return widget->castType<TabItem>(); |
| 172 | } |
| 173 | |
| 174 | void TabControl::swapItems(size_t _index1, size_t _index2) |
| 175 | { |
nothing calls this directly
no test coverage detected