X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/04236b74cd5c82645aff3c99736291ebe2f52cc5..58110007c76a4b1596f166d7de43dc107c6c7c0c:/src/osx/cocoa/notebook.mm diff --git a/src/osx/cocoa/notebook.mm b/src/osx/cocoa/notebook.mm index 2c47ce8133..bba36f5d94 100644 --- a/src/osx/cocoa/notebook.mm +++ b/src/osx/cocoa/notebook.mm @@ -30,7 +30,7 @@ // controller // -@interface wxTabViewController : NSObject +@interface wxTabViewController : NSObject wxOSX_10_6_AND_LATER() { } @@ -41,11 +41,8 @@ @interface wxNSTabView : NSTabView { - WXCOCOAIMPL_COMMON_MEMBERS } -WXCOCOAIMPL_COMMON_INTERFACE - @end @implementation wxTabViewController @@ -58,8 +55,10 @@ WXCOCOAIMPL_COMMON_INTERFACE - (BOOL)tabView:(NSTabView *)tabView shouldSelectTabViewItem:(NSTabViewItem *)tabViewItem { + wxUnusedVar(tabViewItem); wxNSTabView* view = (wxNSTabView*) tabView; - wxWidgetCocoaImpl* viewimpl = [view implementation]; + wxWidgetCocoaImpl* viewimpl = (wxWidgetCocoaImpl* ) wxWidgetImpl::FindFromWXWidget( view ); + if ( viewimpl ) { // wxNotebook* wxpeer = (wxNotebook*) viewimpl->GetWXPeer(); @@ -70,8 +69,9 @@ WXCOCOAIMPL_COMMON_INTERFACE - (void)tabView:(NSTabView *)tabView didSelectTabViewItem:(NSTabViewItem *)tabViewItem; { + wxUnusedVar(tabViewItem); wxNSTabView* view = (wxNSTabView*) tabView; - wxWidgetCocoaImpl* viewimpl = [view implementation]; + wxWidgetCocoaImpl* viewimpl = (wxWidgetCocoaImpl* ) wxWidgetImpl::FindFromWXWidget( view ); if ( viewimpl ) { wxNotebook* wxpeer = (wxNotebook*) viewimpl->GetWXPeer(); @@ -83,7 +83,15 @@ WXCOCOAIMPL_COMMON_INTERFACE @implementation wxNSTabView -WXCOCOAIMPL_COMMON_IMPLEMENTATION ++ (void)initialize +{ + static BOOL initialized = NO; + if (!initialized) + { + initialized = YES; + wxOSXCocoaClassAddWXMethods( self ); + } +} @end @@ -93,18 +101,18 @@ public: wxCocoaTabView( wxWindowMac* peer , WXWidget w ) : wxWidgetCocoaImpl(peer, w) { } - - void GetContentArea( int &left , int &top , int &width , int &height ) const + + void GetContentArea( int &left , int &top , int &width , int &height ) const { wxNSTabView* slf = (wxNSTabView*) m_osxView; NSRect r = [slf contentRect]; - left = r.origin.x; - top = r.origin.y; - width = r.size.width; - height = r.size.height; + left = (int)r.origin.x; + top = (int)r.origin.y; + width = (int)r.size.width; + height = (int)r.size.height; } - - void SetValue( wxInt32 value ) + + void SetValue( wxInt32 value ) { wxNSTabView* slf = (wxNSTabView*) m_osxView; // avoid 'changed' events when setting the tab programmatically @@ -113,7 +121,7 @@ public: [slf selectTabViewItemAtIndex:(value-1)]; [slf setDelegate:controller]; } - + wxInt32 GetValue() const { wxNSTabView* slf = (wxNSTabView*) m_osxView; @@ -123,7 +131,7 @@ public: else return [slf indexOfTabViewItem:selectedItem]+1; } - + void SetMaximum( wxInt32 maximum ) { wxNSTabView* slf = (wxNSTabView*) m_osxView; @@ -131,7 +139,7 @@ public: // avoid 'changed' events when setting the tab programmatically wxTabViewController* controller = [slf delegate]; [slf setDelegate:nil]; - + if ( maximum > cocoacount ) { for ( int i = cocoacount ; i < maximum ; ++i ) @@ -155,9 +163,9 @@ public: void SetupTabs( const wxNotebook& notebook) { int pcount = notebook.GetPageCount(); - + SetMaximum( pcount ); - + for ( int i = 0 ; i < pcount ; ++i ) { wxNotebookPage* page = notebook.GetPage(i); @@ -218,13 +226,13 @@ public: verify_noerr( err ); #endif */ -wxWidgetImplType* wxWidgetImpl::CreateTabView( wxWindowMac* wxpeer, - wxWindowMac* parent, - wxWindowID id, - const wxPoint& pos, +wxWidgetImplType* wxWidgetImpl::CreateTabView( wxWindowMac* wxpeer, + wxWindowMac* WXUNUSED(parent), + wxWindowID WXUNUSED(id), + const wxPoint& pos, const wxSize& size, - long style, - long extraStyle) + long style, + long WXUNUSED(extraStyle)) { static wxTabViewController* controller = NULL; @@ -232,7 +240,7 @@ wxWidgetImplType* wxWidgetImpl::CreateTabView( wxWindowMac* wxpeer, controller =[[wxTabViewController alloc] init]; NSRect r = wxOSXGetFrameForControl( wxpeer, pos , size ) ; - + NSTabViewType tabstyle = NSTopTabsBezelBorder; if ( style & wxBK_LEFT ) tabstyle = NSLeftTabsBezelBorder; @@ -240,11 +248,10 @@ wxWidgetImplType* wxWidgetImpl::CreateTabView( wxWindowMac* wxpeer, tabstyle = NSRightTabsBezelBorder; else if ( style & wxBK_BOTTOM ) tabstyle = NSBottomTabsBezelBorder; - + wxNSTabView* v = [[wxNSTabView alloc] initWithFrame:r]; [v setTabViewType:tabstyle]; wxWidgetCocoaImpl* c = new wxCocoaTabView( wxpeer, v ); - [v setImplementation:c]; [v setDelegate: controller]; return c; }