MCPcopy Create free account
hub / github.com/MyGUI/mygui / getItemWidget

Method getItemWidget

MyGUIEngine/src/MyGUI_ItemBox.cpp:171–205  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

169 }
170
171 Widget* ItemBox::getItemWidget(size_t _index)
172 {
173 // еще нет такого виджета, нуно создать
174 if (_index == mVectorItems.size())
175 {
176 requestItemSize();
177
178 Widget* item = _getClientWidget()->createWidget<Widget>(
179 "Default",
180 IntCoord(0, 0, mSizeItem.width, mSizeItem.height),
181 Align::Default);
182
183 // вызываем запрос на создание виджета
184 requestCreateWidgetItem(this, item);
185
186 item->eventMouseWheel += newDelegate(this, &ItemBox::notifyMouseWheel);
187 item->eventRootMouseChangeFocus += newDelegate(this, &ItemBox::notifyRootMouseChangeFocus);
188 item->eventMouseButtonPressed += newDelegate(this, &ItemBox::notifyMouseButtonPressed);
189 item->eventMouseButtonReleased += newDelegate(this, &ItemBox::notifyMouseButtonReleased);
190 item->eventMouseButtonDoubleClick += newDelegate(this, &ItemBox::notifyMouseButtonDoubleClick);
191 item->eventMouseDrag += newDelegate(this, &ItemBox::notifyMouseDrag);
192 item->_setContainer(this);
193 item->eventKeyButtonPressed += newDelegate(this, &ItemBox::notifyKeyButtonPressed);
194 item->eventKeyButtonReleased += newDelegate(this, &ItemBox::notifyKeyButtonReleased);
195
196 item->_setInternalData((size_t)mVectorItems.size());
197
198 mVectorItems.push_back(item);
199 }
200
201 // запрашивать только последовательно
202 MYGUI_ASSERT_RANGE(_index, mVectorItems.size(), "ItemBox::getItemWidget");
203
204 return mVectorItems[_index];
205 }
206
207 void ItemBox::onMouseWheel(int _rel)
208 {

Callers

nothing calls this directly

Calls 7

requestCreateWidgetItemFunction · 0.85
newDelegateFunction · 0.85
_setContainerMethod · 0.80
_setInternalDataMethod · 0.80
IntCoordFunction · 0.50
sizeMethod · 0.45
push_backMethod · 0.45

Tested by

no test coverage detected