From ed0a582a862b47f1b43eda872831923c0c33bb2c Mon Sep 17 00:00:00 2001 From: Rolf Bjarne Kvinge Date: Wed, 25 Sep 2024 18:52:46 +0200 Subject: [PATCH 1/2] [AppKit] Implement NSToolbarItemVisibilityPriority. Fixes #21298. Fixes https://github.com/xamarin/xamarin-macios/issues/21298. --- src/appkit.cs | 23 +++++++++++++++++++ .../Documentation.KnownFailures.txt | 5 ++++ .../common-AppKit.ignore | 3 +++ 3 files changed, 31 insertions(+) diff --git a/src/appkit.cs b/src/appkit.cs index a4f7227de1f3..0542a05366cc 100644 --- a/src/appkit.cs +++ b/src/appkit.cs @@ -20503,8 +20503,23 @@ interface NSToolbarItem : NSCopying, NSMenuItemValidation, NSValidatedUserInterf [Export ("maxSize")] CGSize MaxSize { get; set; } +#if XAMCORE_5_0 + [Export ("visibilityPriority")] + NSToolbarItemVisibilityPriority VisibilityPriority { get; set; } +#else + /// Indicate which toolbar items should be kept when the toolbar space is limited. + /// + /// The valid values come from the enum, and they can be referenced as follows: + /// + /// + /// + /// [Export ("visibilityPriority")] nint VisibilityPriority { get; set; } +#endif [Export ("autovalidates")] bool Autovalidates { get; set; } @@ -28838,4 +28853,12 @@ interface NSViewContentSelectionInfo { [Export ("selectionAnchorRect")] CGRect /* NSRect */ SelectionAnchorRect { get; } } + + [Native] + enum NSToolbarItemVisibilityPriority : long { + Standard = 0, + Low = -1000, + High = 1000, + User = 2000, + } } diff --git a/tests/cecil-tests/Documentation.KnownFailures.txt b/tests/cecil-tests/Documentation.KnownFailures.txt index 56aca8bf163d..17d3e16881ca 100644 --- a/tests/cecil-tests/Documentation.KnownFailures.txt +++ b/tests/cecil-tests/Documentation.KnownFailures.txt @@ -2869,6 +2869,10 @@ F:AppKit.NSToolbarItemGroupControlRepresentation.Expanded F:AppKit.NSToolbarItemGroupSelectionMode.Momentary F:AppKit.NSToolbarItemGroupSelectionMode.SelectAny F:AppKit.NSToolbarItemGroupSelectionMode.SelectOne +F:AppKit.NSToolbarItemVisibilityPriority.High +F:AppKit.NSToolbarItemVisibilityPriority.Low +F:AppKit.NSToolbarItemVisibilityPriority.Standard +F:AppKit.NSToolbarItemVisibilityPriority.User F:AppKit.NSToolbarSizeMode.Default F:AppKit.NSToolbarSizeMode.Regular F:AppKit.NSToolbarSizeMode.Small @@ -80962,6 +80966,7 @@ T:AppKit.NSToolbarImmovableItemIdentifiers T:AppKit.NSToolbarItemEventArgs T:AppKit.NSToolbarItemGroupControlRepresentation T:AppKit.NSToolbarItemGroupSelectionMode +T:AppKit.NSToolbarItemVisibilityPriority T:AppKit.NSToolbarSizeMode T:AppKit.NSToolbarWillInsert T:AppKit.NSTouch_NSTouchBar diff --git a/tests/xtro-sharpie/api-annotations-dotnet/common-AppKit.ignore b/tests/xtro-sharpie/api-annotations-dotnet/common-AppKit.ignore index 6f9811c32731..d8151a01de31 100644 --- a/tests/xtro-sharpie/api-annotations-dotnet/common-AppKit.ignore +++ b/tests/xtro-sharpie/api-annotations-dotnet/common-AppKit.ignore @@ -16,3 +16,6 @@ !missing-field! NSTypeIdentifierTransitInformationText not bound !missing-protocol! NSAnimatablePropertyContainer not bound !missing-selector! NSTouchBar::itemIdentifiers not bound + +# NSToolbarItemVisibilityPriority is a collection of constants we've bound as an enum. +!unknown-native-enum! NSToolbarItemVisibilityPriority bound From d02330a91d29ebf19be759c4997448fa2d4940f3 Mon Sep 17 00:00:00 2001 From: Rolf Bjarne Kvinge Date: Fri, 27 Sep 2024 11:33:26 +0200 Subject: [PATCH 2/2] Fix xml --- src/appkit.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/appkit.cs b/src/appkit.cs index 0542a05366cc..b97be9410982 100644 --- a/src/appkit.cs +++ b/src/appkit.cs @@ -20516,7 +20516,7 @@ interface NSToolbarItem : NSCopying, NSMenuItemValidation, NSValidatedUserInterf /// item.VisibilityPriority = (nint) (long) NSToolbarItemVisibilityPriority.High; /// ]]> /// - /// + /// [Export ("visibilityPriority")] nint VisibilityPriority { get; set; } #endif