Cleaned up some of the code in GormDocument and also corrected the copy/paste

bug.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/apps/gorm/trunk@16686 72102866-910b-0410-8b05-ffd578937521
This commit is contained in:
Gregory John Casamento 2003-05-11 06:06:38 +00:00
parent 70d53d483a
commit dfa2cef136
3 changed files with 58 additions and 35 deletions

View file

@ -1,3 +1,9 @@
2003-05-10 Gregory John Casamento <greg_casamento@yahoo.com>
* GormViewWithContentViewEditor.m: The copyInView method was
not adding views to the document. Added a method which adds
the view and it's subviews. This fix corrects bug#3490.
2003-05-10 Gregory John Casamento <greg_casamento@yahoo.com> 2003-05-10 Gregory John Casamento <greg_casamento@yahoo.com>
* GNUmakefile.preamble: Added to provide the -Werror parameter to * GNUmakefile.preamble: Added to provide the -Werror parameter to

View file

@ -1876,30 +1876,46 @@ static NSImage *classesImage = nil;
* by the gui library are converted to their Gorm internal equivalents. * by the gui library are converted to their Gorm internal equivalents.
*/ */
u = AUTORELEASE([[NSUnarchiver alloc] initForReadingWithData: data]); u = AUTORELEASE([[NSUnarchiver alloc] initForReadingWithData: data]);
[u decodeClassName: @"GSNibContainer" asClassName: @"GormDocument"]; [u decodeClassName: @"GSNibContainer"
[u decodeClassName: @"GSNibItem" asClassName: @"GormObjectProxy"]; asClassName: @"GormDocument"];
[u decodeClassName: @"GSCustomView" asClassName: @"GormCustomView"]; [u decodeClassName: @"GSNibItem"
[u decodeClassName: @"NSMenu" asClassName: @"GormNSMenu"]; asClassName: @"GormObjectProxy"];
[u decodeClassName: @"NSWindow" asClassName: @"GormNSWindow"]; [u decodeClassName: @"GSCustomView"
[u decodeClassName: @"NSPanel" asClassName: @"GormNSPanel"]; asClassName: @"GormCustomView"];
[u decodeClassName: @"NSBrowser" asClassName: @"GormNSBrowser"]; [u decodeClassName: @"NSMenu"
[u decodeClassName: @"NSTableView" asClassName: @"GormNSTableView"]; asClassName: @"GormNSMenu"];
[u decodeClassName: @"NSOutlineView" asClassName: @"GormNSOutlineView"]; [u decodeClassName: @"NSWindow"
[u decodeClassName: @"NSPopUpButton" asClassName: @"GormNSPopUpButton"]; asClassName: @"GormNSWindow"];
[u decodeClassName: @"NSPanel"
asClassName: @"GormNSPanel"];
[u decodeClassName: @"NSBrowser"
asClassName: @"GormNSBrowser"];
[u decodeClassName: @"NSTableView"
asClassName: @"GormNSTableView"];
[u decodeClassName: @"NSOutlineView"
asClassName: @"GormNSOutlineView"];
[u decodeClassName: @"NSPopUpButton"
asClassName: @"GormNSPopUpButton"];
[u decodeClassName: @"NSPopUpButtonCell" [u decodeClassName: @"NSPopUpButtonCell"
asClassName: @"GormNSPopUpButtonCell"]; asClassName: @"GormNSPopUpButtonCell"];
// templates // templates
[u decodeClassName: @"NSWindowTemplate" asClassName: @"GormNSWindowTemplate"]; [u decodeClassName: @"NSWindowTemplate"
[u decodeClassName: @"NSViewTemplate" asClassName: @"GormNSViewTemplate"]; asClassName: @"GormNSWindowTemplate"];
[u decodeClassName: @"NSTextTemplate" asClassName: @"GormNSTextTemplate"]; [u decodeClassName: @"NSViewTemplate"
asClassName: @"GormNSViewTemplate"];
[u decodeClassName: @"NSTextTemplate"
asClassName: @"GormNSTextTemplate"];
[u decodeClassName: @"NSControlTemplate" [u decodeClassName: @"NSControlTemplate"
asClassName: @"GormNSControlTemplate"]; asClassName: @"GormNSControlTemplate"];
[u decodeClassName: @"NSButtonTemplate" asClassName: @"GormNSButtonTemplate"]; [u decodeClassName: @"NSButtonTemplate"
asClassName: @"GormNSButtonTemplate"];
[u decodeClassName: @"NSTextViewTemplate" [u decodeClassName: @"NSTextViewTemplate"
asClassName: @"GormNSTextViewTemplate"]; asClassName: @"GormNSTextViewTemplate"];
[u decodeClassName: @"NSViewTemplate" asClassName: @"GormNSViewTemplate"]; [u decodeClassName: @"NSViewTemplate"
[u decodeClassName: @"NSMenuTemplate" asClassName: @"GormNSMenuTemplate"]; asClassName: @"GormNSViewTemplate"];
[u decodeClassName: @"NSMenuTemplate"
asClassName: @"GormNSMenuTemplate"];
c = [u decodeObject]; c = [u decodeObject];
if (c == nil || [c isKindOfClass: [GSNibContainer class]] == NO) if (c == nil || [c isKindOfClass: [GSNibContainer class]] == NO)

View file

@ -1028,6 +1028,22 @@
} }
- (void) _addViewToDocument: (NSView *)view
{
NSEnumerator *en = nil;
NSView *sub = nil;
if([sub isKindOfClass: [GormViewEditor class]])
return;
[document attachObject: view toParent: nil];
en = [[view subviews] objectEnumerator];
while((sub = [en nextObject]) != nil)
{
[self _addViewToDocument: sub];
}
}
- (void) pasteInView: (NSView *)view - (void) pasteInView: (NSView *)view
{ {
NSPasteboard *pb = [NSPasteboard generalPasteboard]; NSPasteboard *pb = [NSPasteboard generalPasteboard];
@ -1035,12 +1051,6 @@
NSArray *views; NSArray *views;
NSEnumerator *enumerator; NSEnumerator *enumerator;
NSView *sub; NSView *sub;
/*
NSView *subs = [view subviews];
int i;
int count;
BOOL alreadyThere = YES;
*/
/* /*
* Ask the document to get the copied views from the pasteboard and add * Ask the document to get the copied views from the pasteboard and add
@ -1057,17 +1067,8 @@
{ {
if ([sub isKindOfClass: [NSView class]] == YES) if ([sub isKindOfClass: [NSView class]] == YES)
{ {
/*
for( i = 0; i < count; i++ )
{
if (NSEqualRects([sub frame],
[[subs objectAtIndex: i] frame]))
break;
}
if (i >= count)
alreadyThere = NO;
*/
[view addSubview: sub]; [view addSubview: sub];
[self _addViewToDocument: sub];
[array addObject: [array addObject:
[document editorForObject: sub [document editorForObject: sub
inEditor: self inEditor: self