From a978e0175233ed1dd28ca656fad31442f1ee7d9e Mon Sep 17 00:00:00 2001 From: fredkiefer Date: Sat, 5 Nov 2011 17:45:09 +0000 Subject: [PATCH] Add decoding of class IBInitialTabViewItemAttribute. git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@34124 72102866-910b-0410-8b05-ffd578937521 --- ChangeLog | 5 +++ Headers/Additions/GNUstepGUI/GSXibLoading.h | 8 +++++ Source/GSXibLoader.m | 38 +++++++++++++++++++++ 3 files changed, 51 insertions(+) diff --git a/ChangeLog b/ChangeLog index 6abd67537..993ebc183 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2011-11-05 Fred Kiefer + + * Headers/Additions/GNUstepGUI/GSXibLoading.h, + * Source/GSXibLoader.m: Add decoding of class IBInitialTabViewItemAttribute. + 2011-11-04 Richard Frith-Macdonald * Source/GSInfoPanel.m: Tolerate 'Authors' being a string containing diff --git a/Headers/Additions/GNUstepGUI/GSXibLoading.h b/Headers/Additions/GNUstepGUI/GSXibLoading.h index 09f0943b7..db66b027b 100644 --- a/Headers/Additions/GNUstepGUI/GSXibLoading.h +++ b/Headers/Additions/GNUstepGUI/GSXibLoading.h @@ -111,6 +111,14 @@ } @end +@interface IBInitialTabViewItemAttribute: NSObject +{ + NSString *name; + id object; + id initialTabViewItem; +} +@end + @interface IBObjectRecord: NSObject { int objectID; diff --git a/Source/GSXibLoader.m b/Source/GSXibLoader.m index 85ee66e35..a69896426 100644 --- a/Source/GSXibLoader.m +++ b/Source/GSXibLoader.m @@ -458,6 +458,44 @@ @end +@implementation IBInitialTabViewItemAttribute + +- (id) initWithCoder: (NSCoder*)coder +{ + if ([coder allowsKeyedCoding]) + { + if ([coder containsValueForKey: @"name"]) + { + name = [coder decodeObjectForKey: @"name"]; + } + if ([coder containsValueForKey: @"object"]) + { + ASSIGN(object, [coder decodeObjectForKey: @"object"]); + } + if ([coder containsValueForKey: @"initialTabViewItem"]) + { + ASSIGN(initialTabViewItem, [coder decodeObjectForKey: @"initialTabViewItem"]); + } + } + else + { + [NSException raise: NSInvalidArgumentException + format: @"Can't decode %@ with %@.",NSStringFromClass([self class]), + NSStringFromClass([coder class])]; + } + return self; +} + +- (void) dealloc +{ + DESTROY(name); + DESTROY(object); + DESTROY(initialTabViewItem); + [super dealloc]; +} + +@end + @implementation IBObjectRecord - (id) initWithCoder: (NSCoder*)coder