X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/ad81651f00edc6f489d9b6a0839d316a964fd521..6433f6d3165a3f8633f42c59694a9104a7b37a93:/src/os2/notebook.cpp diff --git a/src/os2/notebook.cpp b/src/os2/notebook.cpp index 82ebe9a138..a32e88326e 100644 --- a/src/os2/notebook.cpp +++ b/src/os2/notebook.cpp @@ -56,15 +56,18 @@ // event table // ---------------------------------------------------------------------------- - BEGIN_EVENT_TABLE(wxNotebook, wxControl) +DEFINE_EVENT_TYPE(wxEVT_COMMAND_NOTEBOOK_PAGE_CHANGED) +DEFINE_EVENT_TYPE(wxEVT_COMMAND_NOTEBOOK_PAGE_CHANGING) + +BEGIN_EVENT_TABLE(wxNotebook, wxControl) EVT_NOTEBOOK_PAGE_CHANGED(-1, wxNotebook::OnSelChange) EVT_SIZE(wxNotebook::OnSize) EVT_SET_FOCUS(wxNotebook::OnSetFocus) EVT_NAVIGATION_KEY(wxNotebook::OnNavigationKey) - END_EVENT_TABLE() +END_EVENT_TABLE() - IMPLEMENT_DYNAMIC_CLASS(wxNotebook, wxControl) - IMPLEMENT_DYNAMIC_CLASS(wxNotebookEvent, wxNotifyEvent) +IMPLEMENT_DYNAMIC_CLASS(wxNotebook, wxControl) +IMPLEMENT_DYNAMIC_CLASS(wxNotebookEvent, wxNotifyEvent) // ============================================================================ // implementation @@ -245,6 +248,25 @@ void wxNotebook::SetTabSize(const wxSize& sz) // wxNotebook operations // ---------------------------------------------------------------------------- +void wxNotebook::SetPageSize(const wxSize& size) +{ + // transform the page size into the notebook size + RECT rc; + rc.xLeft = rc.yTop = 0; + rc.xRight = size.x; + rc.yBottom = size.y; + +// TabCtrl_AdjustRect(GetHwnd(), TRUE, &rc); + + // and now set it + SetSize(rc.xRight - rc.xLeft, rc.yBottom - rc.yTop); +} + +void wxNotebook::SetPadding(const wxSize& padding) +{ +// TabCtrl_SetPadding(GetHwnd(), padding.x, padding.y); +} + // remove one page from the notebook bool wxNotebook::DeletePage(int nPage) { @@ -253,7 +275,7 @@ bool wxNotebook::DeletePage(int nPage) // TODO: delete native widget page delete m_aPages[nPage]; - m_aPages.Remove(nPage); + m_aPages.RemoveAt(nPage); return TRUE; } @@ -263,7 +285,7 @@ bool wxNotebook::RemovePage(int nPage) { wxCHECK_MSG( IS_VALID_PAGE(nPage), FALSE, wxT("notebook page out of range") ); - m_aPages.Remove(nPage); + m_aPages.RemoveAt(nPage); return TRUE; } @@ -347,8 +369,11 @@ void wxNotebook::OnSize(wxSizeEvent& event) for ( unsigned int nPage = 0; nPage < nCount; nPage++ ) { wxNotebookPage *pPage = m_aPages[nPage]; pPage->SetSize(0, 0, w, h); +#if wxUSE_CONSTRAINTS if ( pPage->GetAutoLayout() ) pPage->Layout(); +#endif //wxUSE_CONSTRAINTS + } // Processing continues to next OnSize @@ -410,8 +435,10 @@ void wxNotebook::OnNavigationKey(wxNavigationKeyEvent& event) void wxNotebook::SetConstraintSizes(bool /* recurse */) { +#if wxUSE_CONSTRAINTS // don't set the sizes of the pages - their correct size is not yet known wxControl::SetConstraintSizes(FALSE); +#endif } bool wxNotebook::DoPhase(int /* nPhase */)