X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/f60d0f944a6ce86bce59901e7ea3811f0992bce7..5ea105e0ba20c15e4d83f829e1c4faeb0a4952f0:/src/generic/notebook.cpp?ds=sidebyside diff --git a/src/generic/notebook.cpp b/src/generic/notebook.cpp index dca6679456..e33702a3d5 100644 --- a/src/generic/notebook.cpp +++ b/src/generic/notebook.cpp @@ -29,7 +29,8 @@ #include #include -#include +#include +#include #include #include @@ -145,10 +146,13 @@ int wxNotebook::SetSelection(int nPage) wxASSERT( IS_VALID_PAGE(nPage) ); +#if defined (__WIN16__) + m_tabView->SetTabSelection(nPage); +#else wxNotebookPage* pPage = GetPage(nPage); m_tabView->SetTabSelection((int) (long) pPage); - +#endif // TODO return 0; } @@ -166,7 +170,11 @@ void wxNotebook::AdvanceSelection(bool bForward) bool wxNotebook::SetPageText(int nPage, const wxString& strText) { wxASSERT( IS_VALID_PAGE(nPage) ); - +#if defined (__WIN16__) + m_tabView->SetTabText(nPage, strText); + Refresh(); + return TRUE; +#else wxNotebookPage* page = GetPage(nPage); if (page) { @@ -174,7 +182,7 @@ bool wxNotebook::SetPageText(int nPage, const wxString& strText) Refresh(); return TRUE; } - +#endif return FALSE; } @@ -182,11 +190,15 @@ wxString wxNotebook::GetPageText(int nPage) const { wxASSERT( IS_VALID_PAGE(nPage) ); +#if defined (__WIN16__) + return m_tabView->GetTabText(nPage); +#else wxNotebookPage* page = ((wxNotebook*)this)->GetPage(nPage); if (page) return m_tabView->GetTabText((int) (long) page); else return wxEmptyString; +#endif } int wxNotebook::GetPageImage(int nPage) const @@ -227,7 +239,11 @@ bool wxNotebook::DeletePage(int nPage) } wxNotebookPage* pPage = GetPage(nPage); +#if defined (__WIN16__) + m_tabView->RemoveTab(nPage); +#else m_tabView->RemoveTab((int) (long) pPage); +#endif delete m_aPages[nPage]; m_aPages.Remove(nPage); @@ -240,7 +256,11 @@ bool wxNotebook::DeletePage(int nPage) else if (m_nSelection > -1) { m_nSelection = -1; +#if defined (__WIN16__) + m_tabView->SetTabSelection(0, FALSE); +#else m_tabView->SetTabSelection((int) (long) GetPage(0), FALSE); +#endif if (m_nSelection != 0) ChangePage(-1, 0); } @@ -268,7 +288,11 @@ bool wxNotebook::RemovePage(int nPage) // m_aPages[nPage]->Lower(); wxNotebookPage* pPage = GetPage(nPage); +#if defined (__WIN16__) + m_tabView->RemoveTab(nPage); +#else m_tabView->RemoveTab((int) (long) pPage); +#endif m_aPages.Remove(nPage); @@ -356,7 +380,12 @@ bool wxNotebook::InsertPage(int nPage, wxASSERT( pPage != NULL ); wxCHECK( IS_VALID_PAGE(nPage) || nPage == GetPageCount(), FALSE ); +// For 16 bit integers (tabs limited to 32768) +#if defined (__WIN16__) + m_tabView->AddTab(nPage, strText); +#else m_tabView->AddTab((int) (long) pPage, strText); +#endif if (!bSelect) pPage->Show(FALSE); @@ -366,7 +395,11 @@ bool wxNotebook::InsertPage(int nPage, if (bSelect) { // This will cause ChangePage to be called, via OnSelPage +#if defined (__WIN16__) + m_tabView->SetTabSelection(nPage, TRUE); +#else m_tabView->SetTabSelection((int) (long) pPage, TRUE); +#endif } // some page must be selected: either this one or the first one if there is @@ -625,8 +658,17 @@ void wxNotebookTabView::OnTabActivate(int activateId, int deactivateId) if (!m_notebook) return; +// Because of name truncation! +#if defined(__BORLANDC__) && defined(__WIN16__) + wxNotebookEvent event(wxEVT_COMMAND_NB_PAGE_CHANGED, m_notebook->GetId()); +#else wxNotebookEvent event(wxEVT_COMMAND_NOTEBOOK_PAGE_CHANGED, m_notebook->GetId()); +#endif +#if defined (__WIN16__) + int activatePos = activateId; + int deactivatePos = deactivateId; +#else // Translate from wxTabView's ids (which aren't position-dependent) // to wxNotebook's (which are). wxNotebookPage* pActive = (wxNotebookPage*) activateId; @@ -635,6 +677,7 @@ void wxNotebookTabView::OnTabActivate(int activateId, int deactivateId) int activatePos = m_notebook->FindPagePosition(pActive); int deactivatePos = m_notebook->FindPagePosition(pDeactive); +#endif event.SetEventObject(m_notebook); event.SetSelection(activatePos); event.SetOldSelection(deactivatePos);