Hi all!

I'm creating a document-based app with custom drawn windows.

I've created a custom window controller and overrode the
makeWindowControllers method in my document subclass like so:

- (void)makeWindowControllers {
  windowController = [[BlankWindowController alloc] init];
  [self addWindowController:windowController];
  [windowController release];
}

My window controller initialization looks like this:

- (id)init {
  self = [super initWithWindowNibName:@"BlankDoc"];

  if (self != nil) {
    NSRect windowFrame = NSMakeRect(100.0f, 800.0f, 500.0f, 500.0f);
    self.window = [[BlankWindow alloc] initWithContentRect:windowFrame

styleMask:NSBorderlessWindowMask

backing:NSBackingStoreBuffered
                                                     defer:YES];
  };

  return self;
}

In BlankDoc.xib file I define custom window controller as file's owner
and custom window class (BlankWindow) for window object. BlankWindow
initializer looks like this:

- (id)initWithContentRect:(NSRect)contentRect
styleMask:(NSUInteger)windowStyle
backing:(NSBackingStoreType)bufferingType defer:(BOOL)deferCreation
{
  NSLog(@"initBeforeSuper: %@", self);
  self = [super initWithContentRect:contentRect
                          styleMask:NSBorderlessWindowMask
                            backing:bufferingType
                              defer:deferCreation];
  NSLog(@"initAfterSuper: %@", self);
  if (self)
  {
    // additional window initialization
  }
  return self;
}

However each time i build and run an app i get this error:

*** -[BlankWindow initWithFrame:]: unrecognized selector sent to instance

I see that only initBeforeSuper log message is output in console window.

Why? It does not happen when I use this code in simple (read: not
document-based) cocoa app.
What am i missing? Shouldn't my window controller initialize window
with initWithContentRect:initializers only (i.e. without using
window's initWithFrame initializer)?
_______________________________________________

Cocoa-dev mailing list ([email protected])

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