diff --git a/ChangeLog b/ChangeLog index f6da640..1e57d2c 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,12 +1,19 @@ 2008-05-12 Blake Nicholson * Modeler.m: Use NULL instead of nil for an empty NSMenuItem action. + Removed the main menu creation code. This is now handled by Renaissance. * DBModeler/GNUmakefile: Added DBModeler.icns to the list of resources, and set DBModeler_APPLICATION_ICON so the icon will be set appropriately. + Added gsmarkup files for the main menu to the list of resources. Added + dependency upon the Renaissance framework. * DBModeler/Resources/DBModeler.icns: Initial import + * DBModeler/Resources/MainMenu-{Cocoa,GNUstep}.gsmarkup: Initial import. + + * DBModeler/main.m: Load the gsmarkup for the main menu. + 2008-05-11 Blake Nicholson * GNUmakefile.in: Add EOInterface, EOModeler, and DBModeler to diff --git a/DBModeler/GNUmakefile b/DBModeler/GNUmakefile index 2babccd..ba96d8a 100644 --- a/DBModeler/GNUmakefile +++ b/DBModeler/GNUmakefile @@ -39,7 +39,7 @@ endif ADDITIONAL_INCLUDE_DIRS+=-I../ ADDITIONAL_NATIVE_LIB_DIRS+=../EOAccess ../EOControl ../EOInterface ../EOModeler -ADDITIONAL_NATIVE_LIBS += EOAccess EOControl EOInterface EOModeler +ADDITIONAL_NATIVE_LIBS += EOAccess EOControl EOInterface EOModeler Renaissance $(APP_NAME)_RESOURCE_FILES = \ Resources/ModelDrag.tiff \ @@ -59,7 +59,9 @@ $(APP_NAME)_RESOURCE_FILES = \ Resources/DBModeler.tiff \ Resources/DBModeler.icns \ Resources/AllowsNull_On.tiff \ - Resources/AllowsNull_Header.tiff + Resources/AllowsNull_Header.tiff \ + Resources/Menu-Cocoa.gsmarkup \ + Resources/Menu-GNUstep.gsmarkup $(APP_NAME)_OBJC_FILES = \ main.m \ diff --git a/DBModeler/Modeler.m b/DBModeler/Modeler.m index f082417..44643d7 100644 --- a/DBModeler/Modeler.m +++ b/DBModeler/Modeler.m @@ -100,7 +100,6 @@ int i,c; NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults]; NSArray *bundlesToLoad = RETAIN([defaults arrayForKey: @"BundlesToLoad"]); - NSMenu *mainMenu,*subMenu,*servicesMenu; NSFileManager *fm = [NSFileManager defaultManager]; // [EOObserverCenter addOmniscientObserver:[DebugObserver new]]; @@ -125,170 +124,8 @@ /* useful method for setting breakpoints after an adaptor is loaded */ - mainMenu = [[NSMenu alloc] init]; - [mainMenu setAutoenablesItems:YES]; - - subMenu = [[NSMenu alloc] initWithTitle: _(@"Info")]; - [subMenu setAutoenablesItems:YES]; - - [subMenu addItemWithTitle: _(@"About DBModeler") - action: NULL]; - - [subMenu addItem: [NSMenuItem separatorItem]]; - - [subMenu addItemWithTitle: _(@"Preferences...") - action: @selector(openPrefs:) - keyEquivalent: @","]; - -#ifdef NeXT_GUI_LIBRARY - [subMenu addItem: [NSMenuItem separatorItem]]; - - servicesMenu = [[NSMenu alloc] initWithTitle: _(@"Services")]; - [subMenu setSubmenu: servicesMenu forItem: [subMenu addItemWithTitle: _(@"Services")]]; - [NSApp setServicesMenu: servicesMenu]; - [servicesMenu release]; - - [subMenu addItem: [NSMenuItem separatorItem]]; - - [subMenu addItemWithTitle: _(@"Hide DBModeler") - action: @selector(hide:) - keyEquivalent: @"h"]; - - [subMenu addItemWithTitle: _(@"Hide Others") - action: @selector(hideOtherApplications:) - keyEquivalent: @""]; - - [subMenu addItemWithTitle: _(@"Show All") - action: @selector(unhideAllApplications:) - keyEquivalent: @""]; - - [subMenu addItem: [NSMenuItem separatorItem]]; - - [subMenu addItemWithTitle: _(@"Quit DBModeler") - action: @selector(terminate:) - keyEquivalent: @"q"]; -#endif /* NeXT_GUI_LIBRARY */ - - [mainMenu setSubmenu: subMenu forItem: [mainMenu addItemWithTitle: @"Info"]]; - [subMenu release]; - - subMenu = [[NSMenu alloc] initWithTitle: _(@"Model")]; - - [subMenu addItemWithTitle: _(@"New...") - action: @selector(new:) - keyEquivalent: @"n"]; - [subMenu addItemWithTitle: _(@"New From Database...") - action: @selector(newFromDatabase:) - keyEquivalent: @""]; - - [subMenu addItemWithTitle: _(@"Open") - action: @selector(open:) - keyEquivalent: @"o"]; - - [subMenu addItem:[NSMenuItem separatorItem]]; - - [subMenu addItemWithTitle: _(@"Save") - action: @selector(save:) - keyEquivalent: @"s"]; - - [subMenu addItemWithTitle: _(@"Save As...") - action: @selector(saveAs:) - keyEquivalent: @"S"]; - - [subMenu addItemWithTitle: _(@"Revert to Saved") - action: @selector(revert:) - keyEquivalent: @"u"]; - - [subMenu addItem:[NSMenuItem separatorItem]]; - - [subMenu addItemWithTitle: _(@"Set Adaptor Info...") - action: @selector(setAdaptor:) - keyEquivalent: @"I"]; - - [subMenu addItemWithTitle: _(@"Switch Adaptor...") - action: @selector(switchAdaptor:) - keyEquivalent: @""]; - [ConsistencyChecker class]; - [[subMenu addItemWithTitle: _(@"Check Consistency...") - action: @selector(checkConsistency:) - keyEquivalent: @""] setRepresentedObject:[ConsistencyResults sharedConsistencyPanel]]; - - [mainMenu setSubmenu: subMenu forItem: [mainMenu addItemWithTitle:_(@"Model")]]; - [subMenu release]; - subMenu = [[NSMenu alloc] initWithTitle: _(@"Edit")]; - [subMenu setAutoenablesItems:YES]; - - [subMenu addItemWithTitle: _(@"Copy") - action: @selector(copy:) - keyEquivalent: @"c"]; - [subMenu addItemWithTitle: _(@"Cut") - action: @selector(cut:) - keyEquivalent: @"x"]; - [subMenu addItemWithTitle: _(@"Paste") - action: @selector(paste:) - keyEquivalent: @"v"]; - [mainMenu setSubmenu: subMenu forItem: [mainMenu addItemWithTitle: _(@"Edit")]]; - [subMenu release]; - - - subMenu = [[NSMenu alloc] initWithTitle: _(@"Tools")]; - [subMenu addItemWithTitle: _(@"Inspector") - action: @selector(showInspector:) - keyEquivalent: @"i"]; - - [subMenu addItemWithTitle: _(@"Generate SQL") - action: @selector(generateSQL:) - keyEquivalent: @""]; - - [subMenu addItemWithTitle: _(@"Table Editor") - action: @selector(showEditor:) - keyEquivalent: @""]; - - [subMenu addItemWithTitle: _(@"Diagram Editor") - action: @selector(showEditor:) - keyEquivalent: @""]; - [mainMenu setSubmenu:subMenu forItem:[mainMenu addItemWithTitle:_(@"Tools")]]; - [subMenu release]; - - subMenu = [[NSMenu alloc] initWithTitle: _(@"Property")]; - [subMenu setAutoenablesItems:YES]; - [subMenu addItemWithTitle: _(@"Add Entity") - action: @selector(addEntity:) - keyEquivalent: @"E"]; - - [subMenu addItemWithTitle: _(@"Add Attribute") - action: @selector(addAttribute:) - keyEquivalent: @"A"]; - - [subMenu addItemWithTitle: _(@"Add Relationship") - action: @selector(addRelationship:) - keyEquivalent: @"R"]; - - [subMenu addItemWithTitle: _(@"Delete") - action: @selector(delete:) - keyEquivalent: @""]; - - [mainMenu setSubmenu:subMenu forItem:[mainMenu addItemWithTitle:_(@"Property")]]; - [subMenu release]; - -#ifdef GNU_GUI_LIBRARY - servicesMenu = [[NSMenu alloc] initWithTitle: _(@"Services")]; - [mainMenu setSubmenu: servicesMenu forItem: [mainMenu addItemWithTitle: _(@"Services")]]; - [NSApp setServicesMenu: servicesMenu]; - [servicesMenu release]; - - [mainMenu addItemWithTitle: _(@"Hide") - action: @selector(hide:) - keyEquivalent: @"h"]; - - [mainMenu addItemWithTitle: _(@"Quit...") - action: @selector(terminate:) - keyEquivalent: @"q"]; -#endif /* GNU_GUI_LIBRARY */ - - [NSApp setMainMenu: mainMenu]; /* make this a default? */ [EOModelerDocument setDefaultEditorClass: NSClassFromString(@"MainModelEditor")]; } diff --git a/DBModeler/Resources/Menu-Cocoa.gsmarkup b/DBModeler/Resources/Menu-Cocoa.gsmarkup new file mode 100644 index 0000000..6b70737 --- /dev/null +++ b/DBModeler/Resources/Menu-Cocoa.gsmarkup @@ -0,0 +1,92 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/DBModeler/Resources/Menu-GNUstep.gsmarkup b/DBModeler/Resources/Menu-GNUstep.gsmarkup new file mode 100644 index 0000000..d311e2e --- /dev/null +++ b/DBModeler/Resources/Menu-GNUstep.gsmarkup @@ -0,0 +1,82 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/DBModeler/main.m b/DBModeler/main.m index fee501b..30760c3 100644 --- a/DBModeler/main.m +++ b/DBModeler/main.m @@ -33,14 +33,25 @@ #include #include "Modeler.h" +#include + #include int main (int argc, const char **argv) { + Modeler *m; NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init]; [EOModelerApp sharedApplication]; - [NSApp setDelegate: [[Modeler alloc] init]]; + m = [[Modeler alloc] init]; + [NSApp setDelegate: m]; + +#ifdef NeXT_GUI_LIBRARY + [NSBundle loadGSMarkupNamed: @"Menu-Cocoa" owner: m]; +#else + [NSBundle loadGSMarkupNamed: @"Menu-GNUstep" owner: m]; +#endif + [NSApp run]; RELEASE(pool); return 0;