/// Apply the styles when a different tab is selected, so the previews are /// up to date void wxRichTextFormattingDialog::OnTabChanged(wxBookCtrlEvent& event) { if (m_ignoreUpdates) return; if (GetBookCtrl() != event.GetEventObject()) { event.Skip(); return; } int oldPageId = event.GetOldSelection(); if (oldPageId != -1) { wxWindow* page = GetBookCtrl()->GetPage(oldPageId); if (page) page->TransferDataFromWindow(); } int pageId = event.GetSelection(); if (pageId != -1) { wxWindow* page = GetBookCtrl()->GetPage(pageId); if (page) page->TransferDataToWindow(); } }
void wxNotebook::OnSelChange(wxBookCtrlEvent& event) { // is it our tab control? if ( event.GetEventObject() == this ) ChangePage(event.GetOldSelection(), event.GetSelection()); // we want to give others a chance to process this message as well event.Skip(); }
void wxNotebook::OnSelChange ( wxBookCtrlEvent& rEvent ) { // // Is it our tab control? // if (rEvent.GetEventObject() == this) { int nPageCount = GetPageCount(); int nSel; ULONG ulOS2Sel = (ULONG)rEvent.GetOldSelection(); bool bFound = false; for (nSel = 0; nSel < nPageCount; nSel++) { if (ulOS2Sel == (ULONG)m_alPageId[nSel]) { bFound = true; break; } } if (!bFound) return; m_pages[nSel]->Show(false); ulOS2Sel = (ULONG)rEvent.GetSelection(); bFound = false; for (nSel = 0; nSel < nPageCount; nSel++) { if (ulOS2Sel == (ULONG)m_alPageId[nSel]) { bFound = true; break; } } if (!bFound) return; wxNotebookPage* pPage = m_pages[nSel]; pPage->Show(true); m_nSelection = nSel; } // // We want to give others a chance to process this message as well // rEvent.Skip(); } // end of wxNotebook::OnSelChange
void MainFrame::OnPageChanged(wxBookCtrlEvent& event) { event.Skip(); wxString message; message << "Page changed event. Old=" << event.GetOldSelection() << ". New: =" << event.GetSelection(); m_log->AppendText(message + "\n"); wxWindow* curpage = m_book->GetCurrentPage(); int sel = m_book->FindPage(curpage); if(sel != event.GetSelection()) { wxMessageBox("FATAL ERROR: current page does not match the selection!!", "Notebook Demo", wxICON_ERROR | wxOK | wxCENTER); } }
void clMultiBook::OnEventProxy(wxBookCtrlEvent& event) { if(event.GetEventObject() == this) { // Avoid loops event.Skip(); return; } int selection = event.GetSelection(); int oldSelection = event.GetOldSelection(); Notebook* book = dynamic_cast<Notebook*>(event.GetEventObject()); if(!book) { clWARNING() << "clMultiBook::OnEventProxy no notebook event object!"; return; } // Convert the event wxBookCtrlEvent proxyEvent(event.GetEventType()); proxyEvent.SetEventObject(this); proxyEvent.SetSelection(wxNOT_FOUND); proxyEvent.SetOldSelection(wxNOT_FOUND); if(selection != wxNOT_FOUND) { proxyEvent.SetSelection(BookIndexToGlobalIndex(book, selection)); } if(oldSelection != wxNOT_FOUND) { proxyEvent.SetOldSelection(BookIndexToGlobalIndex(book, oldSelection)); } // Process the event if((event.GetEventType() == wxEVT_BOOK_TAB_CONTEXT_MENU) || (event.GetEventType() == wxEVT_BOOK_PAGE_CHANGED)) { // Use ProcessEvent GetEventHandler()->ProcessEvent(proxyEvent); } else if((event.GetEventType() == wxEVT_BOOK_PAGE_CLOSING) || (event.GetEventType() == wxEVT_BOOK_PAGE_CHANGING)) { // Handle with ProcessEvent with Veto option GetEventHandler()->ProcessEvent(proxyEvent); if(!proxyEvent.IsAllowed()) { event.Veto(); } } else { // Handle with AddPendingEvent GetEventHandler()->AddPendingEvent(proxyEvent); if(event.GetEventType() == wxEVT_BOOK_PAGE_CLOSED) { // A page was closed CallAfter(&clMultiBook::UpdateView); } } }
void wxGenericMDIClientWindow::OnPageChanged(wxBookCtrlEvent& event) { PageChanged(event.GetOldSelection(), event.GetSelection()); event.Skip(); }
void HClusterDlg::OnNotebookChange(wxBookCtrlEvent& event) { int tab_idx = event.GetOldSelection(); m_panel->SetActive(tab_idx == 1); }