X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/065e208ec09e3d08d51d9604497f92f53c210f93..ef4279890a78cdc9f0f1b8f578ff0e573f922af3:/src/cocoa/notebook.mm?ds=inline diff --git a/src/cocoa/notebook.mm b/src/cocoa/notebook.mm index 800d66f017..9cc3241b65 100644 --- a/src/cocoa/notebook.mm +++ b/src/cocoa/notebook.mm @@ -15,8 +15,8 @@ #ifndef WX_PRECOMP #include "wx/app.h" - #include "wx/notebook.h" #endif //WX_PRECOMP +#include "wx/notebook.h" #include "wx/imaglist.h" #include "wx/cocoa/autorelease.h" @@ -64,6 +64,7 @@ - (void)dealloc { [m_image release]; + [super dealloc]; } - (NSSize)sizeOfLabel:(BOOL)shouldTruncateLabel @@ -180,7 +181,7 @@ wxNotebookPage *wxNotebook::DoRemovePage(size_t nPage) [tvitem retain]; [GetNSTabView() removeTabViewItem:tvitem]; // Remove the child window as a notebook page - wxASSERT([tvitem view] == page->GetNSViewForSuperview()); + wxASSERT(static_cast([tvitem view]) == page->GetNSViewForSuperview()); [tvitem setView:nil]; [tvitem release]; // Make it back into a normal child window @@ -202,7 +203,7 @@ bool wxNotebook::InsertPage( size_t pos, m_pages.Insert(page,pos); NSTabViewItem *tvitem = [[WXCTabViewImageItem alloc] initWithIdentifier:nil]; [tvitem setLabel: wxNSStringWithWxString(title)]; - const wxBitmap *bmp = (imageId!=-1)?m_imageList->GetBitmap(imageId):NULL; + const wxBitmap *bmp = (imageId!=-1)?m_imageList->GetBitmapPtr(imageId):NULL; if(bmp) [(WXCTabViewImageItem*) tvitem setImage: bmp->GetNSImage(true)]; @@ -250,7 +251,7 @@ int wxNotebook::GetPageImage(size_t nPage) const bool wxNotebook::SetPageImage(size_t nPage, int nImage) { - const wxBitmap *bmp = nImage!=-1?m_imageList->GetBitmap(nImage):NULL; + const wxBitmap *bmp = nImage!=-1?m_imageList->GetBitmapPtr(nImage):NULL; if(!bmp) return false; NSTabViewItem *tvitem = [GetNSTabView() tabViewItemAtIndex: nPage]; @@ -260,8 +261,23 @@ bool wxNotebook::SetPageImage(size_t nPage, int nImage) return true; } - int wxNotebook::SetSelection(size_t nPage) +{ + const int pageOld = GetSelection(); + + if ( !SendPageChangingEvent(nPage) ) + return pageOld; + + int page = ChangeSelection(nPage); + if ( page != wxNOT_FOUND ) + { + SendPageChangedEvent(pageOld); + } + + return page; +} + +int wxNotebook::ChangeSelection(size_t nPage) { wxAutoNSAutoreleasePool pool; [GetNSTabView() selectTabViewItemAtIndex:nPage];