X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/eb5d9594dba44ee3bdec54dc085f74cfabcdf9b7..2cf3a6d7bef6f20bea35062dd3d4dbf0aec9efb5:/src/mac/carbon/notebmac.cpp?ds=sidebyside diff --git a/src/mac/carbon/notebmac.cpp b/src/mac/carbon/notebmac.cpp index 1e6e98a239..414bc978f9 100644 --- a/src/mac/carbon/notebmac.cpp +++ b/src/mac/carbon/notebmac.cpp @@ -13,12 +13,17 @@ #if wxUSE_NOTEBOOK -#include "wx/app.h" +#include "wx/notebook.h" + +#ifndef WX_PRECOMP + #include "wx/string.h" + #include "wx/log.h" + #include "wx/app.h" + #include "wx/image.h" +#endif + #include "wx/string.h" -#include "wx/log.h" #include "wx/imaglist.h" -#include "wx/image.h" -#include "wx/notebook.h" #include "wx/mac/uma.h" @@ -75,6 +80,9 @@ bool wxNotebook::Create( wxWindow *parent, { m_macIsUserPane = false ; + if (! (style & wxBK_ALIGN_MASK)) + style |= wxBK_TOP; + if ( !wxNotebookBase::Create( parent, id, pos, size, style, name ) ) return false; @@ -96,18 +104,18 @@ bool wxNotebook::Create( wxWindow *parent, ControlTabSize tabsize; switch (GetWindowVariant()) { - case wxWINDOW_VARIANT_MINI: + case wxWINDOW_VARIANT_MINI: if ( UMAGetSystemVersion() >= 0x1030 ) tabsize = 3 ; else tabsize = kControlSizeSmall; break; - case wxWINDOW_VARIANT_SMALL: + case wxWINDOW_VARIANT_SMALL: tabsize = kControlTabSizeSmall; break; - default: + default: tabsize = kControlTabSizeLarge; break; } @@ -322,7 +330,13 @@ int wxNotebook::HitTest(const wxPoint& pt, long * flags) const #if TARGET_API_MAC_OSX const int countPages = GetPageCount(); - HIPoint hipoint = { pt.x , pt.y } ; + // we have to convert from Client to Window relative coordinates + wxPoint adjustedPt = pt + GetClientAreaOrigin(); + // and now to HIView native ones + adjustedPt.x -= MacGetLeftBorderSize() ; + adjustedPt.y -= MacGetTopBorderSize() ; + + HIPoint hipoint= { adjustedPt.x , adjustedPt.y } ; HIViewPartCode outPart = 0 ; OSStatus err = HIViewGetPartHit( m_peer->GetControlRef(), &hipoint, &outPart ); @@ -362,9 +376,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;