Re: Creating the app menu from scratch
Re: Creating the app menu from scratch
- Subject: Re: Creating the app menu from scratch
- From: Bill Bumgarner <email@hidden>
- Date: Sun, 13 Jul 2008 21:35:37 -0700
On Jul 13, 2008, at 9:25 PM, Jim Crafton wrote:
Can you elaborate on why? Most of the time from what I've seen, when
people think they need to do this, they really don't. For example:
Sure, I'm porting a framework over to OS X. The framework (in C++),
doesn't use NIBs, but does (obviously) use menu items and thus I need
to be able to populate the menu bar. I had figured populating it
programmatically wouldn't be this difficult. The framework libs will
exist as OS X Frameworks, and I wasn't sure if I can have nib's in the
Framework binary. Everything else in Cocoa seems relatively
straightforward, I'm not sure why menus are such a big deal.
Your application's menu isn't that big of a deal, but your
application's integration with Mac OS X is a very big deal and that is
most of the battle of doing "nib less" development. It is much more
than just populating the main menu. Specifically, the application
wrapper -- the .app -- typically contains all kinds of metadata that
is used by Mac OS X to integrate the application into the system, both
from the Finder's perspective and when the application is run.
How do you bootstrap the framework? I.e. what executable is run that
uses the resources from the framework? That is the most likely place
to stick the MainMenu.nib and let Cocoa bootstrap the normal way.
- People implementing a framework that needs to create everything
programmatically. Instead of going without a nib, create a stub
MainMenu.nib which contains as little as possible but still gets your
program up and running. At that point you can then customize the menu
and everything else in code.
This is my case. I'll try and look into that. Any examples like this
around (keeping in mind that this eventually has to exist inside of a
Framework as opposed to an app)?
Sure. Create a new Cocoa Application project in Xcode. That is about
the most minimal example of a working standard Cocoa application
available.
From there, it would simply be a matter of:
- creating an Application Delegate object
- responding to -applicationWillFinishLaunching: or -
applicationDidFinishLaunching:
- grabbing whatever is needed from your framework and populating the
menu bar
b.bum
Attachment:
smime.p7s
Description: S/MIME cryptographic signature
_______________________________________________
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