Updated version info. Enhanced .gmodel import.

git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/apps/gorm/trunk@19575 72102866-910b-0410-8b05-ffd578937521
This commit is contained in:
Gregory John Casamento 2004-06-22 03:26:03 +00:00
parent 629bb7c6b7
commit 518279a746
3 changed files with 39 additions and 5 deletions

View file

@ -1,3 +1,11 @@
2004-06-21 23:33 Gregory John Casamento <greg_casamento@yahoo.com>
* GModelDecoder.m: Added code to openGModel: to more automatically
detect what actions should be added to FirstResponder. This
facilitates importing the .gmodel without even needing the
header file. All of the information necessary to convert the
interface can be gleaned from the .gmodel information.
2004-06-18 23:40 Gregory John Casamento <greg_casamento@yahoo.com>
* Version 0.7.7

View file

@ -30,6 +30,7 @@
#include <GNUstepGUI/GSDisplayServer.h>
#include "GormPrivate.h"
#include "GormCustomView.h"
#include "GormDocument.h"
static Class gmodel_class(NSString *className);
@ -299,6 +300,7 @@ static BOOL gormFileOwnerDecoded;
NSArray *gmobjects;
NSArray *gmconnections;
Class u = gmodel_class(@"GMUnarchiver");
NSString *delegateClass;
NSLog (@"Loading gmodel file %@...", path);
gormNibOwner = nil;
@ -382,26 +384,50 @@ static BOOL gormFileOwnerDecoded;
[classManager addOutlet: [con label]
forClassNamed: [source className]];
}
if([[source className] isEqual: @"NSApplication"])
{
delegateClass = [dest className];
}
}
else
{
newcon = AUTORELEASE([[NSNibControlConnector alloc] init]);
if(![classManager isAction: [con label]
ofClass: [dest className]])
ofClass: (dest == nil)?@"FirstResponder":[dest className]])
{
[classManager addAction: [con label]
forClassNamed: [dest className]];
forClassNamed: (dest == nil)?@"FirstResponder":[dest className]];
}
}
NSDebugLog(@"conn = %@ source = %@ dest = %@ label = %@, src name = %@ dest name = %@", newcon, source, dest,
[con label], [source className], [dest className]);
[newcon setSource: source];
[newcon setDestination: dest];
[newcon setDestination: (dest != nil)?dest:[self firstResponder]];
[newcon setLabel: [con label]];
[connections addObject: newcon];
}
// make sure that all of the actions on the application's delegate object are also added to FirstResponder.
enumerator = [connections objectEnumerator];
while ((con = [enumerator nextObject]) != nil)
{
if([con isKindOfClass: [NSNibControlConnector class]])
{
id dest = [con destination];
if([[dest className] isEqual: delegateClass])
{
if(![classManager isAction: [con label]
ofClass: @"FirstResponder"])
{
[classManager addAction: [con label]
forClassNamed: @"FirstResponder"];
}
}
}
}
if ([gormRealObject isKindOfClass: [GModelApplication class]])
{
enumerator = [[gormRealObject windows] objectEnumerator];

View file

@ -14,9 +14,9 @@
ApplicationDescription = "[GNUstep | Graphica] Object Relationship Modeller";
ApplicationIcon = "Gorm.tiff";
ApplicationName = "Gorm";
ApplicationRelease = "Gorm 0.7.7 (Release)";
ApplicationRelease = "Gorm 0.7.8 (Alpha)";
Authors = ("Gregory John Casamento <greg_casamento@yahoo.com>","Richard Frith-Macdonald <rfm@gnu.org>","Pierre-Yves Rivaille <pyrivail@ens-lyon.fr>");
Copyright = "Copyright (C) 1999, 2000, 2001, 2002, 2003 FSF";
CopyrightDescription = "Released under the GNU General Public License 2.0";
NSBuildVersion = "0.7.7 June 18 2004";
NSBuildVersion = "0.7.8 June 21 2004";
}