mirror of
https://github.com/gnustep/libs-gui.git
synced 2025-04-26 17:01:22 +00:00
Adding logic for .gorm file directories
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@14892 72102866-910b-0410-8b05-ffd578937521
This commit is contained in:
parent
89ef1d72c9
commit
00c2564afb
2 changed files with 53 additions and 27 deletions
|
@ -1,3 +1,10 @@
|
||||||
|
2002-10-31 Gregory John Casamento <greg_casamento@yahoo.com>
|
||||||
|
|
||||||
|
* Source/NSBundleAdditions.m:
|
||||||
|
+[loadNibFile:externalNameTable:withZone:]: Added logic
|
||||||
|
to load .gorm directories and also maintained backwards compatibility
|
||||||
|
with .gorm files.
|
||||||
|
|
||||||
2002-10-29 Pierre-Yves Rivaille <pyrivail@ens-lyon.fr>
|
2002-10-29 Pierre-Yves Rivaille <pyrivail@ens-lyon.fr>
|
||||||
|
|
||||||
* Source/NSSplitView.m ([NSSplitView -resizeSubviewsWithOldSize:]):
|
* Source/NSSplitView.m ([NSSplitView -resizeSubviewsWithOldSize:]):
|
||||||
|
|
|
@ -259,38 +259,57 @@ Class gmodel_class(void)
|
||||||
NSDebugLog(@"Loading Nib `%@'...\n", fileName);
|
NSDebugLog(@"Loading Nib `%@'...\n", fileName);
|
||||||
NS_DURING
|
NS_DURING
|
||||||
{
|
{
|
||||||
NSData *data = [NSData dataWithContentsOfFile: fileName];
|
NSFileManager *mgr = [NSFileManager defaultManager];
|
||||||
NSDebugLog(@"Loaded data...");
|
BOOL isDir = NO;
|
||||||
if (data != nil)
|
|
||||||
{
|
|
||||||
unarchiver = [[NSUnarchiver alloc] initForReadingWithData: data];
|
|
||||||
if (unarchiver != nil)
|
|
||||||
{
|
|
||||||
id obj;
|
|
||||||
|
|
||||||
NSDebugLog(@"Invoking unarchiver");
|
if([mgr fileExistsAtPath: fileName isDirectory: &isDir])
|
||||||
[unarchiver setObjectZone: zone];
|
{
|
||||||
obj = [unarchiver decodeObject];
|
NSData *data = nil;
|
||||||
if (obj != nil)
|
|
||||||
|
// if the data is in a directory, then load from objects.gorm in the directory
|
||||||
|
if(isDir == NO)
|
||||||
|
{
|
||||||
|
data = [NSData dataWithContentsOfFile: fileName];
|
||||||
|
NSDebugLog(@"Loaded data from file...");
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
NSString *newFileName = [fileName stringByAppendingPathComponent: @"objects.gorm"];
|
||||||
|
data = [NSData dataWithContentsOfFile: newFileName];
|
||||||
|
NSDebugLog(@"Loaded data from %@...",newFileName);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (data != nil)
|
||||||
|
{
|
||||||
|
unarchiver = [[NSUnarchiver alloc] initForReadingWithData: data];
|
||||||
|
if (unarchiver != nil)
|
||||||
{
|
{
|
||||||
if ([obj isKindOfClass: [GSNibContainer class]])
|
id obj;
|
||||||
|
|
||||||
|
NSDebugLog(@"Invoking unarchiver");
|
||||||
|
[unarchiver setObjectZone: zone];
|
||||||
|
obj = [unarchiver decodeObject];
|
||||||
|
if (obj != nil)
|
||||||
{
|
{
|
||||||
NSDebugLog(@"Calling awakeWithContext");
|
if ([obj isKindOfClass: [GSNibContainer class]])
|
||||||
[obj awakeWithContext: context];
|
{
|
||||||
/*
|
NSDebugLog(@"Calling awakeWithContext");
|
||||||
*Ok - it's all done now - just retain the nib container
|
[obj awakeWithContext: context];
|
||||||
*so that it will not be released when the unarchiver
|
/*
|
||||||
*is released, and the nib contents will persist.
|
*Ok - it's all done now - just retain the nib container
|
||||||
*/
|
*so that it will not be released when the unarchiver
|
||||||
RETAIN(obj);
|
*is released, and the nib contents will persist.
|
||||||
loaded = YES;
|
*/
|
||||||
}
|
RETAIN(obj);
|
||||||
else
|
loaded = YES;
|
||||||
{
|
}
|
||||||
NSLog(@"Nib '%@' without container object!", fileName);
|
else
|
||||||
|
{
|
||||||
|
NSLog(@"Nib '%@' without container object!", fileName);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
RELEASE(unarchiver);
|
||||||
}
|
}
|
||||||
RELEASE(unarchiver);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue