On Apr 24, 2008, at 6:39 PM, Steve Christensen wrote:
I'm rewriting an old legacy app in Cocoa and have run into a stumbling block. The app is supposed to support having multiple windows open, but the window content is unrelated to the concept of a document - which is the "normal" multiple window model. Instead the windows provide a UI to perform specific calculations, among other things. An example of what I'm looking for would be if you had a version of the Calculator application where you could create multiple calculator windows so you could leave several calculations "open" simultaneously, if that makes sense.

When I start up the app, an instance of the window is created, but I can't figure out how to get it to repeat the process in response to selecting New from the File menu. I've found a bunch of info on multiple document windows, or a single non-doc window plus a preferences window, but nothing on instantiating multiple non- document windows. Did I just miss something basic, or is all of the magic really focused on NSDocumentController, etc.?

If you're going to instantiating a window from a nib multiple times, it should generally be in the nib by itself. Well, the nib can have other objects which accompany the window, like NSController subclasses.

Then, you load the nib once for each window that you need to instantiate.

It's quite helpful to use NSWindowController (or custom subclass) objects to manage each nib, its loading, and the resulting window. Typically, the NSWindowController is not contained in the nib. Rather it is instantiated to manage the loading of the nib from the outside. It is often the File's Owner of the nib.

I hope that helps.

Cheers,
Ken
_______________________________________________

Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)

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:
http://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com

This email sent to [EMAIL PROTECTED]

Reply via email to