mirror of
https://github.com/gnustep/libs-gui.git
synced 2025-04-22 18:11:06 +00:00
Added patches
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@3968 72102866-910b-0410-8b05-ffd578937521
This commit is contained in:
parent
42f2a761a5
commit
47d02e9aa3
5 changed files with 303 additions and 49 deletions
|
@ -1,3 +1,11 @@
|
|||
Wed Mar 24 08:23:00 1999 Richard Frith-Macdonald <richard@brainstorm.co.uk>
|
||||
|
||||
Incorporated patches by Benhur-de-Oliveira.Stein@imag.fr
|
||||
* Model/GMAppKit.m: various fixes.
|
||||
* Model/GMArchiver.m: various fixes.
|
||||
* Model/IMCustomObject.m: various fixes.
|
||||
* Model/IMLoading.m: various fixes.
|
||||
|
||||
Tue Mar 23 22:00:00 1999 Richard Frith-Macdonald <richard@brainstorm.co.uk>
|
||||
|
||||
* Source/NSWindow.m: Tidied up and added ([-setResizeIncrements:])
|
||||
|
|
307
Model/GMAppKit.m
307
Model/GMAppKit.m
|
@ -144,8 +144,8 @@ void __dummy_GMAppKit_functionForLinking() {}
|
|||
float delay, interval;
|
||||
id theCell = [self cell];
|
||||
|
||||
[self getPeriodicDelay:&delay interval:&interval];
|
||||
[archiver encodeInt:[self state] withName:@"state"];
|
||||
[self getPeriodicDelay:&delay interval:&interval];
|
||||
[archiver encodeFloat:delay withName:@"delay"];
|
||||
[archiver encodeFloat:interval withName:@"interval"];
|
||||
[archiver encodeString:[self title] withName:@"title"];
|
||||
|
@ -196,22 +196,254 @@ void __dummy_GMAppKit_functionForLinking() {}
|
|||
|
||||
- (void)encodeWithModelArchiver:(GMArchiver*)archiver
|
||||
{
|
||||
[archiver encodeObject:[self font] withName:@"font"];
|
||||
[archiver encodeInt:[self type] withName:@"type"];
|
||||
[archiver encodeObject:[self font] withName:@"font"];
|
||||
[archiver encodeString:[self stringValue] withName:@"stringValue"];
|
||||
[archiver encodeInt:[self entryType] withName:@"entryType"];
|
||||
[archiver encodeInt:[self alignment] withName:@"alignment"];
|
||||
[archiver encodeBOOL:[self wraps] withName:@"wraps"];
|
||||
[archiver encodeObject:[self image] withName:@"image"];
|
||||
[archiver encodeInt:[self state] withName:@"state"];
|
||||
[archiver encodeBOOL:[self isEnabled] withName:@"isEnabled"];
|
||||
[archiver encodeBOOL:[self isBordered] withName:@"isBordered"];
|
||||
[archiver encodeBOOL:[self isBezeled] withName:@"isBezeled"];
|
||||
[archiver encodeBOOL:[self isEditable] withName:@"isEditable"];
|
||||
[archiver encodeBOOL:[self isSelectable] withName:@"isSelectable"];
|
||||
[archiver encodeBOOL:[self isScrollable] withName:@"isScrollable"];
|
||||
[archiver encodeBOOL:[self isContinuous] withName:@"isContinuous"];
|
||||
[archiver encodeInt:[self sendActionOn:0] withName:@"sendActionMask"];
|
||||
}
|
||||
|
||||
- (id)initWithModelUnarchiver:(GMUnarchiver*)unarchiver
|
||||
{
|
||||
NSFont* font = [unarchiver decodeObjectWithName:@"font"];
|
||||
if (!font)
|
||||
font = [NSFont userFontOfSize:0];
|
||||
NSFont* font = [unarchiver decodeObjectWithName:@"font"];
|
||||
if (!font)
|
||||
font = [NSFont userFontOfSize:0];
|
||||
|
||||
[self setFont:font];
|
||||
return self;
|
||||
[self setFont:font];
|
||||
|
||||
// if (model_version >= 2) {
|
||||
[self setType:[unarchiver decodeIntWithName:@"type"]];
|
||||
[self setStringValue:[unarchiver decodeStringWithName:@"stringValue"]];
|
||||
[self setEntryType:[unarchiver decodeIntWithName:@"entryType"]];
|
||||
[self setAlignment:[unarchiver decodeIntWithName:@"alignment"]];
|
||||
[self setWraps:[unarchiver decodeBOOLWithName:@"wraps"]];
|
||||
[self setImage:[unarchiver decodeObjectWithName:@"image"]];
|
||||
[self setState:[unarchiver decodeIntWithName:@"state"]];
|
||||
[self setEnabled:[unarchiver decodeBOOLWithName:@"isEnabled"]];
|
||||
[self setBordered:[unarchiver decodeBOOLWithName:@"isBordered"]];
|
||||
[self setBezeled:[unarchiver decodeBOOLWithName:@"isBezeled"]];
|
||||
[self setEditable:[unarchiver decodeBOOLWithName:@"isEditable"]];
|
||||
[self setSelectable:[unarchiver decodeBOOLWithName:@"isSelectable"]];
|
||||
[self setScrollable:[unarchiver decodeBOOLWithName:@"isScrollable"]];
|
||||
[self setContinuous:[unarchiver decodeBOOLWithName:@"isContinuous"]];
|
||||
[self sendActionOn:[unarchiver decodeIntWithName:@"sendActionMask"]];
|
||||
// }
|
||||
|
||||
return self;
|
||||
}
|
||||
|
||||
@end /* NSCell (GMArchiverMethods) */
|
||||
|
||||
|
||||
|
||||
@implementation NSActionCell (GMArchiverMethods)
|
||||
|
||||
- (void)encodeWithModelArchiver:(GMArchiver*)archiver
|
||||
{
|
||||
[super encodeWithModelArchiver:archiver];
|
||||
|
||||
[archiver encodeInt:[self tag] withName:@"tag"];
|
||||
[archiver encodeObject:[self target] withName:@"target"];
|
||||
[archiver encodeSelector:[self action] withName:@"action"];
|
||||
}
|
||||
|
||||
- (id)initWithModelUnarchiver:(GMUnarchiver*)unarchiver
|
||||
{
|
||||
self = [super initWithModelUnarchiver:unarchiver];
|
||||
|
||||
// if (model_version >= 2) {
|
||||
[self setTag:[unarchiver decodeIntWithName:@"tag"]];
|
||||
[self setTarget:[unarchiver decodeObjectWithName:@"target"]];
|
||||
[self setAction:[unarchiver decodeSelectorWithName:@"action"]];
|
||||
// }
|
||||
|
||||
return self;
|
||||
}
|
||||
|
||||
@end /* NSActionCell (GMArchiverMethods) */
|
||||
|
||||
|
||||
@implementation NSButtonCell (GMArchiverMethods)
|
||||
|
||||
- (void)encodeWithModelArchiver:(GMArchiver*)archiver
|
||||
{
|
||||
float delay, interval;
|
||||
|
||||
[super encodeWithModelArchiver:archiver];
|
||||
|
||||
[self getPeriodicDelay:&delay interval:&interval];
|
||||
[archiver encodeFloat:delay withName:@"delay"];
|
||||
[archiver encodeFloat:interval withName:@"interval"];
|
||||
[archiver encodeString:[self alternateTitle] withName:@"alternateTitle"];
|
||||
[archiver encodeObject:[self alternateImage] withName:@"alternateImage"];
|
||||
[archiver encodeInt:[self imagePosition] withName:@"imagePosition"];
|
||||
[archiver encodeBOOL:[self isTransparent] withName:@"isTransparent"];
|
||||
[archiver encodeString:[self keyEquivalent] withName:@"keyEquivalent"];
|
||||
[archiver encodeObject:[self keyEquivalentFont] withName:@"keyEquivalentFont"];
|
||||
[archiver encodeInt:[self keyEquivalentModifierMask] withName:@"keyEquivalentModifierMask"];
|
||||
[archiver encodeInt:[self highlightsBy] withName:@"highlightsBy"];
|
||||
[archiver encodeInt:[self showsStateBy] withName:@"showsStateBy"];
|
||||
}
|
||||
|
||||
- (id)initWithModelUnarchiver:(GMUnarchiver*)unarchiver
|
||||
{
|
||||
float delay, interval;
|
||||
id obj;
|
||||
|
||||
self = [super initWithModelUnarchiver:unarchiver];
|
||||
|
||||
// if (model_version >= 2) {
|
||||
delay = [unarchiver decodeFloatWithName:@"delay"];
|
||||
interval = [unarchiver decodeFloatWithName:@"interval"];
|
||||
[self setPeriodicDelay:delay interval:interval];
|
||||
|
||||
obj = [unarchiver decodeStringWithName:@"alternateTitle"];
|
||||
if (obj) [self setAlternateTitle:obj];
|
||||
obj = [unarchiver decodeObjectWithName:@"alternateImage"];
|
||||
[self setAlternateImage:obj];
|
||||
[self setImagePosition:[unarchiver decodeIntWithName:@"imagePosition"]];
|
||||
[self setTransparent:[unarchiver decodeBOOLWithName:@"isTransparent"]];
|
||||
[self setKeyEquivalent:[unarchiver decodeStringWithName:@"keyEquivalent"]];
|
||||
[self setKeyEquivalentFont:[unarchiver decodeObjectWithName:@"keyEquivalentFont"]];
|
||||
[self setKeyEquivalentModifierMask:[unarchiver decodeIntWithName:@"keyEquivalentModifierMask"]];
|
||||
[self setHighlightsBy:[unarchiver decodeIntWithName:@"highlightsBy"]];
|
||||
[self setShowsStateBy:[unarchiver decodeIntWithName:@"showsStateBy"]];
|
||||
// }
|
||||
|
||||
return self;
|
||||
}
|
||||
|
||||
@end /* NSButtonCell (GMArchiverMethods) */
|
||||
|
||||
|
||||
@implementation NSMatrix (GMArchiverMethods)
|
||||
|
||||
- (void)encodeWithModelArchiver:(GMArchiver*)archiver
|
||||
{
|
||||
[super encodeWithModelArchiver:archiver];
|
||||
|
||||
[archiver encodeInt:[self mode] withName:@"mode"];
|
||||
[archiver encodeBOOL:[self allowsEmptySelection] withName:@"allowsEmptySelection"];
|
||||
[archiver encodeBOOL:[self isSelectionByRect] withName:@"isSelectionByRect"];
|
||||
|
||||
[archiver encodeBOOL:[self autosizesCells] withName:@"autosizesCells"];
|
||||
[archiver encodeBOOL:[self isAutoscroll] withName:@"isAutoscroll"];
|
||||
[archiver encodeSize:[self cellSize] withName:@"cellSize"];
|
||||
[archiver encodeSize:[self intercellSpacing] withName:@"intercellSpacing"];
|
||||
[archiver encodeObject:[self backgroundColor] withName:@"backgroundColor"];
|
||||
[archiver encodeObject:[self cellBackgroundColor] withName:@"cellBackgroundColor"];
|
||||
[archiver encodeBOOL:[self drawsBackground] withName:@"drawsBackground"];
|
||||
[archiver encodeBOOL:[self drawsCellBackground] withName:@"drawsCellBackground"];
|
||||
|
||||
[archiver encodeClass:[self cellClass] withName:@"cellClass"];
|
||||
[archiver encodeObject:[self prototype] withName:@"prototype"];
|
||||
[archiver encodeInt:[self numberOfRows] withName:@"numberOfRows"];
|
||||
[archiver encodeInt:[self numberOfColumns] withName:@"numberOfColumns"];
|
||||
[archiver encodeObject:[self cells] withName:@"cells"];
|
||||
[archiver encodeObject:[self delegate] withName:@"delegate"];
|
||||
|
||||
[archiver encodeObject:[self target] withName:@"target"];
|
||||
[archiver encodeSelector:[self action] withName:@"action"];
|
||||
[archiver encodeSelector:[self doubleAction] withName:@"doubleAction"];
|
||||
[archiver encodeSelector:[self errorAction] withName:@"errorAction"];
|
||||
}
|
||||
|
||||
- (id)initWithModelUnarchiver:(GMUnarchiver*)unarchiver
|
||||
{
|
||||
int nr, nc;
|
||||
NSArray *cell_array;
|
||||
int i;
|
||||
|
||||
self = [super initWithModelUnarchiver:unarchiver];
|
||||
|
||||
// if (model_version >= 2) {
|
||||
[self setMode:[unarchiver decodeIntWithName:@"mode"]];
|
||||
[self setAllowsEmptySelection:[unarchiver decodeBOOLWithName:@"allowsEmptySelection"]];
|
||||
[self setSelectionByRect:[unarchiver decodeBOOLWithName:@"isSelectionByRect"]];
|
||||
|
||||
[self setAutosizesCells:[unarchiver decodeBOOLWithName:@"autosizesCells"]];
|
||||
[self setAutoscroll:[unarchiver decodeBOOLWithName:@"isAutoscroll"]];
|
||||
[self setCellSize:[unarchiver decodeSizeWithName:@"cellSize"]];
|
||||
[self setIntercellSpacing:[unarchiver decodeSizeWithName:@"intercellSpacing"]];
|
||||
[self setBackgroundColor:[unarchiver decodeObjectWithName:@"backgroundColor"]];
|
||||
[self setCellBackgroundColor:[unarchiver decodeObjectWithName:@"cellBackgroundColor"]];
|
||||
[self setDrawsBackground:[unarchiver decodeBOOLWithName:@"drawsBackground"]];
|
||||
[self setDrawsCellBackground:[unarchiver decodeBOOLWithName:@"drawsCellBackground"]];
|
||||
|
||||
[self setCellClass:[unarchiver decodeClassWithName:@"cellClass"]];
|
||||
[self setPrototype:[unarchiver decodeObjectWithName:@"prototype"]];
|
||||
|
||||
nr = [unarchiver decodeIntWithName:@"numberOfRows"];
|
||||
nc = [unarchiver decodeIntWithName:@"numberOfColumns"];
|
||||
cell_array = [unarchiver decodeObjectWithName:@"cells"];
|
||||
[self renewRows:nr columns:nc];
|
||||
for (i = 0; (i < [cell_array count]) && (i < nr*nc); i++) {
|
||||
[self putCell:[cell_array objectAtIndex:i] atRow:i/nc column:i%nc];
|
||||
}
|
||||
|
||||
[self setDelegate:[unarchiver decodeObjectWithName:@"delegate"]];
|
||||
|
||||
|
||||
[self setTarget:[unarchiver decodeObjectWithName:@"target"]];
|
||||
[self setAction:[unarchiver decodeSelectorWithName:@"action"]];
|
||||
[self setDoubleAction:[unarchiver decodeSelectorWithName:@"doubleAction"]];
|
||||
[self setErrorAction:[unarchiver decodeSelectorWithName:@"errorAction"]];
|
||||
[self sizeToCells];
|
||||
// }
|
||||
|
||||
return self;
|
||||
}
|
||||
|
||||
@end /* NSMatrix (GMArchiverMethods) */
|
||||
|
||||
|
||||
@implementation NSScrollView (GMArchiverMethods)
|
||||
|
||||
// do not encode our subviews in NSView (it would encode the clipview and
|
||||
// the scroller, which are not necessary).
|
||||
- (NSArray *)subviewsForModel
|
||||
{
|
||||
return [NSArray array];
|
||||
}
|
||||
|
||||
- (void)encodeWithModelArchiver:(GMArchiver*)archiver
|
||||
{
|
||||
[super encodeWithModelArchiver:archiver];
|
||||
|
||||
[archiver encodeObject:[self backgroundColor] withName:@"backgroundColor"];
|
||||
[archiver encodeInt:[self borderType] withName:@"borderType"];
|
||||
[archiver encodeBOOL:[self hasHorizontalScroller] withName:@"hasHorizontalScroller"];
|
||||
[archiver encodeBOOL:[self hasVerticalScroller] withName:@"hasVerticalScroller"];
|
||||
[archiver encodeObject:[self documentView] withName:@"documentView"];
|
||||
}
|
||||
|
||||
- (id)initWithModelUnarchiver:(GMUnarchiver*)unarchiver
|
||||
{
|
||||
self = [super initWithModelUnarchiver:unarchiver];
|
||||
|
||||
[self setBackgroundColor:[unarchiver decodeObjectWithName:@"backgroundColor"]];
|
||||
[self setBorderType:[unarchiver decodeIntWithName:@"borderType"]];
|
||||
[self setHasHorizontalScroller:[unarchiver decodeBOOLWithName:@"hasHorizontalScroller"]];
|
||||
[self setHasVerticalScroller:[unarchiver decodeBOOLWithName:@"hasVerticalScroller"]];
|
||||
[self setDocumentView:[unarchiver decodeObjectWithName:@"documentView"]];
|
||||
|
||||
return self;
|
||||
}
|
||||
|
||||
@end /* NSScrollView (GMArchiverMethods) */
|
||||
|
||||
|
||||
@implementation NSClipView (GMArchiverMethods)
|
||||
|
||||
- (void)encodeWithModelArchiver:(GMArchiver*)archiver
|
||||
|
@ -349,39 +581,36 @@ void __dummy_GMAppKit_functionForLinking() {}
|
|||
|
||||
- (void)encodeWithModelArchiver:(GMArchiver*)archiver
|
||||
{
|
||||
id target;
|
||||
SEL action;
|
||||
[archiver encodeObject:[self cell] withName:@"cell"];
|
||||
[archiver encodeBOOL:[self isEnabled] withName:@"isEnabled"];
|
||||
[archiver encodeInt:[self tag] withName:@"tag"];
|
||||
[archiver encodeBOOL:[self ignoresMultiClick] withName:@"ignoresMultiClick"];
|
||||
|
||||
if ((target = [self target]))
|
||||
[archiver encodeObject:target withName:@"target"];
|
||||
if ((action = [self action]))
|
||||
[archiver encodeSelector:action withName:@"action"];
|
||||
|
||||
[archiver encodeBOOL:[self isEnabled] withName:@"isEnabled"];
|
||||
[archiver encodeInt:[self alignment] withName:@"alignment"];
|
||||
[archiver encodeObject:[self font] withName:@"font"];
|
||||
[archiver encodeBOOL:[self isContinuous] withName:@"isContinuous"];
|
||||
[archiver encodeInt:[self tag] withName:@"tag"];
|
||||
[archiver encodeBOOL:[self ignoresMultiClick] withName:@"ignoresMultiClick"];
|
||||
|
||||
[super encodeWithModelArchiver:archiver];
|
||||
[super encodeWithModelArchiver:archiver];
|
||||
}
|
||||
|
||||
- (id)initWithModelUnarchiver:(GMUnarchiver*)unarchiver
|
||||
{
|
||||
self = [super initWithModelUnarchiver:unarchiver];
|
||||
self = [super initWithModelUnarchiver:unarchiver];
|
||||
|
||||
[self setTarget:[unarchiver decodeObjectWithName:@"target"]];
|
||||
[self setAction:[unarchiver decodeSelectorWithName:@"action"]];
|
||||
[self setEnabled:[unarchiver decodeBOOLWithName:@"isEnabled"]];
|
||||
[self setAlignment:[unarchiver decodeIntWithName:@"alignment"]];
|
||||
[self setFont:[unarchiver decodeObjectWithName:@"font"]];
|
||||
[self setContinuous:[unarchiver decodeBOOLWithName:@"isContinuous"]];
|
||||
[self setTag:[unarchiver decodeIntWithName:@"tag"]];
|
||||
[self setIgnoresMultiClick:
|
||||
[unarchiver decodeBOOLWithName:@"ignoresMultiClick"]];
|
||||
|
||||
return self;
|
||||
// if (model_version == 1) {
|
||||
//[self setTarget:[unarchiver decodeObjectWithName:@"target"]];
|
||||
//[self setAction:[unarchiver decodeSelectorWithName:@"action"]];
|
||||
//[self setEnabled:[unarchiver decodeBOOLWithName:@"isEnabled"]];
|
||||
//[self setAlignment:[unarchiver decodeIntWithName:@"alignment"]];
|
||||
//[self setFont:[unarchiver decodeObjectWithName:@"font"]];
|
||||
//[self setContinuous:[unarchiver decodeBOOLWithName:@"isContinuous"]];
|
||||
//[self setTag:[unarchiver decodeIntWithName:@"tag"]];
|
||||
//[self setIgnoresMultiClick:
|
||||
// [unarchiver decodeBOOLWithName:@"ignoresMultiClick"]];
|
||||
// } else {
|
||||
[self setCell:[unarchiver decodeObjectWithName:@"cell"]];
|
||||
[self setEnabled:[unarchiver decodeBOOLWithName:@"isEnabled"]];
|
||||
[self setTag:[unarchiver decodeIntWithName:@"tag"]];
|
||||
[self setIgnoresMultiClick:
|
||||
[unarchiver decodeBOOLWithName:@"ignoresMultiClick"]];
|
||||
// }
|
||||
return self;
|
||||
}
|
||||
|
||||
@end /* NSControl (GMArchiverMethods) */
|
||||
|
@ -664,12 +893,18 @@ void __dummy_GMAppKit_functionForLinking() {}
|
|||
|
||||
@implementation NSView (GMArchiverMethods)
|
||||
|
||||
// subclasses may not want to encode all subviews...
|
||||
- (NSArray *)subviewsForModel
|
||||
{
|
||||
return [self subviews];
|
||||
}
|
||||
|
||||
- (void)encodeWithModelArchiver:(GMArchiver*)archiver
|
||||
{
|
||||
[super encodeWithModelArchiver:archiver];
|
||||
|
||||
[archiver encodeConditionalObject:[self superview] withName:@"superview"];
|
||||
[archiver encodeObject:[self subviews] withName:@"subviews"];
|
||||
[archiver encodeObject:[self subviewsForModel] withName:@"subviews"];
|
||||
[archiver encodeRect:[self frame] withName:@"frame"];
|
||||
[archiver encodeRect:[self bounds] withName:@"bounds"];
|
||||
[archiver encodeBOOL:[self postsFrameChangedNotifications]
|
||||
|
@ -708,7 +943,7 @@ void __dummy_GMAppKit_functionForLinking() {}
|
|||
for (i = 0, count = [subviews count]; i < count; i++)
|
||||
[self addSubview:[subviews objectAtIndex:i]];
|
||||
|
||||
[self setBounds:[unarchiver decodeRectWithName:@"bounds"]];
|
||||
// [self setBounds:[unarchiver decodeRectWithName:@"bounds"]];
|
||||
[self setPostsFrameChangedNotifications:
|
||||
[unarchiver decodeBOOLWithName:@"postsFrameChangedNotifications"]];
|
||||
[self setPostsBoundsChangedNotifications:
|
||||
|
|
|
@ -764,6 +764,9 @@ static NSMutableDictionary* classToAliasMappings = nil;
|
|||
return nil;
|
||||
}
|
||||
|
||||
if ([string isEqualToString: @"nil"])
|
||||
return nil;
|
||||
|
||||
return string;
|
||||
}
|
||||
|
||||
|
|
|
@ -47,16 +47,20 @@ extern BOOL _fileOwnerDecoded;
|
|||
IMCustomObject* customObject = [[self new] autorelease];
|
||||
Class class;
|
||||
|
||||
customObject->className = [unarchiver decodeStringWithName:@"className"];
|
||||
customObject->extension = [unarchiver decodeObjectWithName:@"extension"];
|
||||
customObject->realObject = [unarchiver decodeObjectWithName:@"realObject"];
|
||||
|
||||
if (!_fileOwnerDecoded) {
|
||||
_fileOwnerDecoded = YES;
|
||||
customObject->className = [unarchiver decodeStringWithName:@"className"];
|
||||
customObject->extension = [unarchiver decodeObjectWithName:@"extension"];
|
||||
customObject->realObject = [unarchiver decodeObjectWithName:@"realObject"];
|
||||
|
||||
customObject->realObject = _nibOwner;
|
||||
return customObject;
|
||||
}
|
||||
|
||||
customObject->className = [unarchiver decodeStringWithName:@"className"];
|
||||
customObject->extension = [unarchiver decodeObjectWithName:@"extension"];
|
||||
customObject->realObject = [unarchiver decodeObjectWithName:@"realObject"];
|
||||
|
||||
class = NSClassFromString (customObject->className);
|
||||
if (class)
|
||||
customObject->realObject = [[class alloc] init];
|
||||
|
@ -96,16 +100,19 @@ extern BOOL _fileOwnerDecoded;
|
|||
IMCustomView* customView = [[self new] autorelease];
|
||||
Class class;
|
||||
|
||||
customView->className = [unarchiver decodeStringWithName:@"className"];
|
||||
customView->extension = [unarchiver decodeObjectWithName:@"extension"];
|
||||
customView->realObject = [unarchiver decodeObjectWithName:@"realObject"];
|
||||
|
||||
if (!_fileOwnerDecoded) {
|
||||
_fileOwnerDecoded = YES;
|
||||
customView->className = [unarchiver decodeStringWithName:@"className"];
|
||||
customView->extension = [unarchiver decodeObjectWithName:@"extension"];
|
||||
customView->realObject = [unarchiver decodeObjectWithName:@"realObject"];
|
||||
customView->realObject = _nibOwner;
|
||||
return customView;
|
||||
}
|
||||
|
||||
customView->className = [unarchiver decodeStringWithName:@"className"];
|
||||
customView->extension = [unarchiver decodeObjectWithName:@"extension"];
|
||||
customView->realObject = [unarchiver decodeObjectWithName:@"realObject"];
|
||||
|
||||
class = NSClassFromString (customView->className);
|
||||
if (class)
|
||||
customView->realObject = [[class alloc] init];
|
||||
|
@ -113,6 +120,7 @@ extern BOOL _fileOwnerDecoded;
|
|||
NSLog (@"Class %@ not linked into application!", customView->className);
|
||||
}
|
||||
|
||||
return customView->realObject;
|
||||
return customView;
|
||||
}
|
||||
|
||||
|
|
|
@ -84,18 +84,18 @@ BOOL _fileOwnerDecoded = NO;
|
|||
}
|
||||
else {
|
||||
/* The path is a relative path; search it in the current bundle. */
|
||||
//path = [resourcePath stringByAppendingPathComponent:path];
|
||||
if (![[NSFileManager defaultManager] fileExistsAtPath:
|
||||
[resourcePath stringByAppendingPathComponent:path]]) {
|
||||
NSString *abspath = [resourcePath stringByAppendingPathComponent:path];
|
||||
if (![[NSFileManager defaultManager] fileExistsAtPath:abspath]) {
|
||||
//try in GNUSTEP_ROOT/Library/Model/...
|
||||
NSString *root;
|
||||
|
||||
root = [NSString stringWithCString:getenv("GNUSTEP_SYSTEM_ROOT")];
|
||||
root = [root stringByAppendingPathComponent:@"Library/Model/"];
|
||||
path = [root stringByAppendingPathComponent:path];
|
||||
if (![[NSFileManager defaultManager] fileExistsAtPath:path])
|
||||
abspath = [root stringByAppendingPathComponent:path];
|
||||
if (![[NSFileManager defaultManager] fileExistsAtPath:abspath])
|
||||
return NO;
|
||||
}
|
||||
path = abspath;
|
||||
}
|
||||
|
||||
NSLog (@"loading model file %@...", path);
|
||||
|
|
Loading…
Reference in a new issue