Add reverse support for canonical instances

This commit is contained in:
Yoshi Askharoun
2024-12-29 17:17:40 -06:00
parent b41e796c46
commit 49c900fc22
6 changed files with 36 additions and 7 deletions
@@ -9,7 +9,7 @@ using Microsoft.Iris.Library;
namespace Microsoft.Iris.Layouts
{
internal class DockLayoutInput : ILayoutInput, IStringEncodable
internal class DockLayoutInput : ILayoutInput, IStringEncodable, IHasCanonicalInstances
{
public static readonly DockLayoutInput Left = new DockLayoutInput();
public static readonly DockLayoutInput Top = new DockLayoutInput();
@@ -35,12 +35,17 @@ namespace Microsoft.Iris.Layouts
return "Top";
if (this == Right)
return "Right";
return this == Bottom ? "Bottom" : "Client";
if (this == Bottom)
return "Bottom";
return "Client";
}
}
public override string ToString() => InvariantString.Format("{0}(Position={1})", GetType().Name, PositionString);
public string EncodeString() => PositionString;
public string GetCanonicalName() => PositionString;
}
}
+8 -3
View File
@@ -6,7 +6,7 @@
namespace Microsoft.Iris.Layouts
{
internal class PlacementMode
internal class PlacementMode : IHasCanonicalInstances
{
private PopupPosition[] _popupPositions;
private MouseTarget _mouseTarget;
@@ -50,7 +50,9 @@ namespace Microsoft.Iris.Layouts
internal bool UsesTargetSize => _usesTargetSize;
public override string ToString()
public override string ToString() => GetCanonicalName() ?? base.ToString();
public string GetCanonicalName()
{
if (this == s_origin)
return "Origin";
@@ -70,7 +72,10 @@ namespace Microsoft.Iris.Layouts
return "MouseBottom";
if (this == s_followMouseOrigin)
return "FollowMouseOrigin";
return this == s_followMouseBottom ? "FollowMouseBottom" : base.ToString();
if (this == s_followMouseBottom)
return "FollowMouseBottom";
return null;
}
public static PlacementMode Origin