Browse Source

Enable nullability in DomainUpDown (#6741)

* Enable nullability in DomainUpDown

* Rename owner to _owner

* Fix warning in DomainItemListAccessibleObject
pull/6761/head
gpetrou 3 years ago
committed by GitHub
parent
commit
ee4d91eb4e
No known key found for this signature in database GPG Key ID: 4AEE18F83AFDEB23
  1. 30
      src/System.Windows.Forms/src/PublicAPI.Shipped.txt
  2. 2
      src/System.Windows.Forms/src/System/Windows/Forms/DomainUpDown.DomainItemListAccessibleObject.cs
  3. 41
      src/System.Windows.Forms/src/System/Windows/Forms/DomainUpDown.DomainUpDownItemCollection.cs
  4. 4
      src/System.Windows.Forms/src/System/Windows/Forms/DomainUpDown.DomainUpDownItemCompare.cs
  5. 28
      src/System.Windows.Forms/src/System/Windows/Forms/DomainUpDown.cs

30
src/System.Windows.Forms/src/PublicAPI.Shipped.txt

@ -399,15 +399,15 @@ override System.Windows.Forms.CursorConverter.GetStandardValuesSupported(System.
~override System.Windows.Forms.Design.ComponentEditorPage.CreateParams.get -> System.Windows.Forms.CreateParams
~override System.Windows.Forms.Design.ToolStripItemDesignerAvailabilityAttribute.Equals(object obj) -> bool
~override System.Windows.Forms.Design.WindowsFormsComponentEditor.EditComponent(System.ComponentModel.ITypeDescriptorContext context, object component) -> bool
~override System.Windows.Forms.DomainUpDown.CreateAccessibilityInstance() -> System.Windows.Forms.AccessibleObject
~override System.Windows.Forms.DomainUpDown.DomainUpDownItemCollection.Add(object item) -> int
~override System.Windows.Forms.DomainUpDown.DomainUpDownItemCollection.Insert(int index, object item) -> void
~override System.Windows.Forms.DomainUpDown.DomainUpDownItemCollection.Remove(object item) -> void
~override System.Windows.Forms.DomainUpDown.DomainUpDownItemCollection.this[int index].get -> object
~override System.Windows.Forms.DomainUpDown.DomainUpDownItemCollection.this[int index].set -> void
~override System.Windows.Forms.DomainUpDown.OnChanged(object source, System.EventArgs e) -> void
~override System.Windows.Forms.DomainUpDown.OnTextBoxKeyPress(object source, System.Windows.Forms.KeyPressEventArgs e) -> void
~override System.Windows.Forms.DomainUpDown.ToString() -> string
override System.Windows.Forms.DomainUpDown.CreateAccessibilityInstance() -> System.Windows.Forms.AccessibleObject!
override System.Windows.Forms.DomainUpDown.DomainUpDownItemCollection.Add(object? item) -> int
override System.Windows.Forms.DomainUpDown.DomainUpDownItemCollection.Insert(int index, object? item) -> void
override System.Windows.Forms.DomainUpDown.DomainUpDownItemCollection.Remove(object? item) -> void
override System.Windows.Forms.DomainUpDown.DomainUpDownItemCollection.this[int index].get -> object?
override System.Windows.Forms.DomainUpDown.DomainUpDownItemCollection.this[int index].set -> void
override System.Windows.Forms.DomainUpDown.OnChanged(object? source, System.EventArgs! e) -> void
override System.Windows.Forms.DomainUpDown.OnTextBoxKeyPress(object? source, System.Windows.Forms.KeyPressEventArgs! e) -> void
override System.Windows.Forms.DomainUpDown.ToString() -> string!
~override System.Windows.Forms.ErrorProvider.Site.set -> void
override System.Windows.Forms.FileDialog.ToString() -> string!
~override System.Windows.Forms.FlowLayoutPanel.LayoutEngine.get -> System.Windows.Forms.Layout.LayoutEngine
@ -1723,10 +1723,10 @@ System.Windows.Forms.DataObject.DataObject(string! format, object! data) -> void
~System.Windows.Forms.Design.IUIService.ShowMessage(string message, string caption, System.Windows.Forms.MessageBoxButtons buttons) -> System.Windows.Forms.DialogResult
~System.Windows.Forms.Design.IUIService.Styles.get -> System.Collections.IDictionary
~System.Windows.Forms.Design.WindowsFormsComponentEditor.EditComponent(object component, System.Windows.Forms.IWin32Window owner) -> bool
~System.Windows.Forms.DomainUpDown.Items.get -> System.Windows.Forms.DomainUpDown.DomainUpDownItemCollection
~System.Windows.Forms.DomainUpDown.OnSelectedItemChanged(object source, System.EventArgs e) -> void
~System.Windows.Forms.DomainUpDown.SelectedItem.get -> object
~System.Windows.Forms.DomainUpDown.SelectedItem.set -> void
System.Windows.Forms.DomainUpDown.Items.get -> System.Windows.Forms.DomainUpDown.DomainUpDownItemCollection!
System.Windows.Forms.DomainUpDown.OnSelectedItemChanged(object? source, System.EventArgs! e) -> void
System.Windows.Forms.DomainUpDown.SelectedItem.get -> object?
System.Windows.Forms.DomainUpDown.SelectedItem.set -> void
~System.Windows.Forms.ErrorProvider.BindToDataAndErrors(object newDataSource, string newDataMember) -> void
~System.Windows.Forms.ErrorProvider.CanExtend(object extendee) -> bool
~System.Windows.Forms.ErrorProvider.ContainerControl.get -> System.Windows.Forms.ContainerControl
@ -7766,10 +7766,10 @@ System.Windows.Forms.DomainUpDown.DomainUpDownAccessibleObject.DomainUpDownAcces
System.Windows.Forms.DomainUpDown.DomainUpDownItemCollection
System.Windows.Forms.DomainUpDown.Padding.get -> System.Windows.Forms.Padding
System.Windows.Forms.DomainUpDown.Padding.set -> void
System.Windows.Forms.DomainUpDown.PaddingChanged -> System.EventHandler
System.Windows.Forms.DomainUpDown.PaddingChanged -> System.EventHandler?
System.Windows.Forms.DomainUpDown.SelectedIndex.get -> int
System.Windows.Forms.DomainUpDown.SelectedIndex.set -> void
System.Windows.Forms.DomainUpDown.SelectedItemChanged -> System.EventHandler
System.Windows.Forms.DomainUpDown.SelectedItemChanged -> System.EventHandler?
System.Windows.Forms.DomainUpDown.Sorted.get -> bool
System.Windows.Forms.DomainUpDown.Sorted.set -> void
System.Windows.Forms.DomainUpDown.Wrap.get -> bool

2
src/System.Windows.Forms/src/System/Windows/Forms/DomainUpDown.DomainItemListAccessibleObject.cs

@ -61,7 +61,7 @@ namespace System.Windows.Forms
{
if (index >= 0 && index < GetChildCount())
{
return new DomainItemAccessibleObject(((DomainUpDown)_parent.Owner).Items[index].ToString(), this);
return new DomainItemAccessibleObject(((DomainUpDown)_parent.Owner).Items[index]!.ToString(), this);
}
return null;

41
src/System.Windows.Forms/src/System/Windows/Forms/DomainUpDown.DomainUpDownItemCollection.cs

@ -2,8 +2,6 @@
// The .NET Foundation licenses this file to you under the MIT license.
// See the LICENSE file in the project root for more information.
#nullable disable
using System.Collections;
using System.ComponentModel;
@ -17,17 +15,17 @@ namespace System.Windows.Forms
/// </summary>
public class DomainUpDownItemCollection : ArrayList
{
readonly DomainUpDown owner;
private readonly DomainUpDown _owner;
internal DomainUpDownItemCollection(DomainUpDown owner)
: base()
: base()
{
this.owner = owner;
_owner = owner;
}
[Browsable(false)]
[DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)]
public override object this[int index]
public override object? this[int index]
{
get
{
@ -38,28 +36,28 @@ namespace System.Windows.Forms
{
base[index] = value;
if (owner.SelectedIndex == index)
if (_owner.SelectedIndex == index)
{
owner.SelectIndex(index);
_owner.SelectIndex(index);
}
if (owner.Sorted)
if (_owner.Sorted)
{
owner.SortDomainItems();
_owner.SortDomainItems();
}
}
}
/// <summary>
/// </summary>
public override int Add(object item)
public override int Add(object? item)
{
// Overridden to perform sorting after adding an item
int ret = base.Add(item);
if (owner.Sorted)
if (_owner.Sorted)
{
owner.SortDomainItems();
_owner.SortDomainItems();
}
return ret;
@ -67,7 +65,7 @@ namespace System.Windows.Forms
/// <summary>
/// </summary>
public override void Remove(object item)
public override void Remove(object? item)
{
int index = IndexOf(item);
@ -88,27 +86,26 @@ namespace System.Windows.Forms
// Overridden to update the domain index if necessary
base.RemoveAt(item);
if (item < owner._domainIndex)
if (item < _owner._domainIndex)
{
// The item removed was before the currently selected item
owner.SelectIndex(owner._domainIndex - 1);
_owner.SelectIndex(_owner._domainIndex - 1);
}
else if (item == owner._domainIndex)
else if (item == _owner._domainIndex)
{
// The currently selected item was removed
//
owner.SelectIndex(-1);
_owner.SelectIndex(-1);
}
}
/// <summary>
/// </summary>
public override void Insert(int index, object item)
public override void Insert(int index, object? item)
{
base.Insert(index, item);
if (owner.Sorted)
if (_owner.Sorted)
{
owner.SortDomainItems();
_owner.SortDomainItems();
}
}
}

4
src/System.Windows.Forms/src/System/Windows/Forms/DomainUpDown.DomainUpDownItemCompare.cs

@ -2,8 +2,6 @@
// The .NET Foundation licenses this file to you under the MIT license.
// See the LICENSE file in the project root for more information.
#nullable disable
using System.Collections;
using System.Globalization;
@ -13,7 +11,7 @@ namespace System.Windows.Forms
{
private sealed class DomainUpDownItemCompare : IComparer
{
public int Compare(object p, object q)
public int Compare(object? p, object? q)
{
if (p == q)
{

28
src/System.Windows.Forms/src/System/Windows/Forms/DomainUpDown.cs

@ -2,8 +2,6 @@
// The .NET Foundation licenses this file to you under the MIT license.
// See the LICENSE file in the project root for more information.
#nullable disable
using System.Collections;
using System.ComponentModel;
using System.Diagnostics;
@ -28,13 +26,13 @@ namespace System.Windows.Forms
/// <summary>
/// Allowable strings for the domain updown.
/// </summary>
private DomainUpDownItemCollection _domainItems;
private DomainUpDownItemCollection? _domainItems;
private string _stringValue = s_defaultValue; // Current string value
private int _domainIndex = -1; // Index in the domain list
private bool _sorted; // Sort the domain values
private EventHandler _onSelectedItemChanged;
private EventHandler? _onSelectedItemChanged;
private bool _inSort;
@ -83,7 +81,7 @@ namespace System.Windows.Forms
[Browsable(false)]
[EditorBrowsable(EditorBrowsableState.Never)]
public new event EventHandler PaddingChanged
public new event EventHandler? PaddingChanged
{
add => base.PaddingChanged += value;
remove => base.PaddingChanged -= value;
@ -132,7 +130,7 @@ namespace System.Windows.Forms
[Browsable(false)]
[DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)]
[SRDescription(nameof(SR.DomainUpDownSelectedItemDescr))]
public object SelectedItem
public object? SelectedItem
{
get
{
@ -142,7 +140,6 @@ namespace System.Windows.Forms
set
{
// Treat null as selecting no item
//
if (value is null)
{
SelectedIndex = -1;
@ -150,7 +147,6 @@ namespace System.Windows.Forms
else
{
// Attempt to find the given item in the list of items
//
for (int i = 0; i < Items.Count; i++)
{
if (value.Equals(Items[i]))
@ -208,7 +204,7 @@ namespace System.Windows.Forms
/// </summary>
[SRCategory(nameof(SR.CatBehavior))]
[SRDescription(nameof(SR.DomainUpDownOnSelectedItemChangedDescr))]
public event EventHandler SelectedItemChanged
public event EventHandler? SelectedItemChanged
{
add => _onSelectedItemChanged += value;
remove => _onSelectedItemChanged -= value;
@ -229,7 +225,6 @@ namespace System.Windows.Forms
public override void DownButton()
{
// Make sure domain values exist, and there are >0 items
//
if (_domainItems is null)
{
return;
@ -326,11 +321,11 @@ namespace System.Windows.Forms
{
if (complete)
{
found = Items[index].ToString().Equals(text);
found = Items[index]!.ToString()!.Equals(text);
}
else
{
found = Items[index].ToString().ToUpper(CultureInfo.InvariantCulture).StartsWith(text);
found = Items[index]!.ToString()!.ToUpper(CultureInfo.InvariantCulture).StartsWith(text);
}
if (found)
@ -355,7 +350,7 @@ namespace System.Windows.Forms
/// values is called OnSelectedItemChanged - so just forward it to that
/// function.
/// </summary>
protected override void OnChanged(object source, EventArgs e)
protected override void OnChanged(object? source, EventArgs e)
{
OnSelectedItemChanged(source, e);
}
@ -365,7 +360,7 @@ namespace System.Windows.Forms
/// event, using the input character to find the next matching item in our
/// item collection.
/// </summary>
protected override void OnTextBoxKeyPress(object source, KeyPressEventArgs e)
protected override void OnTextBoxKeyPress(object? source, KeyPressEventArgs e)
{
if (ReadOnly)
{
@ -398,7 +393,7 @@ namespace System.Windows.Forms
/// <summary>
/// Raises the <see cref="SelectedItemChanged"/> event.
/// </summary>
protected void OnSelectedItemChanged(object source, EventArgs e)
protected void OnSelectedItemChanged(object? source, EventArgs e)
{
// Call the event handler
_onSelectedItemChanged?.Invoke(this, e);
@ -421,11 +416,10 @@ namespace System.Windows.Forms
}
// If the selected index has changed, update the text
//
_domainIndex = index;
if (_domainIndex >= 0)
{
_stringValue = _domainItems[_domainIndex].ToString();
_stringValue = _domainItems[_domainIndex]!.ToString()!;
UserEdit = false;
UpdateEditText();
}

Loading…
Cancel
Save