diff --git a/Applications/Gorm/GormAppDelegate.h b/Applications/Gorm/GormAppDelegate.h index 6fd86e7e..df80cde7 100644 --- a/Applications/Gorm/GormAppDelegate.h +++ b/Applications/Gorm/GormAppDelegate.h @@ -35,4 +35,47 @@ @class NSSet; @interface GormAppDelegate : GormAbstractDelegate + +// preferences +- (IBAction) preferencesPanel: (id) sender; + +// Cut/Paste operations +- (IBAction) copy: (id)sender; +- (IBAction) cut: (id)sender; +- (IBAction) paste: (id)sender; +- (IBAction) delete: (id)sender; +- (IBAction) selectAllItems: (id)sender; +- (IBAction) setName: (id)sender; + +// palettes/inspectors. +- (IBAction) inspector: (id) sender; +- (IBAction) palettes: (id) sender; +- (IBAction) loadPalette: (id) sender; + +// sound & images +- (IBAction) loadSound: (id) sender; +- (IBAction) loadImage: (id) sender; + +// grouping/layout +- (IBAction) groupSelectionInSplitView: (id)sender; +- (IBAction) groupSelectionInBox: (id)sender; +- (IBAction) groupSelectionInScrollView: (id)sender; +- (IBAction) ungroup: (id)sender; + +// Classes actions +- (IBAction) createSubclass: (id)sender; +- (IBAction) loadClass: (id)sender; +- (IBAction) createClassFiles: (id)sender; +- (IBAction) instantiateClass: (id)sender; +- (IBAction) addAttributeToClass: (id)sender; +- (IBAction) remove: (id)sender; + +// Palettes Actions... +- (IBAction) inspector: (id) sender; +- (IBAction) palettes: (id) sender; +- (IBAction) loadPalette: (id) sender; + +// Print +- (IBAction) print: (id)sender; + @end diff --git a/Applications/Gorm/GormAppDelegate.m b/Applications/Gorm/GormAppDelegate.m index 09cef5c5..b81af5d6 100644 --- a/Applications/Gorm/GormAppDelegate.m +++ b/Applications/Gorm/GormAppDelegate.m @@ -318,4 +318,246 @@ return YES; } + +- (IBAction) stop: (id)sender +{ + if(isTesting == NO) + { + // [super stop: sender]; + } + else + { + [self endTesting: sender]; + } +} + +- (IBAction) miniaturize: (id)sender +{ + NSWindow *window = [(GormDocument *)[self activeDocument] window]; + + [window miniaturize: self]; +} + +/** Info Menu Actions */ +- (IBAction) preferencesPanel: (id) sender +{ + if(! preferencesController) + { + preferencesController = [[GormPrefController alloc] init]; + } + + [[preferencesController panel] makeKeyAndOrderFront:nil]; +} + +/** Document Menu Actions */ +- (IBAction) close: (id)sender +{ + GormDocument *document = (GormDocument *)[self activeDocument]; + if([document canCloseDocument]) + { + [document close]; + } +} + +- (IBAction) debug: (id) sender +{ + [[self activeDocument] performSelector: @selector(printAllEditors)]; +} + +- (IBAction) loadSound: (id) sender +{ + [(GormDocument *)[self activeDocument] openSound: sender]; +} + +- (IBAction) loadImage: (id) sender +{ + [(GormDocument *)[self activeDocument] openImage: sender]; +} + + +/** Edit Menu Actions */ + +- (IBAction) copy: (id)sender +{ + if ([[selectionOwner selection] count] == 0 + || [selectionOwner respondsToSelector: @selector(copySelection)] == NO) + return; + + if([self isConnecting]) + { + [self stopConnecting]; + } + + [(id)selectionOwner copySelection]; +} + + +- (IBAction) cut: (id)sender +{ + if ([[selectionOwner selection] count] == 0 + || [selectionOwner respondsToSelector: @selector(copySelection)] == NO + || [selectionOwner respondsToSelector: @selector(deleteSelection)] == NO) + return; + + if([self isConnecting]) + { + [self stopConnecting]; + } + + [(id)selectionOwner copySelection]; + [(id)selectionOwner deleteSelection]; +} + +- (IBAction) paste: (id)sender +{ + if ([selectionOwner respondsToSelector: @selector(pasteInSelection)] == NO) + return; + + if([self isConnecting]) + { + [self stopConnecting]; + } + + [(id)selectionOwner pasteInSelection]; +} + + +- (IBAction) delete: (id)sender +{ + if ([[selectionOwner selection] count] == 0 + || [selectionOwner respondsToSelector: @selector(deleteSelection)] == NO) + return; + + if([self isConnecting]) + { + [self stopConnecting]; + } + + [(id)selectionOwner deleteSelection]; +} + +- (IBAction) selectAll: (id)sender +{ + if ([[selectionOwner selection] count] == 0 + || [selectionOwner respondsToSelector: @selector(deleteSelection)] == NO) + return; + + if([self isConnecting]) + { + [self stopConnecting]; + } + + [(id)selectionOwner deleteSelection]; +} + +- (IBAction) selectAllItems: (id)sender +{ + return; +} + +/** Grouping */ + +- (IBAction) groupSelectionInSplitView: (id)sender +{ + if ([[selectionOwner selection] count] < 2 + || [selectionOwner respondsToSelector: @selector(groupSelectionInSplitView)] == NO) + return; + + [(GormGenericEditor *)selectionOwner groupSelectionInSplitView]; +} + +- (IBAction) groupSelectionInBox: (id)sender +{ + if ([selectionOwner respondsToSelector: @selector(groupSelectionInBox)] == NO) + return; + [(GormGenericEditor *)selectionOwner groupSelectionInBox]; +} + +- (IBAction) groupSelectionInView: (id)sender +{ + if ([selectionOwner respondsToSelector: @selector(groupSelectionInView)] == NO) + return; + [(GormGenericEditor *)selectionOwner groupSelectionInView]; +} + +- (IBAction) groupSelectionInScrollView: (id)sender +{ + if ([selectionOwner respondsToSelector: @selector(groupSelectionInScrollView)] == NO) + return; + [(GormGenericEditor *)selectionOwner groupSelectionInScrollView]; +} + +- (IBAction) groupSelectionInMatrix: (id)sender +{ + if ([selectionOwner respondsToSelector: @selector(groupSelectionInMatrix)] == NO) + return; + [(GormGenericEditor *)selectionOwner groupSelectionInMatrix]; +} + +- (IBAction) ungroup: (id)sender +{ + // NSLog(@"ungroup: selectionOwner %@", selectionOwner); + if ([selectionOwner respondsToSelector: @selector(ungroup)] == NO) + return; + [(GormGenericEditor *)selectionOwner ungroup]; +} + +/** Classes actions */ + +- (IBAction) createSubclass: (id)sender +{ + [(GormDocument *)[self activeDocument] createSubclass: sender]; +} + +- (IBAction) loadClass: (id)sender +{ + // Call the current document and create the class + // descibed by the header + [(GormDocument *)[self activeDocument] loadClass: sender]; +} + +- (IBAction) createClassFiles: (id)sender +{ + [(GormDocument *)[self activeDocument] createClassFiles: sender]; +} + +- (IBAction) instantiateClass: (id)sender +{ + [(GormDocument *)[self activeDocument] instantiateClass: sender]; +} + +- (IBAction) addAttributeToClass: (id)sender +{ + [(GormDocument *)[self activeDocument] addAttributeToClass: sender]; +} + +- (IBAction) remove: (id)sender +{ + [(GormDocument *)[self activeDocument] remove: sender]; +} + +/** Palettes Actions... */ + +- (IBAction) inspector: (id) sender +{ + [[[self inspectorsManager] panel] makeKeyAndOrderFront: self]; +} + +- (IBAction) palettes: (id) sender +{ + [[[self palettesManager] panel] makeKeyAndOrderFront: self]; +} + +- (IBAction) loadPalette: (id) sender +{ + [[self palettesManager] openPalette: sender]; +} + +// Print + +- (IBAction) print: (id) sender +{ + [[NSApp keyWindow] print: sender]; +} + @end diff --git a/GormCore/GormAbstractDelegate.h b/GormCore/GormAbstractDelegate.h index af734d79..59e82129 100644 --- a/GormCore/GormAbstractDelegate.h +++ b/GormCore/GormAbstractDelegate.h @@ -71,6 +71,11 @@ NSSet *topObjects; } +// testing the interface +- (IBAction) deferredEndTesting: (id) sender; +- (IBAction) testInterface: (id)sender; +- (IBAction) endTesting: (id)sender; + @end #endif // import guard diff --git a/GormCore/GormAbstractDelegate.m b/GormCore/GormAbstractDelegate.m index 8928eaab..dd2ebb91 100644 --- a/GormCore/GormAbstractDelegate.m +++ b/GormCore/GormAbstractDelegate.m @@ -143,18 +143,6 @@ [super dealloc]; } -- (IBAction) stop: (id)sender -{ - if(isTesting == NO) - { - // [super stop: sender]; - } - else - { - [self endTesting: sender]; - } -} - // Gorm specific methods... @@ -313,42 +301,6 @@ } } -/** Info Menu Actions */ -- (IBAction) preferencesPanel: (id) sender -{ - if(! preferencesController) - { - preferencesController = [[GormPrefController alloc] init]; - } - - [[preferencesController panel] makeKeyAndOrderFront:nil]; -} - -/** Document Menu Actions */ -- (IBAction) close: (id)sender -{ - GormDocument *document = (GormDocument *)[self activeDocument]; - if([document canCloseDocument]) - { - [document close]; - } -} - -- (IBAction) debug: (id) sender -{ - [[self activeDocument] performSelector: @selector(printAllEditors)]; -} - -- (IBAction) loadSound: (id) sender -{ - [(GormDocument *)[self activeDocument] openSound: sender]; -} - -- (IBAction) loadImage: (id) sender -{ - [(GormDocument *)[self activeDocument] openImage: sender]; -} - - (IBAction) testInterface: (id)sender { if (isTesting == NO) @@ -534,87 +486,6 @@ } } - -/** Edit Menu Actions */ - -- (IBAction) copy: (id)sender -{ - if ([[selectionOwner selection] count] == 0 - || [selectionOwner respondsToSelector: @selector(copySelection)] == NO) - return; - - if([self isConnecting]) - { - [self stopConnecting]; - } - - [(id)selectionOwner copySelection]; -} - - -- (IBAction) cut: (id)sender -{ - if ([[selectionOwner selection] count] == 0 - || [selectionOwner respondsToSelector: @selector(copySelection)] == NO - || [selectionOwner respondsToSelector: @selector(deleteSelection)] == NO) - return; - - if([self isConnecting]) - { - [self stopConnecting]; - } - - [(id)selectionOwner copySelection]; - [(id)selectionOwner deleteSelection]; -} - -- (IBAction) paste: (id)sender -{ - if ([selectionOwner respondsToSelector: @selector(pasteInSelection)] == NO) - return; - - if([self isConnecting]) - { - [self stopConnecting]; - } - - [(id)selectionOwner pasteInSelection]; -} - - -- (IBAction) delete: (id)sender -{ - if ([[selectionOwner selection] count] == 0 - || [selectionOwner respondsToSelector: @selector(deleteSelection)] == NO) - return; - - if([self isConnecting]) - { - [self stopConnecting]; - } - - [(id)selectionOwner deleteSelection]; -} - -- (IBAction) selectAll: (id)sender -{ - if ([[selectionOwner selection] count] == 0 - || [selectionOwner respondsToSelector: @selector(deleteSelection)] == NO) - return; - - if([self isConnecting]) - { - [self stopConnecting]; - } - - [(id)selectionOwner deleteSelection]; -} - -- (IBAction) selectAllItems: (id)sender -{ - return; -} - - (IBAction) setName: (id)sender { GormSetNameController *panel; @@ -667,104 +538,6 @@ [[NSFontManager sharedFontManager] orderFrontFontPanel: self]; } -/** Grouping */ - -- (IBAction) groupSelectionInSplitView: (id)sender -{ - if ([[selectionOwner selection] count] < 2 - || [selectionOwner respondsToSelector: @selector(groupSelectionInSplitView)] == NO) - return; - - [(GormGenericEditor *)selectionOwner groupSelectionInSplitView]; -} - -- (IBAction) groupSelectionInBox: (id)sender -{ - if ([selectionOwner respondsToSelector: @selector(groupSelectionInBox)] == NO) - return; - [(GormGenericEditor *)selectionOwner groupSelectionInBox]; -} - -- (IBAction) groupSelectionInView: (id)sender -{ - if ([selectionOwner respondsToSelector: @selector(groupSelectionInView)] == NO) - return; - [(GormGenericEditor *)selectionOwner groupSelectionInView]; -} - -- (IBAction) groupSelectionInScrollView: (id)sender -{ - if ([selectionOwner respondsToSelector: @selector(groupSelectionInScrollView)] == NO) - return; - [(GormGenericEditor *)selectionOwner groupSelectionInScrollView]; -} - -- (IBAction) groupSelectionInMatrix: (id)sender -{ - if ([selectionOwner respondsToSelector: @selector(groupSelectionInMatrix)] == NO) - return; - [(GormGenericEditor *)selectionOwner groupSelectionInMatrix]; -} - -- (IBAction) ungroup: (id)sender -{ - // NSLog(@"ungroup: selectionOwner %@", selectionOwner); - if ([selectionOwner respondsToSelector: @selector(ungroup)] == NO) - return; - [(GormGenericEditor *)selectionOwner ungroup]; -} - -/** Classes actions */ - -- (IBAction) createSubclass: (id)sender -{ - [(GormDocument *)[self activeDocument] createSubclass: sender]; -} - -- (IBAction) loadClass: (id)sender -{ - // Call the current document and create the class - // descibed by the header - [(GormDocument *)[self activeDocument] loadClass: sender]; -} - -- (IBAction) createClassFiles: (id)sender -{ - [(GormDocument *)[self activeDocument] createClassFiles: sender]; -} - -- (IBAction) instantiateClass: (id)sender -{ - [(GormDocument *)[self activeDocument] instantiateClass: sender]; -} - -- (IBAction) addAttributeToClass: (id)sender -{ - [(GormDocument *)[self activeDocument] addAttributeToClass: sender]; -} - -- (IBAction) remove: (id)sender -{ - [(GormDocument *)[self activeDocument] remove: sender]; -} - -/** Palettes Actions... */ - -- (IBAction) inspector: (id) sender -{ - [[[self inspectorsManager] panel] makeKeyAndOrderFront: self]; -} - -- (IBAction) palettes: (id) sender -{ - [[[self palettesManager] panel] makeKeyAndOrderFront: self]; -} - -- (IBAction) loadPalette: (id) sender -{ - [[self palettesManager] openPalette: sender]; -} - /** Testing methods... */ - (IBAction) deferredEndTesting: (id) sender @@ -914,7 +687,6 @@ mainMenu = (NSMenu *)gormMenu; } - - (GormInspectorsManager*) inspectorsManager { if (inspectorsManager == nil) @@ -924,7 +696,6 @@ return inspectorsManager; } - - (BOOL) isConnecting { return isConnecting; @@ -940,15 +711,6 @@ return linkImage; } - -- (id) miniaturize: (id)sender -{ - NSWindow *window = [(GormDocument *)[self activeDocument] window]; - - [window miniaturize: self]; - return nil; -} - - (GormPalettesManager*) palettesManager { if (palettesManager == nil) @@ -1035,11 +797,6 @@ return classMenu; } -- (IBAction) print: (id) sender -{ - [[NSApp keyWindow] print: sender]; -} - // Methods to support external apps adding and deleting // classes from the current document... - (void) addClass: (NSDictionary *) dict diff --git a/GormCore/GormProtocol.h b/GormCore/GormProtocol.h index c327ed87..de19296a 100644 --- a/GormCore/GormProtocol.h +++ b/GormCore/GormProtocol.h @@ -44,39 +44,10 @@ - (BOOL) isConnecting; - (void) stopConnecting; -// preferences -- (IBAction) preferencesPanel: (id) sender; - -// Cut/Paste operations -- (IBAction) copy: (id)sender; -- (IBAction) cut: (id)sender; -- (IBAction) paste: (id)sender; -- (IBAction) delete: (id)sender; -- (IBAction) selectAllItems: (id)sender; -- (IBAction) setName: (id)sender; - -// palettes/inspectors. -- (IBAction) inspector: (id) sender; -- (IBAction) palettes: (id) sender; -- (IBAction) loadPalette: (id) sender; - (GormPalettesManager*) palettesManager; - (GormInspectorsManager*) inspectorsManager; - (GormPluginManager*) pluginManager; -// testing the interface -- (IBAction) testInterface: (id)sender; -- (IBAction) endTesting: (id)sender; - -// sound & images -- (IBAction) loadSound: (id) sender; -- (IBAction) loadImage: (id) sender; - -// grouping/layout -- (IBAction) groupSelectionInSplitView: (id)sender; -- (IBAction) groupSelectionInBox: (id)sender; -- (IBAction) groupSelectionInScrollView: (id)sender; -- (IBAction) ungroup: (id)sender; - // added for classes support - (GormClassManager*) classManager; - (NSMenu*) classMenu;