From 5b167351b0dab7ef35503bb89ad38748b0706acc Mon Sep 17 00:00:00 2001 From: CrushedPixel Date: Sun, 19 Jul 2015 02:33:02 +0200 Subject: [PATCH] ComposedElement initially sorts its elements and respects their elements' y position if both are Dropdowns --- .../crushedpixel/replaymod/gui/elements/ComposedElement.java | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/main/java/eu/crushedpixel/replaymod/gui/elements/ComposedElement.java b/src/main/java/eu/crushedpixel/replaymod/gui/elements/ComposedElement.java index 90376fcd..4916eded 100644 --- a/src/main/java/eu/crushedpixel/replaymod/gui/elements/ComposedElement.java +++ b/src/main/java/eu/crushedpixel/replaymod/gui/elements/ComposedElement.java @@ -14,6 +14,7 @@ public class ComposedElement implements GuiElement { public ComposedElement(GuiElement...parts) { this.parts = new ArrayList(Arrays.asList(parts)); + Collections.sort(this.parts, COMPOSED_ELEMENT_COMPARATOR); } public void addPart(GuiElement part) { @@ -98,6 +99,10 @@ public class ComposedElement implements GuiElement { Boolean d1 = o1 instanceof GuiDropdown; Boolean d2 = o2 instanceof GuiDropdown; + if(d1 && d2) { + return -new Integer(((GuiDropdown)o1).yPosition).compareTo(((GuiDropdown)o2).yPosition); + } + return d1.compareTo(d2); }