Re: replacing carbon menu with cocoa
Re: replacing carbon menu with cocoa
- Subject: Re: replacing carbon menu with cocoa
- From: Peter Ammon <email@hidden>
- Date: Tue, 14 Oct 2008 10:36:33 -0700
I honestly don't know - replacing a Carbon main menu with a Cocoa main
menu at runtime isn't a configuration I've ever tested. If what you
tried works and you're happy with the result, I guess go with it.
-Peter
On Oct 14, 2008, at 7:09 AM, Esteban Lorenzano wrote:
Hi,
I loaded from Nib, as you suggest, and something strange happens -
strange, but near what I need-
If I load a Nib, the new main menu overlaps the old one (and two
menus coexist)... but new Main Menu redraws "apple" menu too, and
disappear if I reload the Nib. Finally, if I first "clean" carbon
menu, and then load bundle twice, everything seems to be working.
This is the code I wrote:
static sqInt initializeCocoaMenu(void) {
MenuRef cleanMenu;
//First we clean the carbon menu
CreateNewMenu(menuId, 0, &cleanMenu);
SetMenuTitleWithCFString(cleanMenu, CFSTR(""));
SetRootMenu(cleanMenu);
//Then we load the bundle
[ NSBundle loadNibNamed: @"MarsPlugin" owner: [ NSApplication
sharedApplication ] ];
//... twice
[ NSBundle loadNibNamed: @"MarsPlugin" owner: [ NSApplication
sharedApplication ] ];
return sqNil;
}
... but this is ok?
Thanks,
Esteban
On 13/10/2008, at 4:27p.m., Peter Ammon wrote:
On Oct 13, 2008, at 5:18 AM, Esteban Lorenzano wrote:
Hi,
I'm new to the list -and to cocoa-, and I don't know if what I
want to do is possible: I'm writing a plugin for a previous
existent application made in carbon, the application will take
over the old app behavior, and for that, it needs to replace the
menu with a new one...
I read documentation, saw examples and followed old threads on
this list, and no one is very clear about this... ¿Is it possible?
¿how?
You should make a nib from the "Application" template in Interface
Builder, then load it via [NSBundle loadNibNamed:...]. Its main
menu will replace the current main menu.
I already tried
[ NSApp setMainMenu: myMenu ]
It does not fail, but nothing happens :(
It's hard to say what this would do without seeing the code that
creates myMenu. But there's some problems creating a main menu
programmatically; using a nib is the best approach.
-Peter
"Querer es suscitar las paradojas"
Camus - El mito de Sísifo
_______________________________________________
Cocoa-dev mailing list (email@hidden)
Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden