|
// Licensed to the .NET Foundation under one or more agreements.
// The .NET Foundation licenses this file to you under the MIT license.
using System.Collections;
namespace System.Windows.Forms.Design.Behavior;
/// <summary>
/// A strongly-typed collection that stores Behavior.Glyph objects.
/// </summary>
public class GlyphCollection : CollectionBase
{
/// <summary>
/// Initializes a new instance of Behavior.GlyphCollection.
/// </summary>
public GlyphCollection()
{
}
/// <summary>
/// Initializes a new instance of Behavior.GlyphCollection based on another Behavior.GlyphCollection.
/// </summary>
public GlyphCollection(GlyphCollection value)
{
AddRange(value);
}
/// <summary>
/// Initializes a new instance of Behavior.GlyphCollection containing any array of Behavior.Glyph objects.
/// </summary>
public GlyphCollection(Glyph[] value)
{
AddRange(value);
}
/// <summary>
/// Represents the entry at the specified index of the Behavior.Glyph.
/// </summary>
public Glyph this[int index]
{
get => (Glyph)List[index]!;
set => List[index] = value;
}
/// <summary>
/// Adds a Behavior.Glyph with the specified value to the
/// Behavior.GlyphCollection .
/// </summary>
public int Add(Glyph value)
{
return List.Add(value);
}
/// <summary>
/// Copies the elements of an array to the end of the Behavior.GlyphCollection.
/// </summary>
public void AddRange(params Glyph[] value)
{
for (int i = 0; i < value.Length; i += 1)
{
Add(value[i]);
}
}
/// <summary>
/// Adds the contents of another Behavior.GlyphCollection to the end of the collection.
/// </summary>
public void AddRange(GlyphCollection value)
{
for (int i = 0; i < value.Count; i += 1)
{
Add(value[i]);
}
}
/// <summary>
/// Gets a value indicating whether the
/// Behavior.GlyphCollection contains the specified Behavior.Glyph.
/// </summary>
public bool Contains(Glyph value)
{
return List.Contains(value);
}
/// <summary>
/// Copies the Behavior.GlyphCollection values to a one-dimensional
/// <see cref="Array"/> instance at the specified index.
/// </summary>
public void CopyTo(Glyph[] array, int index)
{
List.CopyTo(array, index);
}
/// <summary>
/// Returns the index of a Behavior.Glyph in
/// the Behavior.GlyphCollection .
/// </summary>
public int IndexOf(Glyph value)
{
return List.IndexOf(value);
}
/// <summary>
/// Inserts a Behavior.Glyph into the Behavior.GlyphCollection at the specified index.
/// </summary>
public void Insert(int index, Glyph value)
{
List.Insert(index, value);
}
/// <summary>
/// Removes a specific Behavior.Glyph from the
/// Behavior.GlyphCollection .
/// </summary>
public void Remove(Glyph value)
{
// Its possible that the value doesn't exist in the list in case of an `Undo` operation
if (List.Contains(value))
{
List.Remove(value);
}
}
}
|