1
0
Fork 0
mirror of https://github.com/Ellpeck/MLEM.git synced 2024-06-06 14:53:37 +02:00

allow panel children to be ordered arbitrarily rather than requiring the scroll bar in the first index

This commit is contained in:
Ellpeck 2020-06-17 01:43:08 +02:00
parent 914761519f
commit 2d332c3a48

View file

@ -70,7 +70,8 @@ namespace MLEM.Ui.Elements {
return;
if (otherElement == null || !otherElement.GetParentTree().Contains(this))
return;
this.ScrollBar.CurrentValue = (otherElement.Area.Bottom - this.Children[1].Area.Top - this.Area.Height / 2) / this.Scale;
var firstChild = this.Children.First(c => !(c is ScrollBar));
this.ScrollBar.CurrentValue = (otherElement.Area.Bottom - firstChild.Area.Top - this.Area.Height / 2) / this.Scale;
};
this.AddChild(this.ScrollBar);
}
@ -205,7 +206,7 @@ namespace MLEM.Ui.Elements {
if (this.Children.Count == 1)
return;
// the "real" first child is the scroll bar, which we want to ignore
var firstChild = this.Children[1];
var firstChild = this.Children.First(c => !(c is ScrollBar));
var lowestChild = this.GetLowestChild(e => !e.IsHidden);
// the max value of the scrollbar is the amount of non-scaled pixels taken up by overflowing components
var childrenHeight = lowestChild.Area.Bottom - firstChild.Area.Top;