void wxTabView::SetTabSelection(int sel, bool activateTool) { if ( sel==m_tabSelection ) return; int oldSel = m_tabSelection; wxTabControl *control = FindTabControlForId(sel); if (sel == 0) sel=control->GetId(); wxTabControl *oldControl = FindTabControlForId(m_tabSelection); if (!OnTabPreActivate(sel, oldSel)) return; if (control) control->SetSelected((sel != -1)); // TODO ?? else if (sel != -1) { wxFAIL_MSG(_("Could not find tab for id")); return; } if (oldControl) oldControl->SetSelected(false); m_tabSelection = sel; if (control) MoveSelectionTab(control); if (activateTool) OnTabActivate(sel, oldSel); }
bool wxTabView::ChangeTab(wxTabControl *control) { wxTabControl *currentTab = FindTabControlForId(m_tabSelection); int oldTab = -1; if (currentTab) oldTab = currentTab->GetId(); if (control == currentTab) return true; if (m_layers.GetCount() == 0) return false; if (!OnTabPreActivate(control->GetId(), oldTab)) return false; // Move the tab to the bottom MoveSelectionTab(control); if (currentTab) currentTab->SetSelected(false); control->SetSelected(true); m_tabSelection = control->GetId(); OnTabActivate(control->GetId(), oldTab); // Leave window refresh for the implementing window return true; }
void CSideWnd::RefreshSideView() { IncreaseValidityCounter(); OnTabActivate(m_wndTabs.GetActiveTab(), 0); }