I have an application containing the main window with a list of elements, and from this window you can open an indefinite number of windows. Each of these windows can contain several instances of the model object, and those instances that are indicated in the box.
I started my project by making the list of objects (main window) an extension of NSDocument, and each other window extends NSWindowController. But functionally, the main window is used once every blue moon, despite the fact that it is a window that should pop up when users launch the application, and windows that expand the NSWindowController are those that are widely used by the user, as well as those that ultimately hold my "document".
Because of this, I am now having problems with methods such as New, Open, and Save - I find that I am writing a lot of manual code say must be implemented by the superclass.
Because I'm at a crossroads, I wonder how I can implement my application. Should I redefine my main window to a class that extends NSWindowController and start it from xib, which contains the main menu, or should I store things as they are and simply redefine newDocument, openDocument, etc., to get what I want functionality?
Just to help with the mental image, my application works like MSN - I have a main list with several elements on it (contact list in MSN), when I double-click on the element that I open the window (you open the chat for the user). My application goes one step further, saving several instances of the model object for each chat window, and each instance will be accessible using the table in the box.
source share