X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/3e97a905185a72c04a7feb67c7885ab4412100ee..2bc4cc1ead29f6de1f0576a416025edadb13d7cc:/src/os2/notebook.cpp diff --git a/src/os2/notebook.cpp b/src/os2/notebook.cpp index 81e3a98538..299b848a96 100644 --- a/src/os2/notebook.cpp +++ b/src/os2/notebook.cpp @@ -53,9 +53,6 @@ // event table // ---------------------------------------------------------------------------- -DEFINE_EVENT_TYPE(wxEVT_COMMAND_NOTEBOOK_PAGE_CHANGED) -DEFINE_EVENT_TYPE(wxEVT_COMMAND_NOTEBOOK_PAGE_CHANGING) - BEGIN_EVENT_TABLE(wxNotebook, wxBookCtrlBase) EVT_NOTEBOOK_PAGE_CHANGED(wxID_ANY, wxNotebook::OnSelChange) EVT_SIZE(wxNotebook::OnSize) @@ -63,8 +60,6 @@ BEGIN_EVENT_TABLE(wxNotebook, wxBookCtrlBase) EVT_NAVIGATION_KEY(wxNotebook::OnNavigationKey) END_EVENT_TABLE() -IMPLEMENT_DYNAMIC_CLASS(wxNotebook, wxBookCtrlBase) - // ============================================================================ // implementation // ============================================================================ @@ -79,7 +74,6 @@ IMPLEMENT_DYNAMIC_CLASS(wxNotebook, wxBookCtrlBase) void wxNotebook::Init() { m_imageList = NULL; - m_nSelection = -1; m_nTabSize = 0; } // end of wxNotebook::Init @@ -213,14 +207,14 @@ int wxNotebook::SetSelection( size_t nPage ) { wxCHECK_MSG( IS_VALID_PAGE(nPage), wxNOT_FOUND, wxT("notebook page out of range") ); - if (nPage != (size_t)m_nSelection) + if (nPage != (size_t)m_selection) { wxBookCtrlEvent vEvent( wxEVT_COMMAND_NOTEBOOK_PAGE_CHANGING ,m_windowId ); vEvent.SetSelection(nPage); - vEvent.SetOldSelection(m_nSelection); + vEvent.SetOldSelection(m_selection); vEvent.SetEventObject(this); if (!HandleWindowEvent(vEvent) || vEvent.IsAllowed()) { @@ -238,7 +232,7 @@ int wxNotebook::SetSelection( size_t nPage ) ); } } - m_nSelection = nPage; + m_selection = nPage; return nPage; } // end of wxNotebook::SetSelection @@ -246,7 +240,7 @@ int wxNotebook::ChangeSelection( size_t nPage ) { wxCHECK_MSG( IS_VALID_PAGE(nPage), wxNOT_FOUND, wxT("notebook page out of range") ); - if (nPage != (size_t)m_nSelection) + if (nPage != (size_t)m_selection) { ::WinSendMsg( GetHWND() ,BKM_TURNTOPAGE @@ -254,7 +248,7 @@ int wxNotebook::ChangeSelection( size_t nPage ) ,(MPARAM)0 ); } - m_nSelection = nPage; + m_selection = nPage; return nPage; } @@ -407,7 +401,7 @@ wxNotebookPage* wxNotebook::DoRemovePage ( size_t nPage ) // // No selection any more, the notebook becamse empty // - m_nSelection = -1; + m_selection = wxNOT_FOUND; } else // notebook still not empty { @@ -416,23 +410,23 @@ wxNotebookPage* wxNotebook::DoRemovePage ( size_t nPage ) // int nSelNew; - if (m_nSelection == (int)GetPageCount()) + if (m_selection == (int)GetPageCount()) { // // Last page deleted, make the new last page the new selection // - nSelNew = m_nSelection - 1; + nSelNew = m_selection - 1; } - else if (nPage <= (size_t)m_nSelection) + else if (nPage <= (size_t)m_selection) { // // We must show another page, even if it has the same index // - nSelNew = m_nSelection; + nSelNew = m_selection; } else // nothing changes for the currently selected page { - nSelNew = -1; + nSelNew = wxNOT_FOUND; // // We still must refresh the current page: this needs to be done @@ -440,16 +434,16 @@ wxNotebookPage* wxNotebook::DoRemovePage ( size_t nPage ) // control (i.e. when there are too many pages) -- otherwise after // deleting a page nothing at all is shown // - m_pages[m_nSelection]->Refresh(); + m_pages[m_selection]->Refresh(); } - if (nSelNew != -1) + if (nSelNew != wxNOT_FOUND) { // - // m_nSelection must be always valid so reset it before calling + // m_selection must be always valid so reset it before calling // SetSelection() // - m_nSelection = -1; + m_selection = wxNOT_FOUND; SetSelection(nSelNew); } } @@ -472,7 +466,7 @@ bool wxNotebook::DeleteAllPages() ,(MPARAM)0 ,(MPARAM)BKA_ALL ); - m_nSelection = -1; + m_selection = wxNOT_FOUND; return true; } // end of wxNotebook::DeleteAllPages @@ -572,12 +566,12 @@ bool wxNotebook::InsertPage ( size_t nPage, // If the inserted page is before the selected one, we must update the // index of the selected page // - if (nPage <= (size_t)m_nSelection) + if (nPage <= (size_t)m_selection) { // // One extra page added // - m_nSelection++; + m_selection++; } if (pPage) @@ -652,19 +646,7 @@ bool wxNotebook::InsertPage ( size_t nPage, pPage->Show(false); } - // - // Some page should be selected: either this one or the first one if there is - // still no selection - // - int nSelNew = -1; - - if (bSelect) - nSelNew = nPage; - else if ( m_nSelection == -1 ) - nSelNew = 0; - - if (nSelNew != -1) - SetSelection(nSelNew); + DoSetSelectionAfterInsertion(nPage, bSelect); InvalidateBestSize(); @@ -728,7 +710,7 @@ void wxNotebook::OnSelChange ( wxNotebookPage* pPage = m_pages[nSel]; pPage->Show(true); - m_nSelection = nSel; + m_selection = nSel; } // @@ -749,8 +731,8 @@ void wxNotebook::OnSetFocus ( // // set focus to the currently selected page if any // - if (m_nSelection != -1) - m_pages[m_nSelection]->SetFocus(); + if (m_selection != wxNOT_FOUND) + m_pages[m_selection]->SetFocus(); rEvent.Skip(); } // end of wxNotebook::OnSetFocus @@ -789,7 +771,7 @@ void wxNotebook::OnNavigationKey ( // // No, it doesn't come from child, case (b): forward to a page // - if (m_nSelection != -1) + if (m_selection != wxNOT_FOUND) { // // So that the page knows that the event comes from it's parent @@ -797,7 +779,7 @@ void wxNotebook::OnNavigationKey ( // rEvent.SetEventObject(this); - wxWindow* pPage = m_pages[m_nSelection]; + wxWindow* pPage = m_pages[m_selection]; if (!pPage->HandleWindowEvent(rEvent)) {