From 5b05f3f15aa0676f91bc1d127d31f4fd95ef9f40 Mon Sep 17 00:00:00 2001 From: avenjamin Date: Wed, 24 Jun 2009 15:46:27 +0000 Subject: - Changed the way the BWToolkit framework was included to allow modifications to be made easily. - Fixed show/hide info pane toggle button image states to now show correctly --- .../BWSelectableToolbarHelper.m | 84 ++++++++++++++++++++++ 1 file changed, 84 insertions(+) create mode 100644 Frameworks/BWToolkitFramework.framework/BWSelectableToolbarHelper.m (limited to 'Frameworks/BWToolkitFramework.framework/BWSelectableToolbarHelper.m') diff --git a/Frameworks/BWToolkitFramework.framework/BWSelectableToolbarHelper.m b/Frameworks/BWToolkitFramework.framework/BWSelectableToolbarHelper.m new file mode 100644 index 00000000..acdea38a --- /dev/null +++ b/Frameworks/BWToolkitFramework.framework/BWSelectableToolbarHelper.m @@ -0,0 +1,84 @@ +// +// BWSelectableToolbarHelper.m +// BWToolkit +// +// Created by Brandon Walkin (www.brandonwalkin.com) +// All code is provided under the New BSD license. +// + +#import "BWSelectableToolbarHelper.h" + +@implementation BWSelectableToolbarHelper + +@synthesize contentViewsByIdentifier; +@synthesize windowSizesByIdentifier; +@synthesize selectedIdentifier; +@synthesize oldWindowTitle; +@synthesize initialIBWindowSize; +@synthesize isPreferencesToolbar; + +- (id)init +{ + if(self = [super init]) + { + if (contentViewsByIdentifier == nil) + contentViewsByIdentifier = [[NSMutableDictionary alloc] init]; + + if (windowSizesByIdentifier == nil) + windowSizesByIdentifier = [[NSMutableDictionary alloc] init]; + + if (selectedIdentifier == nil) + selectedIdentifier = [[NSString alloc] init]; + + if (oldWindowTitle == nil) + oldWindowTitle = [[NSString alloc] init]; + } + return self; +} + +- (id)initWithCoder:(NSCoder *)decoder; +{ + if ((self = [super init]) != nil) + { + [self setContentViewsByIdentifier:[decoder decodeObjectForKey:@"BWSTHContentViewsByIdentifier"]]; + + NSData *data = [decoder decodeObjectForKey:@"BWSTHWindowSizesByIdentifier"]; + [self setWindowSizesByIdentifier:[NSUnarchiver unarchiveObjectWithData:data]]; + + [self setSelectedIdentifier:[decoder decodeObjectForKey:@"BWSTHSelectedIdentifier"]]; + + [self setOldWindowTitle:[decoder decodeObjectForKey:@"BWSTHOldWindowTitle"]]; + + [self setInitialIBWindowSize:[decoder decodeSizeForKey:@"BWSTHInitialIBWindowSize"]]; + + [self setIsPreferencesToolbar:[decoder decodeBoolForKey:@"BWSTHIsPreferencesToolbar"]]; + } + return self; +} + +- (void)encodeWithCoder:(NSCoder*)coder +{ + [coder encodeObject:[self contentViewsByIdentifier] forKey:@"BWSTHContentViewsByIdentifier"]; + + NSData *data = [NSArchiver archivedDataWithRootObject:[self windowSizesByIdentifier]]; + [coder encodeObject:data forKey:@"BWSTHWindowSizesByIdentifier"]; + + [coder encodeObject:[self selectedIdentifier] forKey:@"BWSTHSelectedIdentifier"]; + + [coder encodeObject:[self oldWindowTitle] forKey:@"BWSTHOldWindowTitle"]; + + [coder encodeSize:[self initialIBWindowSize] forKey:@"BWSTHInitialIBWindowSize"]; + + [coder encodeBool:[self isPreferencesToolbar] forKey:@"BWSTHIsPreferencesToolbar"]; +} + +- (void)dealloc +{ + [contentViewsByIdentifier release]; + [windowSizesByIdentifier release]; + [selectedIdentifier release]; + [oldWindowTitle release]; + [super dealloc]; +} + +@end -- cgit v1.2.3