diff options
Diffstat (limited to 'cocoa/PSMTabBarControl')
-rw-r--r-- | cocoa/PSMTabBarControl/PSMTabBarControl.h | 3 | ||||
-rw-r--r-- | cocoa/PSMTabBarControl/PSMTabBarControl.m | 13 |
2 files changed, 11 insertions, 5 deletions
diff --git a/cocoa/PSMTabBarControl/PSMTabBarControl.h b/cocoa/PSMTabBarControl/PSMTabBarControl.h index 5ad02e5c1..980c43d38 100644 --- a/cocoa/PSMTabBarControl/PSMTabBarControl.h +++ b/cocoa/PSMTabBarControl/PSMTabBarControl.h @@ -163,7 +163,8 @@ enum { - (PSMTabBarTearOffStyle)tearOffStyle; - (void)setTearOffStyle:(PSMTabBarTearOffStyle)tearOffStyle; -+ (Class) defaultStyleClass; +// Factory for default style ++ (Class)defaultStyleClass; // accessors - (NSTabView *)tabView; diff --git a/cocoa/PSMTabBarControl/PSMTabBarControl.m b/cocoa/PSMTabBarControl/PSMTabBarControl.m index 3a7e0c6d4..cb0e0342c 100644 --- a/cocoa/PSMTabBarControl/PSMTabBarControl.m +++ b/cocoa/PSMTabBarControl/PSMTabBarControl.m @@ -6,6 +6,8 @@ // Copyright 2005 Positive Spin Media. All rights reserved. // +#import <objc/runtime.h> + #import "PSMTabBarControl.h" #import "PSMTabBarCell.h" #import "PSMOverflowPopUpButton.h" @@ -67,7 +69,8 @@ #pragma mark - #pragma mark Characteristics -+ (NSBundle *)bundle; + ++ (NSBundle *)bundle { static NSBundle *bundle = nil; if(!bundle) { @@ -174,7 +177,7 @@ } } -+ (Class) defaultStyleClass; ++ (Class) defaultStyleClass { return [PSMUnifiedTabStyle class]; } @@ -350,7 +353,9 @@ - (void)setStyleNamed:(NSString *)name { Class styleClass = NSClassFromString( [NSString stringWithFormat: @"PSM%@TabStyle", [name capitalizedString]] ); - if (styleClass == Nil) styleClass = [isa defaultStyleClass]; + if (styleClass == Nil) { + styleClass = object_getClass([PSMTabBarControl defaultStyleClass]); + } id <PSMTabStyle> newStyle = [[styleClass alloc] init]; [self setStyle:newStyle]; @@ -369,7 +374,7 @@ _tabBarWidth = 120; } - if(lastOrientation != _orientation) { + if (lastOrientation != _orientation) { [[self style] setOrientation:_orientation]; [self _positionOverflowMenu]; //move the overflow popup button to the right place |