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

Method notifyPressedBarButtonEvent

MyGUIEngine/src/MyGUI_TabControl.cpp:228–263  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

226 }
227
228 void TabControl::notifyPressedBarButtonEvent(MyGUI::Widget* _sender)
229 {
230 size_t select = *_sender->_getInternalData<size_t>() + mStartIndex;
231 // щелкнули по той же кнопке
232 if (select == mIndexSelect)
233 {
234 // стараемся показать выделенную кнопку
235 beginToItemSelected();
236 return;
237 }
238 size_t old = mIndexSelect;
239 mIndexSelect = select;
240
241 size_t count = 0;
242 for (size_t pos = 0; pos < mItemButton.size(); pos++)
243 {
244 Button* button = mItemButton[count]->castType<Button>();
245 if (button->getVisible())
246 {
247 // корректируем нажатость кнопки
248 button->setStateSelected((pos + mStartIndex) == mIndexSelect);
249 }
250 count++;
251 }
252
253 // стараемся показать выделенную кнопку
254 beginToItemSelected();
255
256 // поднимаем страницу для пикинга
257 _forcePick(mItemsInfo[mIndexSelect].item);
258
259 _showItem(mItemsInfo[mIndexSelect].item, true, mSmoothShow);
260 _showItem(mItemsInfo[old].item, false, mSmoothShow);
261
262 eventTabChangeSelect(this, mIndexSelect);
263 }
264
265 void TabControl::beginToItemAt(size_t _index)
266 {

Callers

nothing calls this directly

Calls 3

setStateSelectedMethod · 0.80
sizeMethod · 0.45
getVisibleMethod · 0.45

Tested by

no test coverage detected