From ca5882b57226062eba99d8d950c71c3a9bf27483 Mon Sep 17 00:00:00 2001 From: Gregory John Casamento Date: Mon, 4 Nov 2002 13:52:31 +0000 Subject: [PATCH] Adding .gorm file packages and adding sound support to gorm. git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/apps/gorm/trunk@14921 72102866-910b-0410-8b05-ffd578937521 --- ChangeLog | 16 + GNUmakefile | 8 +- Gorm.m | 16 +- GormDocument.h | 6 + GormDocument.m | 122 +++- GormInspectorsManager.m | 2 + GormPrivate.h | 51 +- .../data.classes | 153 +++++ .../objects.gorm | Bin 0 -> 2865 bytes .../GormSoundInspector.gorm/data.classes | 155 +++++ .../GormSoundInspector.gorm/objects.gorm | Bin 0 -> 2866 bytes .../GormViewSizeInspector.gorm/data.classes | 571 ++++++++++++++++++ .../GormViewSizeInspector.gorm/objects.gorm | Bin 0 -> 5859 bytes 13 files changed, 1079 insertions(+), 21 deletions(-) create mode 100644 Resources/GormCustomClassInspector.gorm/data.classes create mode 100644 Resources/GormCustomClassInspector.gorm/objects.gorm create mode 100644 Resources/GormSoundInspector.gorm/data.classes create mode 100644 Resources/GormSoundInspector.gorm/objects.gorm create mode 100644 Resources/GormViewSizeInspector.gorm/data.classes create mode 100644 Resources/GormViewSizeInspector.gorm/objects.gorm diff --git a/ChangeLog b/ChangeLog index c815f707..c1c995cb 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,19 @@ +2002-11-03 Gregory John Casamento + + * GormDocument.m: Added methods for class support + -[GormDocument openSound:], -[GormDocument _createSoundPlaceHolder:]. + Modified -[GormDocument saveDocument], and + -[GormDocument loadDocument] to handle copying of sounds into the + gorm file package when the .gorm is saved and registering them w/ + Gorm when the package is subsequently loaded. + * GormPrivate.h: Added class declaration for GormSound, the + sound placeholder class. This class contains the minimal information + needed to handle sounds in Gorm. + * GormSoundInspector.[hm]: The sound inspector. + * Resources/GormSoundInspector.gorm: The beginnings of the sound + inspector gui. + * Resources: Replaced old gorm files w/ packages. + 2002-10-31 Gregory John Casamento * GormDocument.m: -[GormDocument saveDocument:] made changes to allow diff --git a/GNUmakefile b/GNUmakefile index db84d253..8f2b5422 100644 --- a/GNUmakefile +++ b/GNUmakefile @@ -108,7 +108,8 @@ Gorm_RESOURCE_FILES = \ Images/GormActionSelected.tiff \ Images/GormOutletSelected.tiff \ Resources/GormViewSizeInspector.gorm \ - Resources/GormCustomClassInspector.gorm + Resources/GormCustomClassInspector.gorm \ + Resources/GormSoundInspector.gorm Gorm_HEADERS = \ Gorm.h \ @@ -116,6 +117,7 @@ Gorm_HEADERS = \ GormCustomView.h \ GormOutlineView.h \ GormCustomClassInspector.h \ + GormSoundInspector.h \ GormMatrixEditor.h \ GormPalettesManager.h \ GormViewEditor.h \ @@ -160,7 +162,9 @@ Gorm_OBJC_FILES = \ GormPalettesManager.m \ GormOutlineView.m \ GormCustomClassInspector.m \ - GormScrollViewEditor.m + GormSoundInspector.m \ + GormScrollViewEditor.m \ + GormSoundEditor.m -include GNUmakefile.preamble diff --git a/Gorm.m b/Gorm.m index 593d0bc2..5509f683 100644 --- a/Gorm.m +++ b/Gorm.m @@ -855,11 +855,13 @@ static NSButtonType _buttonTypeForObject( id button ) return [(id)[self activeDocument] remove: sender]; } +/* - (id) editClass: (id)sender { [self inspector: self]; return [(id)[self activeDocument] editClass: sender]; } +*/ - (id) createClassFiles: (id)sender { @@ -1026,6 +1028,9 @@ static NSButtonType _buttonTypeForObject( id button ) [aMenu addItemWithTitle: @"Debug" action: @selector(debug:) keyEquivalent: @""]; + [aMenu addItemWithTitle: @"Load Sound" + action: @selector(loadSound:) + keyEquivalent: @""]; menuItem = [mainMenu addItemWithTitle: @"Document" action: NULL keyEquivalent: @""]; @@ -1090,9 +1095,9 @@ static NSButtonType _buttonTypeForObject( id button ) [aMenu addItemWithTitle: @"Load Class..." action: @selector(loadClass:) keyEquivalent: @""]; - [aMenu addItemWithTitle: @"Edit Class..." - action: @selector(editClass:) - keyEquivalent: @""]; + // [aMenu addItemWithTitle: @"Edit Class..." + // action: @selector(editClass:) + // keyEquivalent: @""]; [aMenu addItemWithTitle: @"Create Class's Files..." action: @selector(createClassFiles:) keyEquivalent: @""]; @@ -1311,6 +1316,11 @@ NSLog(@"StartupTime %f", [startDate timeIntervalSinceNow]); [[self activeDocument] performSelector: @selector(printAllEditors)]; } +- (void) loadSound: (id) sender +{ + [[self activeDocument] openSound: sender]; +} + - (id) miniaturize: (id)sender { NSWindow *window = [(id)[self activeDocument] window]; diff --git a/GormDocument.h b/GormDocument.h index 470adda3..3a1cd892 100644 --- a/GormDocument.h +++ b/GormDocument.h @@ -36,8 +36,10 @@ NSBox *selectionBox; NSScrollView *scrollView; NSScrollView *classesScrollView; + NSScrollView *soundsScrollView; id classesView; id objectsView; + id soundsView; BOOL hasSetDefaults; BOOL isActive; NSMenu *savedMenu; @@ -45,6 +47,7 @@ NSMutableArray *savedEditors; NSMutableArray *hidden; NSMutableArray *deferredWindows; + NSMutableSet *sounds; } - (void) addConnector: (id)aConnector; - (NSArray*) allConnectors; @@ -100,6 +103,9 @@ - (id) editClass: (id)sender; - (id) createClassFiles: (id)sender; - (void) changeCurrentClass: (id)sender; + +// sound support +- (id) openSound: (id)sender; @end #endif diff --git a/GormDocument.m b/GormDocument.m index c654cbb5..3cd7690f 100644 --- a/GormDocument.m +++ b/GormDocument.m @@ -26,6 +26,7 @@ #include "GormClassManager.h" #include "GormCustomView.h" #include "GormOutlineView.h" +#include NSString *IBDidOpenDocumentNotification = @"IBDidOpenDocumentNotification"; NSString *IBWillSaveDocumentNotification = @"IBWillSaveDocumentNotification"; @@ -248,6 +249,17 @@ static NSImage *classesImage = nil; } } +// sound support +- (GormSound *)_createSoundPlaceHolder: (NSString *)path +{ + NSMutableDictionary *dict = [NSMutableDictionary dictionary]; + NSString *name = [[path lastPathComponent] stringByDeletingPathExtension]; + // [dict setObject: path forKey: @"Path"]; + // [dict setObject: name forKey: @"Name"]; + return AUTORELEASE([[GormSound alloc] initWithName: name path: path]); +} + +// template support - (void) _replaceObjectsWithTemplates { if(![classManager isCustomClassMapEmpty]) @@ -407,10 +419,10 @@ static NSImage *classesImage = nil; case 1: // images [selectionBox setContentView: imagesScrollView]; break; + */ case 2: // sounds [selectionBox setContentView: soundsScrollView]; break; - */ case 3: // classes [selectionBox setContentView: classesScrollView]; break; @@ -1297,6 +1309,9 @@ static NSImage *classesImage = nil; // defferred windows for this document... deferredWindows = [NSMutableArray new]; + // defferred windows for this document... + sounds = [NSMutableSet new]; + style = NSTitledWindowMask | NSClosableWindowMask | NSResizableWindowMask | NSMiniaturizableWindowMask; window = [[NSWindow alloc] initWithContentRect: winrect @@ -1395,26 +1410,41 @@ static NSImage *classesImage = nil; NSViewHeightSizable|NSViewWidthSizable]; [[window contentView] addSubview: selectionBox]; RELEASE(selectionBox); - + + // objects... + mainRect.origin = NSMakePoint(0,0); scrollView = [[NSScrollView alloc] initWithFrame: scrollRect]; [scrollView setHasVerticalScroller: YES]; [scrollView setHasHorizontalScroller: NO]; [scrollView setAutoresizingMask: NSViewHeightSizable|NSViewWidthSizable]; - - mainRect.origin = NSMakePoint(0,0); objectsView = [[GormObjectEditor alloc] initWithObject: nil - inDocument: self]; + inDocument: self]; AUTORELEASE(objectsView); [objectsView setFrame: mainRect]; [objectsView setAutoresizingMask: NSViewHeightSizable|NSViewWidthSizable]; [scrollView setDocumentView: objectsView]; RELEASE(objectsView); + // sounds... + mainRect.origin = NSMakePoint(0,0); + soundsScrollView = [[NSScrollView alloc] initWithFrame: scrollRect]; + [soundsScrollView setHasVerticalScroller: YES]; + [soundsScrollView setHasHorizontalScroller: NO]; + [soundsScrollView setAutoresizingMask: NSViewHeightSizable|NSViewWidthSizable]; + soundsView = [[GormSoundEditor alloc] initWithObject: nil + inDocument: self]; + AUTORELEASE(soundsView); + [soundsView setFrame: mainRect]; + [soundsView setAutoresizingMask: NSViewHeightSizable|NSViewWidthSizable]; + [soundsScrollView setDocumentView: soundsView]; + RELEASE(soundsView); + + // classes... classesScrollView = [[NSScrollView alloc] initWithFrame: scrollRect]; [classesScrollView setHasVerticalScroller: YES]; [classesScrollView setHasHorizontalScroller: NO]; [classesScrollView setAutoresizingMask: - NSViewHeightSizable|NSViewWidthSizable]; + NSViewHeightSizable|NSViewWidthSizable]; mainRect.origin = NSMakePoint(0,0); classesView = [[GormOutlineView alloc] initWithFrame: mainRect]; @@ -1435,7 +1465,7 @@ static NSImage *classesImage = nil; tableColumn = [[NSTableColumn alloc] initWithIdentifier: @"classes"]; [[tableColumn headerCell] setStringValue: @"Classes"]; - [tableColumn setMinWidth: 200]; + [tableColumn setMinWidth: 190]; // 200 [tableColumn setResizable: YES]; [tableColumn setEditable: YES]; [classesView addTableColumn: tableColumn]; @@ -1443,8 +1473,8 @@ static NSImage *classesImage = nil; RELEASE(tableColumn); tableColumn = [[NSTableColumn alloc] initWithIdentifier: @"outlets"]; - [[tableColumn headerCell] setStringValue: @"O"]; - [tableColumn setWidth: 45]; + [[tableColumn headerCell] setStringValue: @"Outlet"]; + [tableColumn setWidth: 50]; // 45 [tableColumn setResizable: NO]; [tableColumn setEditable: NO]; [classesView addTableColumn: tableColumn]; @@ -1452,8 +1482,8 @@ static NSImage *classesImage = nil; RELEASE(tableColumn); tableColumn = [[NSTableColumn alloc] initWithIdentifier: @"actions"]; - [[tableColumn headerCell] setStringValue: @"A"]; - [tableColumn setWidth: 45]; + [[tableColumn headerCell] setStringValue: @"Action"]; + [tableColumn setWidth: 50]; // 45 [tableColumn setResizable: NO]; [tableColumn setEditable: NO]; [classesView addTableColumn: tableColumn]; @@ -1572,6 +1602,7 @@ static NSImage *classesImage = nil; NSString *ownerClass; NSFileManager *mgr = [NSFileManager defaultManager]; BOOL isDir = NO; + NSDirectoryEnumerator *dirEnumerator; if([mgr fileExistsAtPath: aFile isDirectory: &isDir]) { @@ -1734,15 +1765,36 @@ static NSImage *classesImage = nil; //[[self openEditorForObject: obj] activate]; } } - + /* - * Finally, we set our new file name + * set our new file name */ ASSIGN(documentPath, aFile); [window setTitleWithRepresentedFilename: documentPath]; [nc postNotificationName: IBDidOpenDocumentNotification object: self]; + /* + * read in all of the sounds in the .gorm wrapper and load them into the editor. + */ + dirEnumerator = [mgr enumeratorAtPath: documentPath]; + if(dirEnumerator) + { + NSString *file = nil; + NSArray *fileTypes = [NSSound soundUnfilteredFileTypes]; + while(file = [dirEnumerator nextObject]) + { + if([fileTypes containsObject: [file pathExtension]]) + { + NSString *soundPath = [documentPath stringByAppendingPathComponent: file]; + // add the sound... + NSLog(@"Add the sound %@",file); + [soundsView addObject: [self _createSoundPlaceHolder: soundPath]]; + [sounds addObject: soundPath]; + } + } + } + // get the custom class map and set it into the class manager... NSDebugLog(@"GSCustomClassMap = %@",[[c nameTable] objectForKey: @"GSCustomClassMap"]); [classManager setCustomClassMap: [[c nameTable] objectForKey: @"GSCustomClassMap"]]; @@ -2319,10 +2371,28 @@ static NSImage *classesImage = nil; { // save the custom classes.. and we're done... archiveResult = [classManager saveToFile: classesPath]; + + // copy sounds into the new folder... + if(archiveResult) + { + NSEnumerator *en = [sounds objectEnumerator]; + id object = nil; + + while((object = [en nextObject]) != nil) + { + NSString *soundPath = [documentPath stringByAppendingPathComponent: [object lastPathComponent]]; + BOOL copied = [mgr copyPath: object toPath: soundPath handler: nil]; + + if(!copied) + { + NSLog(@"Could not find sound at path %@", object); + } + } + } } } - [self endArchiving]; + [self endArchiving]; if (archiveResult == NO) { @@ -2818,5 +2888,29 @@ shouldEditTableColumn: (NSTableColumn *)tableColumn NSLog(@"all editors %@", set); } + +// sound support... +- (id) openSound: (id)sender +{ + NSArray *fileTypes = [NSSound soundUnfilteredFileTypes]; + NSOpenPanel *oPanel = [NSOpenPanel openPanel]; + int result; + + [oPanel setAllowsMultipleSelection: NO]; + [oPanel setCanChooseFiles: YES]; + [oPanel setCanChooseDirectories: NO]; + result = [oPanel runModalForDirectory: nil + file: nil + types: fileTypes]; + if (result == NSOKButton) + { + NSLog(@"Loading sound file: %@",[oPanel filename]); + [soundsView addObject: [self _createSoundPlaceHolder: [oPanel filename]]]; + [sounds addObject: [oPanel filename]]; + return self; + } + + return nil; +} @end diff --git a/GormInspectorsManager.m b/GormInspectorsManager.m index 988b0977..3f5e55f8 100644 --- a/GormInspectorsManager.m +++ b/GormInspectorsManager.m @@ -384,11 +384,13 @@ { [panel setTitle: @"Inspector"]; } + /* else if ([obj isKindOfClass: [GormClassProxy class]]) { [panel setTitle: [NSString stringWithFormat: @"Class Edit Inspector:%@", [obj className]]]; } + */ else { [panel setTitle: [NSString stringWithFormat: @"%@ Inspector", diff --git a/GormPrivate.h b/GormPrivate.h index 478849c3..f2e3135a 100644 --- a/GormPrivate.h +++ b/GormPrivate.h @@ -14,7 +14,7 @@ extern NSString *GormLinkPboardType; - +// templates @interface GSNibItem (GormAdditions) - initWithClassName: (NSString*)className frame: (NSRect)frame; - (NSString*) className; @@ -142,6 +142,7 @@ extern NSString *GormLinkPboardType; - (id) inspector: (id) sender; - (id) newApplication: (id) sender; - (id) loadPalette: (id) sender; +- (void) loadSound: (id) sender; - (id) open: (id)sender; - (id) palettes: (id) sender; - (id) paste: (id)sender; @@ -178,7 +179,7 @@ extern NSString *GormLinkPboardType; NSPasteboard *dragPb; NSString *dragType; } -+ (GormObjectEditor*) editorForDocument: (id)aDocument; +// + (GormObjectEditor*) editorForDocument: (id)aDocument; - (void) addObject: (id)anObject; - (void) draggedImage: (NSImage*)i endedAt: (NSPoint)p deposited: (BOOL)f; - (unsigned int) draggingSourceOperationMaskForLocal: (BOOL)flag; @@ -205,6 +206,30 @@ extern NSString *GormLinkPboardType; - (NSWindow*) window; @end +@interface GormSoundEditor : NSMatrix +{ + NSMutableArray *objects; + id document; + id selected; + NSPasteboard *dragPb; + NSString *dragType; +} +// don't redeclare methods already declared in protocols. ++ (GormSoundEditor*) editorForDocument: (id)aDocument; +- (void) addObject: (id)anObject; +- (void) draggedImage: (NSImage*)i endedAt: (NSPoint)p deposited: (BOOL)f; +- (unsigned int) draggingSourceOperationMaskForLocal: (BOOL)flag; +- (void) refreshCells; +- (void) removeObject: (id)anObject; +- (void) closeSubeditors; +- (BOOL) containsObject: (id)anObject; +- (void) copySelection; +- (void) deleteSelection; +- (id) openSubeditorForObject: (id)anObject; +- (void) pasteInSelection; +- (NSRect) rectForObject: (id)anObject; +@end + @interface GormFilesOwnerInspector : IBInspector { @@ -252,6 +277,28 @@ extern NSString *GormLinkPboardType; - (id) allocSubstitute; @end +// we don't use the actual sound since we don't want to read the entire sound into +// memory. +@interface GormSound : NSObject +{ + NSString *name; + NSString *path; + BOOL isSystemSound; + BOOL isInWrapper; +} +- (id) initWithName: (NSString *)aName + path: (NSString *)aPath; +- (void) setSoundName: (NSString *)aName; +- (NSString *) soundName; +- (void) setSoundPath: (NSString *)aPath; +- (NSString *) soundPath; +- (void) setSystemSound: (BOOL)flag; +- (BOOL) isSystemSound; +- (void) setInWrapper: (BOOL)flag; +- (BOOL) isInWrapper; +- (NSString *)inspectorClassName; +@end + /* * Functions for drawing knobs etc. */ diff --git a/Resources/GormCustomClassInspector.gorm/data.classes b/Resources/GormCustomClassInspector.gorm/data.classes new file mode 100644 index 00000000..f6eadc40 --- /dev/null +++ b/Resources/GormCustomClassInspector.gorm/data.classes @@ -0,0 +1,153 @@ +{ + FirstResponder = { + Actions = ( + "activateContextHelpMode:", + "alignCenter:", + "alignJustified:", + "alignLeft:", + "alignRight:", + "arrangeInFront:", + "cancel:", + "capitalizeWord:", + "changeColor:", + "changeFont:", + "checkSpelling:", + "close:", + "complete:", + "copy:", + "copyFont:", + "copyRuler:", + "cut:", + "delete:", + "deleteBackward:", + "deleteForward:", + "deleteToBeginningOfLine:", + "deleteToBeginningOfParagraph:", + "deleteToEndOfLine:", + "deleteToEndOfParagraph:", + "deleteToMark:", + "deleteWordBackward:", + "deleteWordForward:", + "deminiaturize:", + "deselectAll:", + "fax:", + "hide:", + "hideOtherApplications:", + "indent:", + "loosenKerning:", + "lowerBaseline:", + "lowercaseWord:", + "makeKeyAndOrderFront:", + "miniaturize:", + "miniaturizeAll:", + "moveBackward:", + "moveBackwardAndModifySelection:", + "moveDown:", + "moveDownAndModifySelection:", + "moveForward:", + "moveForwardAndModifySelection:", + "moveLeft:", + "moveRight:", + "moveToBeginningOfDocument:", + "moveToBeginningOfLine:", + "moveToBeginningOfParagraph:", + "moveToEndOfDocument:", + "moveToEndOfLine:", + "moveToEndOfParagraph:", + "moveUp:", + "moveUpAndModifySelection:", + "moveWordBackward:", + "moveWordBackwardAndModifySelection:", + "moveWordForward:", + "moveWordForwardAndModifySelection:", + "newDocument:", + "ok:", + "openDocument:", + "orderBack:", + "orderFront:", + "orderFrontColorPanel:", + "orderFrontDataLinkPanel:", + "orderFrontHelpPanel:", + "orderFrontStandardAboutPanel:", + "orderFrontStandardInfoPanel:", + "orderOut:", + "pageDown:", + "pageUp:", + "paste:", + "pasteAsPlainText:", + "pasteAsRichText:", + "pasteFont:", + "pasteRuler:", + "performClose:", + "performMiniaturize:", + "performZoom:", + "print:", + "raiseBaseline:", + "revertDocumentToSaved:", + "runPageLayout:", + "runToolbarCustomizationPalette:", + "saveAllDocuments:", + "saveDocument:", + "saveDocumentAs:", + "saveDocumentTo:", + "scrollLineDown:", + "scrollLineUp:", + "scrollPageDown:", + "scrollPageUp:", + "scrollViaScroller:", + "selectAll:", + "selectLine:", + "selectNextKeyView:", + "selectParagraph:", + "selectPreviousKeyView:", + "selectText:", + "selectText:", + "selectToMark:", + "selectWord:", + "showContextHelp:", + "showGuessPanel:", + "showHelp:", + "showWindow:", + "stop:", + "subscript:", + "superscript:", + "swapWithMark:", + "takeDoubleValueFrom:", + "takeFloatValueFrom:", + "takeIntValueFrom:", + "takeObjectValueFrom:", + "takeStringValueFrom:", + "terminate:", + "tightenKerning:", + "toggle:", + "toggleContinuousSpellChecking:", + "toggleRuler:", + "toggleToolbarShown:", + "toggleTraditionalCharacterShape:", + "transpose:", + "transposeWords:", + "turnOffKerning:", + "turnOffLigatures:", + "underline:", + "unhide:", + "unhideAllApplications:", + "unscript:", + "uppercaseWord:", + "useAllLigatures:", + "useStandardKerning:", + "useStandardLigatures:", + "yank:", + "zoom:" + ); + Super = NSObject; + }; + GormCustomClassInspector = { + Actions = ( + "select:" + ); + Outlets = ( + browser + ); + Super = IBInspector; + }; +} \ No newline at end of file diff --git a/Resources/GormCustomClassInspector.gorm/objects.gorm b/Resources/GormCustomClassInspector.gorm/objects.gorm new file mode 100644 index 0000000000000000000000000000000000000000..fc05f9ab0fd98f297d724ece74672d5de636699e GIT binary patch literal 2865 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 N8_5v|!WB)W_BXZov%&xX literal 0 HcmV?d00001 diff --git a/Resources/GormViewSizeInspector.gorm/data.classes b/Resources/GormViewSizeInspector.gorm/data.classes new file mode 100644 index 00000000..7a73d0ac --- /dev/null +++ b/Resources/GormViewSizeInspector.gorm/data.classes @@ -0,0 +1,571 @@ +{ + FirstResponder = { + Actions = ( + "activateContextHelpMode:", + "alignCenter:", + "alignJustified:", + "alignLeft:", + "alignRight:", + "arrangeInFront:", + "cancel:", + "capitalizeWord:", + "changeColor:", + "changeFont:", + "checkSpelling:", + "close:", + "complete:", + "copy:", + "copyFont:", + "copyRuler:", + "cut:", + "delete:", + "deleteBackward:", + "deleteForward:", + "deleteToBeginningOfLine:", + "deleteToBeginningOfParagraph:", + "deleteToEndOfLine:", + "deleteToEndOfParagraph:", + "deleteToMark:", + "deleteWordBackward:", + "deleteWordForward:", + "deminiaturize:", + "deselectAll:", + "fax:", + "hide:", + "hideOtherApplications:", + "indent:", + "loosenKerning:", + "lowerBaseline:", + "lowercaseWord:", + "makeKeyAndOrderFront:", + "miniaturize:", + "miniaturizeAll:", + "moveBackward:", + "moveBackwardAndModifySelection:", + "moveDown:", + "moveDownAndModifySelection:", + "moveForward:", + "moveForwardAndModifySelection:", + "moveLeft:", + "moveRight:", + "moveToBeginningOfDocument:", + "moveToBeginningOfLine:", + "moveToBeginningOfParagraph:", + "moveToEndOfDocument:", + "moveToEndOfLine:", + "moveToEndOfParagraph:", + "moveUp:", + "moveUpAndModifySelection:", + "moveWordBackward:", + "moveWordBackwardAndModifySelection:", + "moveWordForward:", + "moveWordForwardAndModifySelection:", + "ok:", + "open:", + "orderBack:", + "orderFront:", + "orderFrontColorPanel:", + "orderFrontDataLinkPanel:", + "orderFrontHelpPanel:", + "orderFrontStandardAboutPanel:", + "orderFrontStandardInfoPanel:", + "orderOut:", + "pageDown:", + "pageUp:", + "paste:", + "pasteAsPlainText:", + "pasteAsRichText:", + "pasteFont:", + "pasteRuler:", + "performClose:", + "performMiniaturize:", + "performZoom:", + "print:", + "raiseBaseline:", + "runPageLayout:", + "runToolbarCustomizationPalette:", + "scrollLineDown:", + "scrollLineUp:", + "scrollPageDown:", + "scrollPageUp:", + "scrollViaScroller:", + "selectAll:", + "selectLine:", + "selectNextKeyView:", + "selectParagraph:", + "selectPreviousKeyView:", + "selectText:", + "selectText:", + "selectToMark:", + "selectWord:", + "showContextHelp:", + "showGuessPanel:", + "showHelp:", + "showWindow:", + "stop:", + "subscript:", + "superscript:", + "swapWithMark:", + "takeDoubleValueFrom:", + "takeFloatValueFrom:", + "takeIntValueFrom:", + "takeObjectValueFrom:", + "takeStringValueFrom:", + "terminate:", + "tightenKerning:", + "toggle:", + "toggleContinuousSpellChecking:", + "toggleRuler:", + "toggleToolbarShown:", + "toggleTraditionalCharacterShape:", + "transpose:", + "transposeWords:", + "turnOffKerning:", + "turnOffLigatures:", + "underline:", + "unhide:", + "unhideAllApplications:", + "unscript:", + "uppercaseWord:", + "useAllLigatures:", + "useStandardKerning:", + "useStandardLigatures:", + "yank:", + "zoom:" + ); + Super = NSObject; + }; + GormViewSizeInpector = { + Actions = ( + "setAutosize:" + ); + Outlets = ( + bottom, + height, + left, + right, + sizeForm, + top, + width + ); + Super = IBInspector; + }; + IBInspector = { + Actions = ( + "ok:", + "revert:", + "touch:" + ); + Outlets = ( + window + ); + Super = NSObject; + }; + IBPalette = { + Actions = ( + ); + Outlets = ( + originalWindow + ); + Super = NSObject; + }; + NSActionCell = { + Super = NSCell; + }; + NSApplication = { + Actions = ( + "arrangeInFront:", + "hide:", + "hideOtherApplications:", + "miniaturizeAll:", + "orderFrontColorPanel:", + "orderFrontDataLinkPanel:", + "orderFrontHelpPanel:", + "orderFrontStandardAboutPanel:", + "orderFrontStandardInfoPanel:", + "runPageLayout:", + "stop:", + "terminate:", + "unhide:", + "unhideAllApplications:" + ); + Outlets = ( + delegate + ); + Super = NSResponder; + }; + NSArray = { + Super = NSObject; + }; + NSBrowser = { + Actions = ( + "doClick:", + "doDoubleClick:", + "selectAll:" + ); + Outlets = ( + delegate + ); + Super = NSControl; + }; + NSBrowserCell = { + Super = NSCell; + }; + NSButton = { + Actions = ( + "performClick:" + ); + Super = NSControl; + }; + NSButtonCell = { + Actions = ( + "performClick:" + ); + Super = NSActionCell; + }; + NSCStringText = { + Actions = ( + "clear:", + "selectText:" + ); + Super = NSText; + }; + NSCell = { + Actions = ( + "takeDoubleValueFrom:", + "takeFloatValueFrom:", + "takeIntValueFrom:", + "takeStringValueFrom:" + ); + Super = NSObject; + }; + NSColorWell = { + Actions = ( + "takeColorFrom:" + ); + Super = NSControl; + }; + NSComboBox = { + Outlets = ( + dataSource + ); + Super = NSTextField; + }; + NSControl = { + Actions = ( + "takeDoubleValueFrom:", + "takeFloatValueFrom:", + "takeIntValueFrom:", + "takeObjectValueFrom:", + "takeStringValueFrom:" + ); + Outlets = ( + target + ); + Super = NSView; + }; + NSCursor = { + Super = NSObject; + }; + NSDateFormatter = { + Super = NSFormatter; + }; + NSDictionary = { + Super = NSObject; + }; + NSDocument = { + Actions = ( + "printDocument:", + "revertDocumentToSaved:", + "runPageLayout:", + "saveDocument:", + "saveDocumentAs:", + "saveDocumentTo:" + ); + Super = NSObject; + }; + NSDocumentController = { + Actions = ( + "clearRecentDocuments:", + "newDocument:", + "openDocument:", + "saveAllDocuments:" + ); + Super = NSObject; + }; + NSDrawer = { + Actions = ( + "close:", + "open:", + "toggle:" + ); + Outlets = ( + delegate + ); + Super = NSResponder; + }; + NSFontManager = { + Actions = ( + "addFontTrait:", + "modifyFont:", + "modifyFontViaPanel:", + "orderFrontFontPanel:", + "removeFontTrait:" + ); + Outlets = ( + menu + ); + Super = NSResponder; + }; + NSForm = { + Super = NSMatrix; + }; + NSFormCell = { + Super = NSActionCell; + }; + NSFormatter = { + Super = NSObject; + }; + NSHelpManager = { + Actions = ( + "activateContextHelpMode:", + "showHelp:" + ); + Super = NSResponder; + }; + NSImage = { + Super = NSObject; + }; + NSImageView = { + Super = NScontrol; + }; + NSMatrix = { + Actions = ( + "selectAll:", + "selectText:" + ); + Outlets = ( + delegate + ); + Super = NSControl; + }; + NSMenu = { + Super = NSObject; + }; + NSMenuItem = { + Outlets = ( + target + ); + Super = NSObject; + }; + NSMutableArray = { + Super = NSArray; + }; + NSMutableDictionary = { + Super = NSDictionary; + }; + NSNumberFormatter = { + Super = NSFormatter; + }; + NSOutlineView = { + Super = NSTableView; + }; + NSPanel = { + Super = NSWindow; + }; + NSPopUpButton = { + Super = NSButton; + }; + NSProgressIndicator = { + Actions = ( + "animate:", + "startAnimation:", + "stopAnimation:" + ); + Super = NSObject; + }; + NSResponder = { + Outlets = ( + menu + ); + Super = NSObject; + }; + NSRulerView = { + Super = NSView; + }; + NSScrollView = { + Super = NSView; + }; + NSScroller = { + Super = NSControl; + }; + NSSecureTextField = { + Super = NSTextField; + }; + NSSecureTextFieldCell = { + Super = NSTextFieldCell; + }; + NSSlider = { + Super = NSControl; + }; + NSSliderCell = { + Super = NSActionCell; + }; + NSSplitView = { + Super = NSView; + }; + NSTabView = { + Actions = ( + "selectFirstTabViewItem:", + "selectLastTabViewItem:", + "selectNextTabViewItem:", + "selectPreviousTabViewItem:", + "takeSelectedTabViewItemFromSender:" + ); + Outlets = ( + delegate + ); + Super = NSView; + }; + NSTableColumn = { + Super = NSObject; + }; + NSTableHeaderCell = { + Super = NSTextFieldCell; + }; + NSTableHeaderView = { + Super = NSView; + }; + NSTableView = { + Actions = ( + "deselectAll:", + "selectAll:" + ); + Outlets = ( + dataSource, + delegate + ); + Super = NSControl; + }; + NSText = { + Actions = ( + "alignCenter:", + "alignLeft:", + "alignRight:", + "changeFont:", + "changeSpelling:", + "checkSpelling:", + "copy:", + "copyFont:", + "copyRuler:", + "cut:", + "delete:", + "ignoreSpelling:", + "paste:", + "pasteFont:", + "pasteRuler:", + "selectAll:", + "showGuessPanel:", + "subscript:", + "superscript:", + "toggleRuler:", + "underline:", + "unscript:" + ); + Outlets = ( + delegate + ); + Super = NSView; + }; + NSTextField = { + Actions = ( + "selectText:" + ); + Outlets = ( + delegate + ); + Super = NSControl; + }; + NSTextFieldCell = { + Super = NSActionCell; + }; + NSTextView = { + Actions = ( + "alignJustified:", + "changeColor:", + "deleteBackwards:", + "insertBacktab:", + "insertNewLine:", + "insertParagraphSeparator:", + "insertTab:", + "loosenKerning:", + "lowerBaseline:", + "moveBackward:", + "moveDown:", + "moveForward:", + "moveLeft:", + "moveRight:", + "moveUp:", + "pasteAsPlainText:", + "pasteAsRichText:", + "raiseBaseline:", + "tightenKerning:", + "toggleContinuousSpellChecking:", + "toggleTraditionalCharacterShape:", + "turnOffKerning:", + "turnOffLigatures:", + "useAllLigatures:", + "useDefaultBaseline:", + "useDefaultKerning:", + "useDefaultLigatures:", + "useStandardBaseline:", + "useStandardKerning:", + "useStandardLigatures:" + ); + Super = NSText; + }; + NSView = { + Actions = ( + "fax:", + "print:" + ); + Outlets = ( + nextKeyView + ); + Super = NSResponder; + }; + NSWindow = { + Actions = ( + "deminiaturize:", + "fax:", + "makeKeyAndOrderFront:", + "miniaturize:", + "orderBack:", + "orderFront:", + "orderOut:", + "performClose:", + "performMiniaturize:", + "performZoom:", + "print:", + "runToolbarCustomizationPalette:", + "selectNextKeyView:", + "selectPreviousKeyView:", + "toggleToolbarShown:", + "zoom:" + ); + Outlets = ( + delegate, + initialFirstResponder + ); + Super = NSResponder; + }; + NSWindowController = { + Actions = ( + "showWindow:" + ); + Outlets = ( + document + ); + Super = NSResponder; + }; +} \ No newline at end of file diff --git a/Resources/GormViewSizeInspector.gorm/objects.gorm b/Resources/GormViewSizeInspector.gorm/objects.gorm new file mode 100644 index 0000000000000000000000000000000000000000..953831dcd00d154d370d3a3caa3023fba9a1466c GIT binary patch literal 5859 zcmcgw>2nlS5PvhfIVXew$wC4u-ilXG0EKw42j)<+Aj>75n`9sZo1M5jOAs_h@xXhG z_l@8DIO_+?vaHfl%kt0gBOm<}?C!TS`*t@gM+LG~FFo(Q>F!^5zwUlBlHOl*t=Wy) z!sN7l!UFso+zwlYhyXCN6(YO2Lcrh1)9BIV@Wtev+C0{={1w5Kz>CyrT@ zE_pDmX-~Sglg}2Or$sX=y3(22IdKavtbmBwLYy*g!OkDW8I9-L zZbq`R4~Mp>NQ#nh@#l!V7=)cg zd(=WLG*k#WLX5J=HUao&{xoD_7JaOv<@!m0t~smBi!Dhk6O7CmTOOD z>Frh{5yyX(Kb6*n$2K54H2IO1dN@c^vF7R!6}snn(glN>=n@@8%T1JAr)ZzDhEAA+ zaTwYX-{wc5tAg8u6@dl1%PSG{%4V2Tj-Asvf_g|~ga!>!_sAEThSg?RRc@6kq5D&7 zDHML9sGxx0(5Q`yaGEWlM8)cICu3z^u%_Gvy;3xDXaBV7G6JBFvBa8S872Suoy%|Y zA2fdztd&xQ2kR;n^s_nx&D3dT+V%2xG%>*|{zNS~VpGgz{6K!YFMLxu`d7 zsfO>Or)$Qq3z+>jmb>A4DN6P9ux;h0hP(X|J0RvCRAZ7a` zzNdIa^@I_RqeeHFy_73bPR^l>9T9M&)UQAERKJev*_=I5$hy|l-jO74&dg>fEn~-~ z-_9rl^W{MK+@qR$yLoiRUhy%=g`pLX6dXbWtk}4QeFeMUQyrp8_+q)o6r=u zp>uARva}GqrXN~nzrZHMbjMY~bSGlEs}a-V%Z=%7#B|S9!UTxPl(JevKegxw?J0M9 zxp565uFcDUt1eY2xuF_=TM*Y)DN9Wbqn3Si+FfQ~o;RrDVefE`S4-*QqON&xuhf8R zAQz%GJpQ}qu%Uzdj_V4K2XsqSnGY*)%Cr;E!gqeC@` z{eCQ?4@l9%@4LukdP#i<*2L}bU`2!n4+X;dmue<<$W=~jY=tQGsE#-(Oo*F(q6K?A zr@qLYr#|8=rRdZFBvV#Hkqf3PMNVdaY%~+n78>PE4U*+{@)CEi@qZ}UUXkjz2M85JY#-%0 zM98sOmpOuJuOh^-d<4<~FxVXk>s|t*AN5yZ5bsfuq8DX5Wh8$`GVxi1D}(8JS3XvQ zbT1;!RD{Dm?i2URN44zJwPXBBwyk^MKxm7DfjWm+oyVK0)2wYhtlEhpBDs$v0!?Hj zf2+3>S&pac?es*Aot{KHJryYSG%NN@6UF#?c7v}&IGG7*-V{gcA7F{ zVr4qB&pPRHGh6MftwvUrTO8ixFSe@v-$}qD$|okgEiU?TI8yHQZ&VsnZb#`f%hosS zPT?qTtgb9Y?O4EWUW*y=bND_Dlv;HjU|Pa!dS%?|?*aP)d+zlQ!!fz1hq!Xt?a@av zsZ!B(W>UFqu{fTch2v$usS3!+&1#n*FN>J!X5?BVWE9b{%s{@}M>AXy66X;|YMug_ zt4#9W`alk+D}fwV8Ak?krOM3yPnAjj(!g|-P6tlcpN{8Lrv3&flw(koFx2}Z^%z$u zVDkPEa4$C!*wi|dq{dyL;k)#)d{MSU2kktZFxS%E7Rf1xJ~>tHXY_rE98;+^sk7vp zKV(cZXY$ft3&PkrhIf=X#o|l7)r6U9@zvNYoRk*VsjlmO-j5^x=Np4c>I$diiW-|C zvW;?&e=26sF)9ibRBn*O2HT z;&mjp5%C5R(?py_!Y1NPvtRVGLc2?D&T{eNqN>)szYX4!im73ovyQm%cDdi5_j}+S zxvt)03e@hyySyO+@5v47adw?qc%PR~gD02OOfcc#C(jx9fOo8iMY)69K{idhPG8XY z$yFXXa%aMVwI@Fni+L2G>hUm+D?>T9G