From e5345bb6234617d8070f48376262226ea3af0e6e Mon Sep 17 00:00:00 2001 From: Jose Medrano Date: Fri, 18 Jan 2019 16:39:11 +0100 Subject: [Mac] Creates a new focusable ComboBox with readonly modifier Fixes #497 --- .../Controls/Custom/FocusableComboBox.cs | 32 ++++++++++++++++++++++ .../Controls/PredefinedValuesEditor.cs | 3 +- .../Xamarin.PropertyEditing.Mac.csproj | 1 + 3 files changed, 34 insertions(+), 2 deletions(-) create mode 100644 Xamarin.PropertyEditing.Mac/Controls/Custom/FocusableComboBox.cs (limited to 'Xamarin.PropertyEditing.Mac') diff --git a/Xamarin.PropertyEditing.Mac/Controls/Custom/FocusableComboBox.cs b/Xamarin.PropertyEditing.Mac/Controls/Custom/FocusableComboBox.cs new file mode 100644 index 0000000..401c2ce --- /dev/null +++ b/Xamarin.PropertyEditing.Mac/Controls/Custom/FocusableComboBox.cs @@ -0,0 +1,32 @@ +using Foundation; +using AppKit; + +namespace Xamarin.PropertyEditing.Mac +{ + class FocusableComboBox : NSComboBox + { + public override bool ShouldBeginEditing (NSText textObject) + { + textObject.Delegate = new FocusableComboBoxDelegate (); + return false; + } + + public override void DidBeginEditing (NSNotification notification) + { + base.DidBeginEditing (notification); + } + + class FocusableComboBoxDelegate : NSTextDelegate + { + public override bool TextShouldEndEditing (NSText textObject) + { + return false; + } + + public override bool TextShouldBeginEditing (NSText textObject) + { + return false; + } + } + } +} \ No newline at end of file diff --git a/Xamarin.PropertyEditing.Mac/Controls/PredefinedValuesEditor.cs b/Xamarin.PropertyEditing.Mac/Controls/PredefinedValuesEditor.cs index d2e8ae8..cc7b4b0 100644 --- a/Xamarin.PropertyEditing.Mac/Controls/PredefinedValuesEditor.cs +++ b/Xamarin.PropertyEditing.Mac/Controls/PredefinedValuesEditor.cs @@ -20,12 +20,11 @@ namespace Xamarin.PropertyEditing.Mac { base.TranslatesAutoresizingMaskIntoConstraints = false; - this.comboBox = new NSComboBox { + this.comboBox = new FocusableComboBox { TranslatesAutoresizingMaskIntoConstraints = false, BackgroundColor = NSColor.Clear, StringValue = String.Empty, ControlSize = NSControlSize.Small, - Editable = false, Font = NSFont.FromFontName(DefaultFontName, DefaultFontSize), }; diff --git a/Xamarin.PropertyEditing.Mac/Xamarin.PropertyEditing.Mac.csproj b/Xamarin.PropertyEditing.Mac/Xamarin.PropertyEditing.Mac.csproj index 35fb605..1e4aa71 100644 --- a/Xamarin.PropertyEditing.Mac/Xamarin.PropertyEditing.Mac.csproj +++ b/Xamarin.PropertyEditing.Mac/Xamarin.PropertyEditing.Mac.csproj @@ -144,6 +144,7 @@ + -- cgit v1.2.3