Skip to content

Commit

Permalink
[45243] NSObject Binding methods should use NSString for the binding,…
Browse files Browse the repository at this point in the history
… not string (#992)

Added [Sealed] to new apis and keep old ones as bindings instead of wrapping
  • Loading branch information
Timothy Risi authored and spouliot committed Nov 29, 2016
1 parent cc99d21 commit 7d88592
Showing 1 changed file with 44 additions and 6 deletions.
50 changes: 44 additions & 6 deletions src/foundation.cs
Original file line number Diff line number Diff line change
Expand Up @@ -7409,32 +7409,70 @@ interface NSObject2 : NSObjectProtocol {
NSString ChangeNotificationIsPriorKey { get; }
#if MONOMAC
// Cocoa Bindings added by Kenneth J. Pouncey 2010/11/17
[Export ("exposedBindings")]
NSString[] ExposedBindings ();

[Sealed]
[Export ("valueClassForBinding:")]
Class BindingValueClass (string binding);
Class GetBindingValueClass (NSString binding);

#if !XAMCORE_4_0
[Obsolete ("Use Bind (NSString binding, NSObject observable, string keyPath, [NullAllowed] NSDictionary options) instead")]
[Export ("bind:toObject:withKeyPath:options:")]
void Bind (string binding, NSObject observable, string keyPath, [NullAllowed] NSDictionary options);

[Obsolete ("Use Unbind (NSString binding) instead")]
[Export ("unbind:")]
void Unbind (string binding);

[Obsolete ("Use GetBindingValueClass (NSString binding) instead")]
[Export ("valueClassForBinding:")]
Class BindingValueClass (string binding);

[Obsolete ("Use GetBindingInfo (NSString binding) instead")]
[Export ("infoForBinding:")]
NSDictionary BindingInfo (string binding);

[Obsolete ("Use GetBindingOptionDescriptions (NSString aBinding) instead")]
[Export ("optionDescriptionsForBinding:")]
NSObject[] BindingOptionDescriptions (string aBinding);

[Static]
[Wrap ("GetDefaultPlaceholder (marker, (NSString) binding)")]
NSObject GetDefaultPlaceholder (NSObject marker, string binding);

[Static]
[Obsolete ("Use SetDefaultPlaceholder (NSObject placeholder, NSObject marker, NSString binding) instead")]
[Wrap ("SetDefaultPlaceholder (placeholder, marker, (NSString) binding)")]
void SetDefaultPlaceholder (NSObject placeholder, NSObject marker, string binding);

[Export ("exposedBindings")]
NSString[] ExposedBindings ();
#else
[Export ("exposedBindings")]
NSString[] ExposedBindings { get; }
#endif
[Sealed]
[Export ("bind:toObject:withKeyPath:options:")]
void Bind (NSString binding, NSObject observable, string keyPath, [NullAllowed] NSDictionary options);

[Sealed]
[Export ("unbind:")]
void Unbind (NSString binding);

[Sealed]
[Export ("infoForBinding:")]
NSDictionary GetBindingInfo (NSString binding);

[Sealed]
[Export ("optionDescriptionsForBinding:")]
NSObject[] GetBindingOptionDescriptions (NSString aBinding);

// NSPlaceholders (informal) protocol
[Static]
[Export ("defaultPlaceholderForMarker:withBinding:")]
NSObject GetDefaultPlaceholder (NSObject marker, string binding);
NSObject GetDefaultPlaceholder (NSObject marker, NSString binding);

[Static]
[Export ("setDefaultPlaceholder:forMarker:withBinding:")]
void SetDefaultPlaceholder (NSObject placeholder, NSObject marker, string binding);
void SetDefaultPlaceholder (NSObject placeholder, NSObject marker, NSString binding);

[Export ("objectDidEndEditing:")]
void ObjectDidEndEditing (NSObject editor);
Expand Down

0 comments on commit 7d88592

Please sign in to comment.