I am trying to understand the right way of dealing with a "settings" window in my application. I have a "Camera" object that wraps a Firewire video camera. I would like to bring up an NSPanel that enables various settings of the camera to be modified. I do not need to override any particular behaviours of NSWindowController, and it seems to me that logically my Camera object should not need to inherit from NSWindowController (the window business is a bit of a distraction from the main purpose of the camera class, which is handling received frames - and in future I may want more than one such camera-related window).
What I thought I could do when I want to bring the settings window up is as follows (from within my Camera class): if (settingsWindowController == NULL) settingsWindowController = [[NSWindowController alloc] initWithWindowNibName:(NSString *)@"Camera Settings" owner:self]; [settingsWindowController showWindow:self]; (where settingsWindowController is an instance variable of type NSWindowController). In the nib file I have set the File's Owner proxy to type Camera, and the bindings I have set up for the window all work correctly. However [settingsWindowController window] returns nil, and this causes various problems. Clearly I am doing something wrong. Alternatively I can set the File's Owner to type NSWindowController (and not specify an owner in my call to initWithWindowNibName). If I do this then the window controller is correctly linked to the window (I link up the appropriate outlet in IB), but the bindings don't work. I can't work out whether there is a way I can get my (instance variable-based) window controller to work AND bind to the Camera object. I feel this would be the tidiest way of doing things (it doesn't make sense to me for Camera to inherit from NSWindowController). Is there something extra I need to do to make this work, or am I just approaching all this in the wrong way? I have tried adding an NSWindowController object in the nib (with File's Owner still Camera). I can wire that up to the window, but I suspect that's not doing anything because I am allocating my own NSWindowController object in the code I listed earlier. I wonder if adding the NSWindowController object is the way forwards - but if so, how to I go about loading the controller from the nib as well as the window itself? I suspect from various other confused postings in the archives that initWindowWindowNibName:owner may not be the right thing for me to use here. Hopefully this makes sense - thanks for any suggestions... Jonny_______________________________________________ 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 arch...@mail-archive.com