MacPDF: Introduce MacPDFWindowController

I'd like to add a sidebar, and NSSplitViewItem apparently isn't
accessibly in .xib files without contortions. So I want to move
to creating the window in code, and this is a step towards that.

No behavior change.
This commit is contained in:
Nico Weber 2023-10-02 19:45:38 -04:00 committed by Andreas Kling
parent d6dff83397
commit 67f6baead0
4 changed files with 45 additions and 2 deletions

View file

@ -19,6 +19,7 @@ add_executable(MacPDF MACOSX_BUNDLE
AppDelegate.mm
MacPDFDocument.mm
MacPDFView.mm
MacPDFWindowController.mm
)
target_compile_options(MacPDF PRIVATE
-fobjc-arc

View file

@ -8,6 +8,7 @@
#import <UniformTypeIdentifiers/UniformTypeIdentifiers.h>
#import "MacPDFWindowController.h"
#include <LibPDF/Document.h>
@interface MacPDFDocument ()
@ -71,9 +72,9 @@
}
}
- (NSString*)windowNibName
- (void)makeWindowControllers
{
return @"MacPDFDocument";
[self addWindowController:[[MacPDFWindowController alloc] initWithDocument:self]];
}
- (void)windowControllerDidLoadNib:(NSWindowController*)aController

View file

@ -0,0 +1,21 @@
/*
* Copyright (c) 2023, Nico Weber <thakis@chromium.org>
*
* SPDX-License-Identifier: BSD-2-Clause
*/
#pragma once
#include "CocoaWrapper.h"
NS_ASSUME_NONNULL_BEGIN
@class MacPDFDocument;
@interface MacPDFWindowController : NSWindowController
- (instancetype)initWithDocument:(MacPDFDocument*)document;
@end
NS_ASSUME_NONNULL_END

View file

@ -0,0 +1,20 @@
/*
* Copyright (c) 2023, Nico Weber <thakis@chromium.org>
*
* SPDX-License-Identifier: BSD-2-Clause
*/
#import "MacPDFWindowController.h"
@implementation MacPDFWindowController
- (instancetype)initWithDocument:(MacPDFDocument*)document
{
if (self = [super initWithWindowNibName:@"MacPDFDocument" owner:self]; !self)
return nil;
return self;
}
@end