1
0
Fork 0
mirror of https://github.com/Ellpeck/MLEM.git synced 2024-11-25 14:08:34 +01:00

Compare commits

...

2 commits

2 changed files with 10 additions and 6 deletions

View file

@ -800,7 +800,7 @@ namespace MLEM.Ui.Elements {
if (condition != null && !condition(child)) if (condition != null && !condition(child))
continue; continue;
var x = !child.Anchor.IsLeftAligned() ? child.UnscrolledArea.Width : child.UnscrolledArea.Right; var x = !child.Anchor.IsLeftAligned() ? child.UnscrolledArea.Width : child.UnscrolledArea.Right;
if (child.UnscrolledArea.Right >= rightmostX) { if (x >= rightmostX) {
rightmost = child; rightmost = child;
rightmostX = x; rightmostX = x;
} }

View file

@ -32,11 +32,15 @@ namespace Tests {
invalidPanel.AddChild(new Paragraph(Anchor.AutoRight, 1, "This is some test text!", true)); invalidPanel.AddChild(new Paragraph(Anchor.AutoRight, 1, "This is some test text!", true));
invalidPanel.AddChild(new VerticalSpace(1)); invalidPanel.AddChild(new VerticalSpace(1));
Assert.Throws<ArithmeticException>(() => this.AddAndUpdate(invalidPanel)); Assert.Throws<ArithmeticException>(() => this.AddAndUpdate(invalidPanel));
}
invalidPanel = new Panel(Anchor.Center, Vector2.Zero, Vector2.Zero, true); [Test]
invalidPanel.AddChild(new Group(Anchor.CenterRight, new Vector2(10), false)); public void TestOddlyAlignedPanel() {
invalidPanel.AddChild(new Group(Anchor.BottomLeft, new Vector2(10), false)); var oddPanel = new Panel(Anchor.Center, Vector2.One, Vector2.Zero, true) {SetWidthBasedOnChildren = true};
Assert.Throws<InvalidOperationException>(() => this.AddAndUpdate(invalidPanel)); oddPanel.AddChild(new Group(Anchor.TopCenter, new Vector2(100), false));
oddPanel.AddChild(new Group(Anchor.AutoRight, new Vector2(120), false));
this.AddAndUpdate(oddPanel);
Assert.AreEqual(120 + 10, oddPanel.DisplayArea.Width);
} }
[Test] [Test]
@ -66,7 +70,7 @@ namespace Tests {
Assert.AreEqual(11, panel.GetChildren(regardGrandchildren: true).Count()); Assert.AreEqual(11, panel.GetChildren(regardGrandchildren: true).Count());
var testBtn = panel.GetChildren<Button>().First(); var testBtn = panel.GetChildren<Button>().First();
// panel's width is 150, minus child padding of 5 on each side, and scroll bar's width of 5 and gap of 1 // panel's width is 150, minus child padding of 5 on each side, and scroll bar's width of 5 and gap of 1
const int panelContentWidth = 150 - 5 - 5 - 5 - 1; const int panelContentWidth = 150 - 5 - 5 - 5 - 1;
Assert.AreEqual(testBtn.DisplayArea.Width, panelContentWidth); Assert.AreEqual(testBtn.DisplayArea.Width, panelContentWidth);
// button's width, minus child padding of 3 left and 3 right, divided by 2 because of group's width // button's width, minus child padding of 3 left and 3 right, divided by 2 because of group's width