Коммит cce060b5 создал по автору xottab-duty's avatar xottab-duty
Просмотр файлов

CUITabControl: ability to switch to previous/next tab programmatically

владелец 075c2984
......@@ -198,6 +198,30 @@ void CUITabControl::SetActiveTabByIndex(u32 index)
SetActiveTab(newBtn->m_btn_id);
}
bool CUITabControl::SetNextActiveTab(bool next, bool loop)
{
const int idx = GetActiveIndex();
if (next)
{
if (idx < (int)GetTabsCount() - 1)
SetActiveTabByIndex(idx + 1);
else if (loop)
SetActiveTabByIndex(0);
else
return false;
}
else
{
if (idx > 0)
SetActiveTabByIndex(idx - 1);
else if (loop)
SetActiveTabByIndex(GetTabsCount() - 1);
else
return false;
}
return true;
}
bool CUITabControl::OnKeyboardAction(int dik, EUIMessages keyboard_action)
{
if (GetAcceleratorsMode() && WINDOW_KEY_PRESSED == keyboard_action)
......
......@@ -47,6 +47,7 @@ public:
void SetActiveTab(const shared_str& sNewTab);
void SetActiveTab_script(LPCSTR sNewTab) { SetActiveTab(sNewTab); };
void SetActiveTabByIndex(u32 index);
bool SetNextActiveTab(bool next, bool loop);
const u32 GetTabsCount() const { return m_TabsArr.size(); }
......
Поддерживает Markdown
0% или .
You are about to add 0 people to the discussion. Proceed with caution.
Сначала завершите редактирование этого сообщения!
Пожалуйста, зарегистрируйтесь или чтобы прокомментировать