X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/155ecd4c4221d3bbc7aa93d472d11948f21d21ab..c4807c0a8fdce8c8a21f7296cc224c08297ca54b:/src/mac/carbon/notebmac.cpp diff --git a/src/mac/carbon/notebmac.cpp b/src/mac/carbon/notebmac.cpp index 3764fd37ce..bbdff77f02 100644 --- a/src/mac/carbon/notebmac.cpp +++ b/src/mac/carbon/notebmac.cpp @@ -105,10 +105,7 @@ bool wxNotebook::Create( wxWindow *parent, switch (GetWindowVariant()) { case wxWINDOW_VARIANT_MINI: - if ( UMAGetSystemVersion() >= 0x1030 ) - tabsize = 3 ; - else - tabsize = kControlSizeSmall; + tabsize = 3 ; break; case wxWINDOW_VARIANT_SMALL: @@ -140,12 +137,12 @@ wxNotebook::~wxNotebook() // wxNotebook accessors // ---------------------------------------------------------------------------- -void wxNotebook::SetPadding(const wxSize& padding) +void wxNotebook::SetPadding(const wxSize& WXUNUSED(padding)) { // unsupported by OS } -void wxNotebook::SetTabSize(const wxSize& sz) +void wxNotebook::SetTabSize(const wxSize& WXUNUSED(sz)) { // unsupported by OS } @@ -160,25 +157,27 @@ wxSize wxNotebook::CalcSizeFromPage(const wxSize& sizePage) const return DoGetSizeFromClientSize( sizePage ); } -int wxNotebook::SetSelection(size_t nPage) +int wxNotebook::DoSetSelection(size_t nPage, int flags) { - wxCHECK_MSG( IS_VALID_PAGE(nPage), wxNOT_FOUND, wxT("SetSelection: invalid notebook page") ); + wxCHECK_MSG( IS_VALID_PAGE(nPage), wxNOT_FOUND, wxT("DoSetSelection: invalid notebook page") ); - if ( int(nPage) != m_nSelection ) + if ( m_nSelection == wxNOT_FOUND || nPage != (size_t)m_nSelection ) { - wxNotebookEvent event(wxEVT_COMMAND_NOTEBOOK_PAGE_CHANGING, m_windowId); - event.SetSelection(nPage); - event.SetOldSelection(m_nSelection); - event.SetEventObject(this); - if ( !GetEventHandler()->ProcessEvent(event) || event.IsAllowed() ) + if ( flags & SetSelection_SendEvent ) { - // program allows the page change - event.SetEventType(wxEVT_COMMAND_NOTEBOOK_PAGE_CHANGED); - (void)GetEventHandler()->ProcessEvent(event); + if ( !SendPageChangingEvent(nPage) ) + { + // vetoed by program + return m_nSelection; + } + //else: program allows the page change - ChangePage(m_nSelection, nPage); + SendPageChangedEvent(m_nSelection, nPage); } + + ChangePage(m_nSelection, nPage); } + //else: no change return m_nSelection; } @@ -327,7 +326,6 @@ int wxNotebook::HitTest(const wxPoint& pt, long * flags) const { int resultV = wxNOT_FOUND; -#if TARGET_API_MAC_OSX const int countPages = GetPageCount(); // we have to convert from Client to Window relative coordinates @@ -368,7 +366,6 @@ int wxNotebook::HitTest(const wxPoint& pt, long * flags) const if ( outPart >= 1 && outPart <= countPages ) resultV = outPart - 1 ; -#endif // TARGET_API_MAC_OSX if (flags != NULL) { @@ -376,9 +373,9 @@ int wxNotebook::HitTest(const wxPoint& pt, long * flags) const // we cannot differentiate better if (resultV >= 0) - *flags |= wxNB_HITTEST_ONLABEL; + *flags |= wxBK_HITTEST_ONLABEL; else - *flags |= wxNB_HITTEST_NOWHERE; + *flags |= wxBK_HITTEST_NOWHERE; } return resultV; @@ -406,7 +403,7 @@ void wxNotebook::MacSetupTabs() info.name = cflabel ; m_peer->SetData( ii + 1, kControlTabInfoTag, &info ) ; - if ( GetImageList() && GetPageImage(ii) >= 0 && UMAGetSystemVersion() >= 0x1020 ) + if ( GetImageList() && GetPageImage(ii) >= 0 ) { const wxBitmap bmap = GetImageList()->GetBitmap( GetPageImage( ii ) ) ; if ( bmap.Ok() ) @@ -425,9 +422,7 @@ void wxNotebook::MacSetupTabs() m_peer->SetTabEnabled( ii + 1, true ) ; } - Rect bounds; - m_peer->GetRectInWindowCoords( &bounds ) ; - InvalWindowRect( (WindowRef)MacGetTopLevelWindowRef(), &bounds ); + Refresh(); } wxRect wxNotebook::GetPageRect() const @@ -559,7 +554,7 @@ bool wxNotebook::DoPhase(int WXUNUSED(nPhase)) #endif // wxUSE_CONSTRAINTS -void wxNotebook::Command(wxCommandEvent& event) +void wxNotebook::Command(wxCommandEvent& WXUNUSED(event)) { wxFAIL_MSG(wxT("wxNotebook::Command not implemented")); }