Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
92 changes: 43 additions & 49 deletions AppKit/NSKeyValueBinding.m
Original file line number Diff line number Diff line change
Expand Up @@ -19,57 +19,51 @@

#import <AppKit/NSKeyValueBinding.h>

NSString *const NSObservedObjectKey = @"NSObservedObject";
NSString *const NSObservedKeyPathKey = @"NSObservedKeyPath";
NSString *const NSOptionsKey = @"NSOptions";
NSBindingInfoKey NSObservedObjectKey = @"NSObservedObject";
NSBindingInfoKey NSObservedKeyPathKey = @"NSObservedKeyPath";
NSBindingInfoKey NSOptionsKey = @"NSOptions";

NSString *const NSAnimateBinding = @"animate";
NSString *const NSContentArrayBinding = @"contentArray";
NSString *const NSContentBinding = @"content";
NSString *const NSContentObjectBinding = @"contentObject";
NSString *const NSContentObjectsBinding = @"contentObjects";
NSString *const NSContentSetBinding = @"contentSet";
NSString *const NSContentValuesBinding = @"contentValues";
NSString *const NSDoubleClickTargetBinding = @"doubleClickTarget";
NSString *const NSEnabledBinding = @"enabled";
NSString *const NSHiddenBinding = @"hidden";
NSString *const NSImageBinding = @"image";
NSString *const NSInsertsNullPlaceholderBindingOption =
@"NSInsertsNullPlaceholder";
NSString *const NSSelectedIndexBinding = @"selectedIndex";
NSString *const NSSelectedObjectBinding = @"selectedObject";
NSString *const NSSelectedObjectsBinding = @"selectedObjects";
NSString *const NSSelectedTagBinding = @"selectedTag";
NSString *const NSSelectionIndexesBinding = @"selectionIndexes";
NSString *const NSTitleBinding = @"title";
NSString *const NSValidatesImmediatelyBindingOption = @"NSValidatesImmediately";
NSString *const NSNotApplicablePlaceholderBindingOption =
@"NSNotApplicablePlaceholder";
NSString *const NSValueBinding = @"value";
NSString *const NSVisibleBinding = @"visible";
NSString *const NSToolTipBinding = @"toolTip";
NSString *const NSEditableBinding = @"editable";
NSBindingName NSAnimateBinding = @"animate";
NSBindingName NSContentArrayBinding = @"contentArray";
NSBindingName NSContentBinding = @"content";
NSBindingName NSContentObjectBinding = @"contentObject";
NSBindingName NSContentObjectsBinding = @"contentObjects";
NSBindingName NSContentSetBinding = @"contentSet";
NSBindingName NSContentValuesBinding = @"contentValues";
NSBindingName NSDoubleClickTargetBinding = @"doubleClickTarget";
NSBindingName NSEnabledBinding = @"enabled";
NSBindingName NSEditableBinding = @"editable";
NSBindingName NSFontBoldBinding = @"fontBold";
NSBindingName NSFontItalicBinding = @"fontItalic";
NSBindingName NSHiddenBinding = @"hidden";
NSBindingName NSImageBinding = @"image";
NSBindingName NSSelectedIndexBinding = @"selectedIndex";
NSBindingName NSSelectedObjectBinding = @"selectedObject";
NSBindingName NSSelectedObjectsBinding = @"selectedObjects";
NSBindingName NSSelectedTagBinding = @"selectedTag";
NSBindingName NSSelectedValueBinding = @"selectedValue";
NSBindingName NSSelectionIndexesBinding = @"selectionIndexes";
NSBindingName NSTitleBinding = @"title";
NSBindingName NSToolTipBinding = @"toolTip";
NSBindingName NSValueBinding = @"value";
NSBindingName NSVisibleBinding = @"visible";

NSString *const NSNullPlaceholderBindingOption = @"NSNullPlaceholder";
NSString *const NSNoSelectionPlaceholderBindingOption =
@"NSNoSelectionPlaceholder";
NSString *const NSMultipleValuesPlaceholderBindingOption =
@"NSMultipleValuesPlaceholder";
NSString *const NSCreatesSortDescriptorBindingOption =
@"NSCreatesSortDescriptors";
NSString *const NSRaisesForNotApplicableKeysBindingOption =
@"NSRaisesForNotApplicableKeys";
NSString *const NSAllowsEditingMultipleValuesSelectionBindingOption =
@"NSAllowsEditingMultipleValuesSelection";
NSString *const NSValueTransformerNameBindingOption = @"NSValueTransformerName";
NSString *const NSValueTransformerBindingOption = @"NSValueTransformerBinding";
NSString *const NSConditionallySetsEnabledBindingOption =
@"NSConditionallySetsEnabled";
NSString *const NSConditionallySetsEditableBindingOption =
@"NSConditionallySetsEditable";
NSString *const NSContinuouslyUpdatesValueBindingOption =
@"NSContinuouslyUpdatesValue";
NSString *const NSDisplayPatternBindingOption = @"NSDisplayPattern";
NSBindingOption NSAllowsEditingMultipleValuesSelectionBindingOption = @"NSAllowsEditingMultipleValuesSelection";
NSBindingOption NSConditionallySetsEnabledBindingOption = @"NSConditionallySetsEnabled";
NSBindingOption NSConditionallySetsEditableBindingOption = @"NSConditionallySetsEditable";
NSBindingOption NSContinuouslyUpdatesValueBindingOption = @"NSContinuouslyUpdatesValue";
NSBindingOption NSCreatesSortDescriptorBindingOption = @"NSCreatesSortDescriptor";
NSBindingOption NSDisplayPatternBindingOption = @"NSDisplayPattern";
NSBindingOption NSInsertsNullPlaceholderBindingOption = @"NSInsertsNullPlaceholder";
NSBindingOption NSMultipleValuesPlaceholderBindingOption = @"NSMultipleValuesPlaceholder";
NSBindingOption NSNoSelectionPlaceholderBindingOption = @"NSNoSelectionPlaceholder";
NSBindingOption NSNotApplicablePlaceholderBindingOption = @"NSNotApplicablePlaceholder";
NSBindingOption NSNullPlaceholderBindingOption = @"NSNullPlaceholder";
NSBindingOption NSPredicateFormatBindingOption = @"NSPredicateFormat";
NSBindingOption NSRaisesForNotApplicableKeysBindingOption = @"NSRaisesForNotApplicableKeys";
NSBindingOption NSValidatesImmediatelyBindingOption = @"NSValidatesImmediately";
NSBindingOption NSValueTransformerBindingOption = @"NSValueTransformer";
NSBindingOption NSValueTransformerNameBindingOption = @"NSValueTransformerName";

// TODO: actually implement this stuff
@implementation NSObject (NSKeyValueBindingCreation)
Expand Down
2 changes: 2 additions & 0 deletions AppKit/NSMenu.subproj/NSMenu.m
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,8 @@ this software and associated documentation files (the "Software"), to deal in
#import <AppKit/NSWindow.h>
#import <Foundation/NSKeyedArchiver.h>

const NSNotificationName NSMenuWillSendActionNotification = @"NSMenuWillSendActionNotification";
const NSNotificationName NSMenuDidSendActionNotification = @"NSMenuDidSendActionNotification";
const NSNotificationName NSMenuDidBeginTrackingNotification = @"NSMenuDidBeginTrackingNotification";
const NSNotificationName NSMenuDidEndTrackingNotification = @"NSMenuDidEndTrackingNotification";
NSString *const _NSFontMenuName = @"Font";
Expand Down
1 change: 1 addition & 0 deletions AppKit/NSPrintInfo.m
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,7 @@ this software and associated documentation files (the "Software"), to deal in
NSPrintInfoAttributeKey const NSPrintPaperName = @"NSPaperName";
NSPrintInfoAttributeKey const NSPrintPaperSize = @"NSPaperSize";
NSPrintInfoAttributeKey const NSPrintOrientation = @"NSOrientation";
NSPrintInfoAttributeKey const NSPrintScalingFactor = @"NSScalingFactor";

NSPrintInfoAttributeKey const NSPrintLeftMargin = @"NSLeftMargin";
NSPrintInfoAttributeKey const NSPrintRightMargin = @"NSRightMargin";
Expand Down
87 changes: 47 additions & 40 deletions AppKit/include/AppKit/NSKeyValueBinding.h
Original file line number Diff line number Diff line change
Expand Up @@ -21,48 +21,55 @@
#import <Foundation/NSString.h>
#import <Foundation/NSArray.h>

APPKIT_EXPORT NSString *const NSObservedObjectKey;
APPKIT_EXPORT NSString *const NSObservedKeyPathKey;
APPKIT_EXPORT NSString *const NSOptionsKey;
typedef NSString* NSBindingName NS_TYPED_EXTENSIBLE_ENUM;
typedef NSString* NSBindingOption NS_TYPED_ENUM;

APPKIT_EXPORT NSString *const NSAnimateBinding;
APPKIT_EXPORT NSString *const NSContentArrayBinding;
APPKIT_EXPORT NSString *const NSContentBinding;
APPKIT_EXPORT NSString *const NSContentObjectBinding;
APPKIT_EXPORT NSString *const NSContentObjectsBinding;
APPKIT_EXPORT NSString *const NSContentSetBinding;
APPKIT_EXPORT NSString *const NSContentValuesBinding;
APPKIT_EXPORT NSString *const NSDoubleClickTargetBinding;
APPKIT_EXPORT NSString *const NSEnabledBinding;
APPKIT_EXPORT NSString *const NSHiddenBinding;
APPKIT_EXPORT NSString *const NSImageBinding;
APPKIT_EXPORT NSString *const NSInsertsNullPlaceholderBindingOption;
APPKIT_EXPORT NSString *const NSSelectedIndexBinding;
APPKIT_EXPORT NSString *const NSSelectedObjectBinding;
APPKIT_EXPORT NSString *const NSSelectedObjectsBinding;
APPKIT_EXPORT NSString *const NSSelectedTagBinding;
APPKIT_EXPORT NSString *const NSSelectionIndexesBinding;
APPKIT_EXPORT NSString *const NSTitleBinding;
APPKIT_EXPORT NSString *const NSValidatesImmediatelyBindingOption;
APPKIT_EXPORT NSString *const NSValueBinding;
APPKIT_EXPORT NSString *const NSVisibleBinding;
APPKIT_EXPORT NSString *const NSToolTipBinding;
APPKIT_EXPORT NSString *const NSEditableBinding;
APPKIT_EXPORT NSString *const NSNotApplicablePlaceholderBindingOption;
typedef NSString* NSBindingInfoKey NS_TYPED_ENUM;
APPKIT_EXPORT NSBindingInfoKey NSObservedObjectKey;
APPKIT_EXPORT NSBindingInfoKey NSObservedKeyPathKey;
APPKIT_EXPORT NSBindingInfoKey NSOptionsKey;

APPKIT_EXPORT NSString *const NSNullPlaceholderBindingOption;
APPKIT_EXPORT NSString *const NSNoSelectionPlaceholderBindingOption;
APPKIT_EXPORT NSString *const NSMultipleValuesPlaceholderBindingOption;
APPKIT_EXPORT NSString *const NSCreatesSortDescriptorBindingOption;
APPKIT_EXPORT NSString *const NSRaisesForNotApplicableKeysBindingOption;
APPKIT_EXPORT NSString
*const NSAllowsEditingMultipleValuesSelectionBindingOption;
APPKIT_EXPORT NSString *const NSValueTransformerNameBindingOption;
APPKIT_EXPORT NSString *const NSValueTransformerBindingOption;
APPKIT_EXPORT NSString *const NSConditionallySetsEnabledBindingOption;
APPKIT_EXPORT NSString *const NSConditionallySetsEditableBindingOption;
APPKIT_EXPORT NSString *const NSContinuouslyUpdatesValueBindingOption;
APPKIT_EXPORT NSString *const NSDisplayPatternBindingOption;
APPKIT_EXPORT NSBindingName NSAnimateBinding;
APPKIT_EXPORT NSBindingName NSContentArrayBinding;
APPKIT_EXPORT NSBindingName NSContentBinding;
APPKIT_EXPORT NSBindingName NSContentObjectBinding;
APPKIT_EXPORT NSBindingName NSContentObjectsBinding;
APPKIT_EXPORT NSBindingName NSContentSetBinding;
APPKIT_EXPORT NSBindingName NSContentValuesBinding;
APPKIT_EXPORT NSBindingName NSDoubleClickTargetBinding;
APPKIT_EXPORT NSBindingName NSEditableBinding;
APPKIT_EXPORT NSBindingName NSEnabledBinding;
APPKIT_EXPORT NSBindingName NSFontBoldBinding;
APPKIT_EXPORT NSBindingName NSFontItalicBinding;
APPKIT_EXPORT NSBindingName NSHiddenBinding;
APPKIT_EXPORT NSBindingName NSImageBinding;
APPKIT_EXPORT NSBindingName NSSelectedIndexBinding;
APPKIT_EXPORT NSBindingName NSSelectedObjectBinding;
APPKIT_EXPORT NSBindingName NSSelectedObjectsBinding;
APPKIT_EXPORT NSBindingName NSSelectedTagBinding;
APPKIT_EXPORT NSBindingName NSSelectedValueBinding;
APPKIT_EXPORT NSBindingName NSSelectionIndexesBinding;
APPKIT_EXPORT NSBindingName NSTitleBinding;
APPKIT_EXPORT NSBindingName NSToolTipBinding;
APPKIT_EXPORT NSBindingName NSValueBinding;
APPKIT_EXPORT NSBindingName NSVisibleBinding;

APPKIT_EXPORT NSBindingOption NSAllowsEditingMultipleValuesSelectionBindingOption;
APPKIT_EXPORT NSBindingOption NSConditionallySetsEnabledBindingOption;
APPKIT_EXPORT NSBindingOption NSConditionallySetsEditableBindingOption;
APPKIT_EXPORT NSBindingOption NSContinuouslyUpdatesValueBindingOption;
APPKIT_EXPORT NSBindingOption NSCreatesSortDescriptorBindingOption;
APPKIT_EXPORT NSBindingOption NSDisplayPatternBindingOption;
APPKIT_EXPORT NSBindingOption NSInsertsNullPlaceholderBindingOption;
APPKIT_EXPORT NSBindingOption NSMultipleValuesPlaceholderBindingOption;
APPKIT_EXPORT NSBindingOption NSNoSelectionPlaceholderBindingOption;
APPKIT_EXPORT NSBindingOption NSNotApplicablePlaceholderBindingOption;
APPKIT_EXPORT NSBindingOption NSNullPlaceholderBindingOption;
APPKIT_EXPORT NSBindingOption NSPredicateFormatBindingOption;
APPKIT_EXPORT NSBindingOption NSRaisesForNotApplicableKeysBindingOption;
APPKIT_EXPORT NSBindingOption NSValidatesImmediatelyBindingOption;
APPKIT_EXPORT NSBindingOption NSValueTransformerBindingOption;
APPKIT_EXPORT NSBindingOption NSValueTransformerNameBindingOption;

@interface NSObject (NSKeyValueBindingCreation)

Expand Down
2 changes: 2 additions & 0 deletions AppKit/include/AppKit/NSMenu.h
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,8 @@ CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */

@protocol NSMenuDelegate;

APPKIT_EXPORT const NSNotificationName NSMenuWillSendActionNotification;
APPKIT_EXPORT const NSNotificationName NSMenuDidSendActionNotification;
APPKIT_EXPORT const NSNotificationName NSMenuDidBeginTrackingNotification;
APPKIT_EXPORT const NSNotificationName NSMenuDidEndTrackingNotification;

Expand Down
1 change: 1 addition & 0 deletions AppKit/include/AppKit/NSPrintInfo.h
Original file line number Diff line number Diff line change
Expand Up @@ -44,6 +44,7 @@ typedef NSString *NSPrintInfoAttributeKey;
APPKIT_EXPORT NSPrintInfoAttributeKey const NSPrintPaperName;
APPKIT_EXPORT NSPrintInfoAttributeKey const NSPrintPaperSize;
APPKIT_EXPORT NSPrintInfoAttributeKey const NSPrintOrientation;
APPKIT_EXPORT NSPrintInfoAttributeKey const NSPrintScalingFactor;

/* Pagination */
APPKIT_EXPORT NSPrintInfoAttributeKey const NSPrintLeftMargin;
Expand Down
4 changes: 4 additions & 0 deletions CoreData/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -28,8 +28,10 @@ set(CoreData_sources
NSAtomicStore.m
NSAttributeDescription.m
NSEntityDescription.m
NSEntityMapping.m
NSFetchedPropertyDescription.m
NSFetchRequest.m
NSFetchRequestExpression.m
NSInMemoryPersistentStore.m
NSManagedObjectContext.m
NSManagedObjectID.m
Expand All @@ -38,9 +40,11 @@ set(CoreData_sources
NSManagedObjectMutableSet.m
NSManagedObjectSetEnumerator.m
NSManagedObjectSet.m
NSMappingModel.m
NSPersistentStoreCoordinator.m
NSPersistentStore.m
NSPropertyDescription.m
NSPropertyMapping.m
NSRelationshipDescription.m
NSXMLPersistentStore.m
NSMergeConflict.m
Expand Down
34 changes: 34 additions & 0 deletions CoreData/NSEntityMapping.m
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
/*
This file is part of Darling.

Copyright (C) 2025 Darling Developers

Darling is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.

Darling is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with Darling. If not, see <http://www.gnu.org/licenses/>.
*/

#include <CoreData/NSEntityMapping.h>

@implementation NSEntityMapping

- (NSMethodSignature *)methodSignatureForSelector:(SEL)aSelector
{
return [NSMethodSignature signatureWithObjCTypes: "v@:"];
}

- (void)forwardInvocation:(NSInvocation *)anInvocation
{
NSLog(@"Stub called: %@ in %@", NSStringFromSelector([anInvocation selector]), [self class]);
}

@end
34 changes: 34 additions & 0 deletions CoreData/NSFetchRequestExpression.m
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
/*
This file is part of Darling.

Copyright (C) 2025 Darling Developers

Darling is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.

Darling is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with Darling. If not, see <http://www.gnu.org/licenses/>.
*/

#import <CoreData/NSFetchRequestExpression.h>

@implementation NSFetchRequestExpression

- (NSMethodSignature *)methodSignatureForSelector:(SEL)aSelector
{
return [NSMethodSignature signatureWithObjCTypes: "v@:"];
}

- (void)forwardInvocation:(NSInvocation *)anInvocation
{
NSLog(@"Stub called: %@ in %@", NSStringFromSelector([anInvocation selector]), [self class]);
}

@end
34 changes: 34 additions & 0 deletions CoreData/NSMappingModel.m
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
/*
This file is part of Darling.

Copyright (C) 2025 Darling Developers

Darling is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.

Darling is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with Darling. If not, see <http://www.gnu.org/licenses/>.
*/

#import <CoreData/NSMappingModel.h>

@implementation NSMappingModel

- (NSMethodSignature *)methodSignatureForSelector:(SEL)aSelector
{
return [NSMethodSignature signatureWithObjCTypes: "v@:"];
}

- (void)forwardInvocation:(NSInvocation *)anInvocation
{
NSLog(@"Stub called: %@ in %@", NSStringFromSelector([anInvocation selector]), [self class]);
}

@end
34 changes: 34 additions & 0 deletions CoreData/NSPropertyMapping.m
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
/*
This file is part of Darling.

Copyright (C) 2025 Darling Developers

Darling is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.

Darling is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with Darling. If not, see <http://www.gnu.org/licenses/>.
*/

#import <CoreData/NSPropertyMapping.h>

@implementation NSPropertyMapping

- (NSMethodSignature *)methodSignatureForSelector:(SEL)aSelector
{
return [NSMethodSignature signatureWithObjCTypes: "v@:"];
}

- (void)forwardInvocation:(NSInvocation *)anInvocation
{
NSLog(@"Stub called: %@ in %@", NSStringFromSelector([anInvocation selector]), [self class]);
}

@end
Loading