Add metnods for NSCoding/NSCopying

This commit is contained in:
Gregory John Casamento 2020-07-20 05:33:40 -04:00
parent d30a2daa17
commit 40871909f2
3 changed files with 38 additions and 8 deletions

View file

@ -37,7 +37,7 @@ extern "C" {
@class NSSplitView, NSSplitViewItem, NSArray, NSMutableArray;
@interface NSSplitViewController : NSViewController
@interface NSSplitViewController : NSViewController <NSCoding, NSCopying>
{
NSSplitView *_splitView;
CGFloat _minimumThicknessForInlineSidebars;

View file

@ -62,7 +62,7 @@ typedef NSInteger NSTitlebarSeparatorStyle;
@class NSViewController;
@interface NSSplitViewItem : NSObject
@interface NSSplitViewItem : NSObject <NSCoding, NSCopying>
{
CGFloat _automaticMaximumThickness;
CGFloat _preferredThicknessFraction;
@ -82,9 +82,13 @@ typedef NSInteger NSTitlebarSeparatorStyle;
+ (instancetype)splitViewItemWithViewController:(NSViewController *)viewController;
- (CGFloat) automaticMaximumThickness;
- (void) setAutomaticMaximumThickness: (CGFloat)f;
- (CGFloat) preferredThicknessFraction;
- (void) setPreferredThicknessFraction: (CGFloat)f;
- (CGFloat) minimumThickness;
- (void) setMinimumThickness: (CGFloat)f;
- (CGFloat) maximumThickness;
- (void) setMaximumThickness: (CGFloat)f;
- (/* NSLayoutPriority */ CGFloat) holdingPriority;

View file

@ -25,19 +25,29 @@
#import "AppKit/NSSplitViewItem.h"
@implementation NSSplitViewItem
+ (instancetype)contentListWithViewController: (NSViewController *)viewController
- (instancetype) initWithViewController: (NSViewController *)viewController
{
return nil;
self = [super init];
if (self != nil)
{
ASSIGN(_viewController, viewController);
}
return self;
}
+ (instancetype)sidebarWithViewController: (NSViewController *)viewController
+ (instancetype) contentListWithViewController: (NSViewController *)viewController
{
return nil;
return [[NSSplitViewItem alloc] initWithViewController: viewController];
}
+ (instancetype)splitViewItemWithViewController: (NSViewController *)viewController
+ (instancetype) sidebarWithViewController: (NSViewController *)viewController
{
return nil;
return [[NSSplitViewItem alloc] initWithViewController: viewController];
}
+ (instancetype) splitViewItemWithViewController: (NSViewController *)viewController
{
return [[NSSplitViewItem alloc] initWithViewController: viewController];
}
- (CGFloat) automaticMaximumThickness
@ -134,4 +144,20 @@
{
return _viewController;
}
// NSCoding
- (instancetype) initWithCoder: (NSCoder *)coder
{
return self;
}
- (void) encodeWithCoder: (NSCoder *)coder
{
}
// NSCopying
- (id) copyWithZone: (NSZone *)z
{
return nil;
}
@end