mirror of
https://github.com/gui-cs/Terminal.Gui.git
synced 2025-12-28 00:38:00 +01:00
DimAuto -> use required on properties
This commit is contained in:
@@ -177,12 +177,17 @@ public abstract class Dim
|
||||
/// <param name="maximumContentDim">The maximum dimension the View's ContentSize will be fit to. NOT CURRENTLY SUPPORTED.</param>
|
||||
public static Dim? Auto (DimAutoStyle style = DimAutoStyle.Auto, Dim? minimumContentDim = null, Dim? maximumContentDim = null)
|
||||
{
|
||||
//if (maximumContentDim != null)
|
||||
//{
|
||||
// throw new NotImplementedException (@"maximumContentDim is not implemented");
|
||||
//}
|
||||
if (maximumContentDim is { })
|
||||
{
|
||||
Debug.WriteLine (@"WARNING: maximumContentDim is not fully implemented.");
|
||||
}
|
||||
|
||||
return new DimAuto (style, minimumContentDim, maximumContentDim);
|
||||
return new DimAuto ()
|
||||
{
|
||||
MinimumContentDim = minimumContentDim,
|
||||
MaximumContentDim = maximumContentDim,
|
||||
Style = style
|
||||
};
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@@ -380,46 +385,43 @@ public class DimAbsolute (int size) : Dim
|
||||
/// methods on the <see cref="Dim"/> class to create <see cref="Dim"/> objects instead.
|
||||
/// </para>
|
||||
/// </remarks>
|
||||
/// <param name="style">
|
||||
/// Specifies how <see cref="DimAuto"/> will compute the dimension. The default is <see cref="DimAutoStyle.Auto"/>.
|
||||
/// </param>
|
||||
/// <param name="minimumContentDim">The minimum dimension the View's ContentSize will be constrained to.</param>
|
||||
/// <param name="maximumContentDim">The maximum dimension the View's ContentSize will be fit to. NOT CURRENTLY SUPPORTED.</param>
|
||||
public class DimAuto (DimAutoStyle style, Dim? minimumContentDim, Dim? maximumContentDim) : Dim
|
||||
public class DimAuto () : Dim
|
||||
{
|
||||
/// <inheritdoc/>
|
||||
public override bool Equals (object? other)
|
||||
{
|
||||
if (other is not DimAuto auto)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
return auto.MinimumContentDim == MinimumContentDim &&
|
||||
auto.MaximumContentDim == MaximumContentDim &&
|
||||
auto.Style == Style;
|
||||
}
|
||||
|
||||
/// <inheritdoc/>
|
||||
public override int GetHashCode ()
|
||||
{
|
||||
return HashCode.Combine (MinimumContentDim, MaximumContentDim, Style);
|
||||
}
|
||||
private readonly Dim? _maximumContentDim;
|
||||
|
||||
/// <summary>
|
||||
/// Gets the maximum dimension the View's ContentSize will be fit to. NOT CURRENTLY SUPPORTED.
|
||||
/// </summary>
|
||||
public Dim? MaximumContentDim { get; } = maximumContentDim;
|
||||
// ReSharper disable once ConvertToAutoProperty
|
||||
public required Dim? MaximumContentDim
|
||||
{
|
||||
get => _maximumContentDim;
|
||||
init => _maximumContentDim = value;
|
||||
}
|
||||
|
||||
private readonly Dim? _minimumContentDim;
|
||||
|
||||
/// <summary>
|
||||
/// Gets the minimum dimension the View's ContentSize will be constrained to.
|
||||
/// </summary>
|
||||
public Dim? MinimumContentDim { get; } = minimumContentDim;
|
||||
// ReSharper disable once ConvertToAutoProperty
|
||||
public required Dim? MinimumContentDim
|
||||
{
|
||||
get => _minimumContentDim;
|
||||
init => _minimumContentDim = value;
|
||||
}
|
||||
|
||||
private readonly DimAutoStyle _style;
|
||||
|
||||
/// <summary>
|
||||
/// Gets the style of the DimAuto.
|
||||
/// </summary>
|
||||
public DimAutoStyle Style { get; } = style;
|
||||
// ReSharper disable once ConvertToAutoProperty
|
||||
public required DimAutoStyle Style
|
||||
{
|
||||
get => _style;
|
||||
init => _style = value;
|
||||
}
|
||||
|
||||
/// <inheritdoc/>
|
||||
public override string ToString () { return $"Auto({Style},{MinimumContentDim},{MaximumContentDim})"; }
|
||||
@@ -543,6 +545,26 @@ public class DimAuto (DimAutoStyle style, Dim? minimumContentDim, Dim? maximumCo
|
||||
// BUGBUG: This is not correct. _contentSize may be null.
|
||||
return false; //_style.HasFlag (DimAutoStyle.Content);
|
||||
}
|
||||
|
||||
/// <inheritdoc/>
|
||||
public override bool Equals (object? other)
|
||||
{
|
||||
if (other is not DimAuto auto)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
return auto.MinimumContentDim == MinimumContentDim &&
|
||||
auto.MaximumContentDim == MaximumContentDim &&
|
||||
auto.Style == Style;
|
||||
}
|
||||
|
||||
/// <inheritdoc/>
|
||||
public override int GetHashCode ()
|
||||
{
|
||||
return HashCode.Combine (MinimumContentDim, MaximumContentDim, Style);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
|
||||
Reference in New Issue
Block a user