libs-gui/Source/GSXibLoading.m
Fred Kiefer fd098d8eda * Source/NSButtonCell.m (-initWithCoder:):
Fix image scaling value extract from XIB.
        * Headers/Additions/GNUstepGUI/GSXibLoading.h
        * Source/GSXibLoading.m
        * Source/GSXibLoader.m
        Add IB defined runtime attribute processing for XIB
        Patch by Marcian Lytwyn <gna@advcsi.com>.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@38882 72102866-910b-0410-8b05-ffd578937521
2015-08-13 22:03:03 +00:00

148 lines
2.6 KiB
Objective-C

#import <Foundation/NSObject.h>
#import <Foundation/NSKeyedArchiver.h>
#import "GNUstepGUI/GSXibElement.h"
#import "GNUstepGUI/GSXibLoading.h"
@interface IBAccessibilityAttribute : NSObject <NSCoding>
@end
@interface IBNSLayoutConstraint : NSObject <NSCoding>
@end
@interface IBLayoutConstant : NSObject <NSCoding>
@end
@implementation IBUserDefinedRuntimeAttribute
- (void) encodeWithCoder: (NSCoder *)coder
{
if([coder allowsKeyedCoding])
{
[coder encodeObject: typeIdentifier forKey: @"typeIdentifier"];
[coder encodeObject: keyPath forKey: @"keyPath"];
[coder encodeObject: value forKey: @"value"];
}
}
- (id) initWithCoder: (NSCoder *)coder
{
if([coder allowsKeyedCoding])
{
[self setTypeIdentifier: [coder decodeObjectForKey: @"typeIdentifier"]];
[self setKeyPath: [coder decodeObjectForKey: @"keyPath"]];
[self setValue: [coder decodeObjectForKey: @"value"]];
}
return self;
}
- (void) setTypeIdentifier: (NSString *)type
{
ASSIGN(typeIdentifier, type);
}
- (NSString *) typeIdentifier
{
return typeIdentifier;
}
- (void) setKeyPath: (NSString *)kpath
{
ASSIGN(keyPath, kpath);
}
- (NSString *) keyPath
{
return keyPath;
}
- (void) setValue: (id)val
{
ASSIGN(value, val);
}
- (id) value
{
return value;
}
@end
@implementation IBUserDefinedRuntimeAttributesPlaceholder
- (void) encodeWithCoder: (NSCoder *)coder
{
if([coder allowsKeyedCoding])
{
[coder encodeObject: name forKey: @"IBUserDefinedRuntimeAttributesPlaceholderName"];
[coder encodeObject: runtimeAttributes forKey: @"userDefinedRuntimeAttributes"];
}
}
- (id) initWithCoder: (NSCoder *)coder
{
if([coder allowsKeyedCoding])
{
[self setName: [coder decodeObjectForKey: @"IBUserDefinedRuntimeAttributesPlaceholderName"]];
[self setRuntimeAttributes: [coder decodeObjectForKey: @"userDefinedRuntimeAttributes"]];
}
return self;
}
- (void) setName: (NSString *)value
{
ASSIGN(name, value);
}
- (NSString *) name
{
return name;
}
- (void) setRuntimeAttributes: (NSArray *)attrbutes
{
ASSIGN(runtimeAttributes, attrbutes);
}
- (NSArray *) runtimeAttributes
{
return runtimeAttributes;
}
@end
@implementation IBAccessibilityAttribute
- (void) encodeWithCoder: (NSCoder *)coder
{
}
- (id) initWithCoder: (NSCoder *)coder
{
return self;
}
@end
@implementation IBNSLayoutConstraint
- (void) encodeWithCoder: (NSCoder *)coder
{
// Do nothing...
}
- (id) initWithCoder: (NSCoder *)coder
{
return self;
}
@end
@implementation IBLayoutConstant
- (void) encodeWithCoder: (NSCoder *)coder
{
// Do nothing...
}
- (id) initWithCoder: (NSCoder *)coder
{
return self;
}
@end