mirror of
https://github.com/gnustep/libs-gdl2.git
synced 2025-02-19 09:40:59 +00:00
Modified the DBModeler application to use Renaissance to generate its main
menu. * DBModeler/main.m (main): Added code to load the application menu, as described in the Renaissance tutorial. * DBModeler/Modeler.m (applicationWillFinishLaunching:): Removed code to manually created the application's menu. This is now handled by Renaissance. * DBModeler/Resources/Menu-GNUstep.gsmarkup, DBModeler/Resources/Menu-Cocoa.gsmarkup Initial import * DBModeler/GNUmakefile Added Renaissance to the list of libraries used by DBModeler. Added Menu-Cocoa.gsmarkup and Menu-GNUstep.gsmarkup to the list of application resources. git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gdl2/trunk@26516 72102866-910b-0410-8b05-ffd578937521
This commit is contained in:
parent
2a7cbceb9c
commit
6d66f9739c
6 changed files with 197 additions and 166 deletions
|
@ -1,12 +1,19 @@
|
|||
2008-05-12 Blake Nicholson <blaken@umich.edu>
|
||||
|
||||
* 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 <blaken@umich.edu>
|
||||
|
||||
* GNUmakefile.in: Add EOInterface, EOModeler, and DBModeler to
|
||||
|
|
|
@ -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 \
|
||||
|
|
|
@ -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")];
|
||||
}
|
||||
|
|
92
DBModeler/Resources/Menu-Cocoa.gsmarkup
Normal file
92
DBModeler/Resources/Menu-Cocoa.gsmarkup
Normal file
|
@ -0,0 +1,92 @@
|
|||
<?xml version="1.0"?>
|
||||
<!DOCTYPE gsmarkup>
|
||||
<gsmarkup>
|
||||
<objects>
|
||||
<menu type="main" autoenablesItems="yes">
|
||||
<menu title="Info" type="apple" autoenablesItems="yes">
|
||||
<menuItem title="About DBModeler"
|
||||
action="orderFrontStandardAboutPanel:" />
|
||||
<menuSeparator/>
|
||||
<menuItem title="Preferences..." keyEquivalent=","
|
||||
action="openPrefs:" />
|
||||
<menuSeparator/>
|
||||
<menu title="Services" type="services"/>
|
||||
<menuSeparator/>
|
||||
<menuItem title="Hide DBModeler" keyEquivalent="h"
|
||||
action="hide:" />
|
||||
<menuItem title="Hide Others"
|
||||
action="hideOtherApplications:" />
|
||||
<menuItem title="Show All"
|
||||
action="unhideAllApplications:" />
|
||||
<menuSeparator/>
|
||||
<menuItem title="Quit DBModeler" keyEquivalent="q"
|
||||
action="terminate:" />
|
||||
</menu>
|
||||
|
||||
<menu title="Model">
|
||||
<menuItem title="New..." keyEquivalent="n"
|
||||
action="new:" />
|
||||
<menuItem title="New From Database..."
|
||||
action="newFromDatabase:" />
|
||||
<menuItem title="Open" keyEquivalent="o"
|
||||
action="open:" />
|
||||
<menuSeparator/>
|
||||
<menuItem title="Save" keyEquivalent="s"
|
||||
action="save:" />
|
||||
<menuItem title="Save As..." keyEquivalent="S"
|
||||
action="saveAs:" />
|
||||
<menuItem title="Revert to Saved" keyEquivalent="u"
|
||||
action="revert:" />
|
||||
<menuSeparator/>
|
||||
<menuItem title="Set Adaptor Info..." keyEquivalent="I"
|
||||
action="setAdaptor:" />
|
||||
<menuItem title="Switch Adaptor..."
|
||||
action="switchAdaptor:" />
|
||||
<menuItem title="Check Consistency..."
|
||||
action="checkConsistency:" />
|
||||
<!-- TODO: representedObject for checkConsistency -->
|
||||
</menu>
|
||||
|
||||
<menu title="Edit" autoenablesItems="yes">
|
||||
<menuItem title="Cut" keyEquivalent="x"
|
||||
action="cut:" />
|
||||
<menuItem title="Copy" keyEquivalent="c"
|
||||
action="copy:" />
|
||||
<menuItem title="Paste" keyEquivalent="v"
|
||||
action="paste:" />
|
||||
<menuItem title="SelectAll" keyEquivalent="a"
|
||||
action="selectAll:" />
|
||||
</menu>
|
||||
|
||||
<menu title="Property" autoenablesItems="yes">
|
||||
<menuItem title="Add Entity" keyEquivalent="E"
|
||||
action="addEntity:" />
|
||||
<menuItem title="Add Attribute" keyEquivalent="A"
|
||||
action="addAttribute:" />
|
||||
<menuItem title="Add Relationship" keyEquivalent="R"
|
||||
action="addRelationship:" />
|
||||
<menuItem title="Delete" action="delete:" />
|
||||
</menu>
|
||||
|
||||
<menu title="Tools">
|
||||
<menuItem title="Inspector" keyEquivalent="i"
|
||||
action="showInspector:" />
|
||||
<menuItem title="Generate SQL" action="generateSQL:" />
|
||||
<menuItem title="Table Editor" action="showEditor:" />
|
||||
<menuItem title="Diagram Editor" action="showEditor:" />
|
||||
</menu>
|
||||
|
||||
<menu title="Windows" type="windows">
|
||||
<menuItem title="Close Window" action="performClose:"
|
||||
keyEquivalent="w"/>
|
||||
<menuItem title="Zoom Window" action="zoom:" />
|
||||
<menuItem title="Miniaturize Window" action="performMiniaturize:"
|
||||
keyEquivalent="m"/>
|
||||
<menuSeparator/>
|
||||
<menuItem title="Bring All to Front" action="arrangeInFront:"/>
|
||||
</menu>
|
||||
|
||||
</menu>
|
||||
|
||||
</objects>
|
||||
</gsmarkup>
|
82
DBModeler/Resources/Menu-GNUstep.gsmarkup
Normal file
82
DBModeler/Resources/Menu-GNUstep.gsmarkup
Normal file
|
@ -0,0 +1,82 @@
|
|||
<?xml version="1.0"?>
|
||||
<!DOCTYPE gsmarkup>
|
||||
<gsmarkup>
|
||||
<objects>
|
||||
<menu type="main" autoenablesItems="yes">
|
||||
<menu title="Info" autoenablesItems="yes">
|
||||
<menuItem title="About DBModeler"
|
||||
action="orderFrontStandardAboutPanel:" />
|
||||
<menuItem title="Info Panel..."
|
||||
action="orderFrontStandardInfoPanel:"/>
|
||||
<menuItem title="Preferences..." action="runPreferencesPanel:"/>
|
||||
<menuItem title="Help..." action="orderFrontHelpPanel:"/>
|
||||
</menu>
|
||||
|
||||
<menu title="Model">
|
||||
<menuItem title="New..." keyEquivalent="n"
|
||||
action="new:" />
|
||||
<menuItem title="New From Database..."
|
||||
action="newFromDatabase:" />
|
||||
<menuItem title="Open" keyEquivalent="o"
|
||||
action="open:" />
|
||||
<menuSeparator/>
|
||||
<menuItem title="Save" keyEquivalent="s"
|
||||
action="save:" />
|
||||
<menuItem title="Save As..." keyEquivalent="S"
|
||||
action="saveAs:" />
|
||||
<menuItem title="Revert to Saved" keyEquivalent="u"
|
||||
action="revert:" />
|
||||
<menuSeparator/>
|
||||
<menuItem title="Set Adaptor Info..." keyEquivalent="I"
|
||||
action="setAdaptor:" />
|
||||
<menuItem title="Switch Adaptor..."
|
||||
action="switchAdaptor:" />
|
||||
<menuItem title="Check Consistency..."
|
||||
action="checkConsistency:" />
|
||||
<!-- TODO: representedObject for checkConsistency -->
|
||||
</menu>
|
||||
|
||||
<menu title="Edit" autoenablesItems="yes">
|
||||
<menuItem title="Cut" keyEquivalent="x"
|
||||
action="cut:" />
|
||||
<menuItem title="Copy" keyEquivalent="c"
|
||||
action="copy:" />
|
||||
<menuItem title="Paste" keyEquivalent="v"
|
||||
action="paste:" />
|
||||
<menuItem title="SelectAll" keyEquivalent="a"
|
||||
action="selectAll:" />
|
||||
</menu>
|
||||
|
||||
<menu title="Property" autoenablesItems="yes">
|
||||
<menuItem title="Add Entity" keyEquivalent="E"
|
||||
action="addEntity:" />
|
||||
<menuItem title="Add Attribute" keyEquivalent="A"
|
||||
action="addAttribute:" />
|
||||
<menuItem title="Add Relationship" keyEquivalent="R"
|
||||
action="addRelationship:" />
|
||||
<menuItem title="Delete" action="delete:" />
|
||||
</menu>
|
||||
|
||||
<menu title="Tools">
|
||||
<menuItem title="Inspector" keyEquivalent="i"
|
||||
action="showInspector:" />
|
||||
<menuItem title="Generate SQL" action="generateSQL:" />
|
||||
<menuItem title="Table Editor" action="showEditor:" />
|
||||
<menuItem title="Diagram Editor" action="showEditor:" />
|
||||
</menu>
|
||||
|
||||
<menu title="Services" type="services"/>
|
||||
|
||||
<menu title="Windows" type="windows">
|
||||
<menuItem title="Arrange" action="arrangeInFront:"/>
|
||||
<menuItem title="Miniaturize" action="performMiniaturize:" keyEquivalent="m"/>
|
||||
<menuItem title="Close" action="performClose:" keyEquivalent="w"/>
|
||||
</menu>
|
||||
|
||||
<menuItem title="Hide" action="hide:" keyEquivalent="h"/>
|
||||
<menuItem title="Quit" action="terminate:" keyEquivalent="q"/>
|
||||
|
||||
</menu>
|
||||
|
||||
</objects>
|
||||
</gsmarkup>
|
|
@ -33,14 +33,25 @@
|
|||
#include <EOModeler/EOModelerApp.h>
|
||||
#include "Modeler.h"
|
||||
|
||||
#include <Renaissance/Renaissance.h>
|
||||
|
||||
#include <GNUstepBase/GNUstep.h>
|
||||
|
||||
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;
|
||||
|
|
Loading…
Reference in a new issue