From 4e07c9f9eed7e7c9ef98373c214bdbc56e158964 Mon Sep 17 00:00:00 2001 From: Alexander Ljungberg Date: Thu, 2 Jun 2011 11:58:31 -0400 Subject: [PATCH] Decode but mostly ignore NSImages in nib2cib. Fixed: radio groups in IB come with an NSImage and so would not nib2cib anymore after the recent addition of template image support in NSButton. --- Tools/nib2cib/NSAppKit.j | 1 + Tools/nib2cib/NSImage.j | 60 ++++++++++++++++++++++++++++++++++++++++ 2 files changed, 61 insertions(+) create mode 100644 Tools/nib2cib/NSImage.j diff --git a/Tools/nib2cib/NSAppKit.j b/Tools/nib2cib/NSAppKit.j index 435281373..b8008a14c 100644 --- a/Tools/nib2cib/NSAppKit.j +++ b/Tools/nib2cib/NSAppKit.j @@ -39,6 +39,7 @@ @import "NSFont.j" @import "NSFormatter.j" @import "NSIBObjectData.j" +@import "NSImage.j" @import "NSImageView.j" @import "NSLevelIndicator.j" @import "NSMatrix.j" diff --git a/Tools/nib2cib/NSImage.j b/Tools/nib2cib/NSImage.j new file mode 100644 index 000000000..a40b85f95 --- /dev/null +++ b/Tools/nib2cib/NSImage.j @@ -0,0 +1,60 @@ +/* + * NSImage.j + * nib2cib + * + * Created by Alexander Ljungberg. + * Copyright 2011, WireLoad Inc. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ + +@import + +@implementation CPImage (CPCoding) + +- (id)NS_initWithCoder:(CPCoder)aCoder +{ + self = [self init]; + + if (self) + { + var imageFlags = [aCoder decodeIntForKey:@"NSImageFlags"]; + + // TODO Do something with this serialised image data. + // var imageContentReps = [aCoder decodeObjectForKey:@"NSReps"]; + + _size = [aCoder decodeSizeForKey:@"NSSize"]; + } + + return self; +} + +@end + +@implementation NSImage : CPImage +{ +} + +- (id)initWithCoder:(CPCoder)aCoder +{ + return [self NS_initWithCoder:aCoder]; +} + +- (Class)classForKeyedArchiver +{ + return [CPImage class]; +} + +@end