From be44538d1fec75a411f2c098ea85c58156ae42ac Mon Sep 17 00:00:00 2001 From: TheYoingLad Date: Thu, 25 Jun 2026 09:29:01 +0200 Subject: [PATCH 1/2] added test --- .../cleanroommc/modularui/test/TestGuis.java | 34 +++++++++++++++++++ 1 file changed, 34 insertions(+) diff --git a/src/main/java/com/cleanroommc/modularui/test/TestGuis.java b/src/main/java/com/cleanroommc/modularui/test/TestGuis.java index ab04fdc60..4f68d5a51 100644 --- a/src/main/java/com/cleanroommc/modularui/test/TestGuis.java +++ b/src/main/java/com/cleanroommc/modularui/test/TestGuis.java @@ -84,6 +84,7 @@ import java.util.Comparator; import java.util.List; import java.util.Random; +import java.util.function.Supplier; import java.util.stream.Collectors; import java.util.stream.IntStream; @@ -761,6 +762,39 @@ public static ModularPanel buildContextMenu() { .usingScrollStep())); } + public static @NotNull ModularPanel buildCoverChildrenDraggableUI() { + int minSize = 8; + + ParentWidget p = new ParentWidget<>() + .coverChildren(minSize); + + Supplier> draggableSupplier = () -> new DraggableWidget<>().size(18).background(GuiTextures.MC_BUTTON); + + return ModularPanel.defaultPanel("main") + .size(500) + .child(Flow.col() + .center() + .coverChildren() + .child(Flow.row() + .coverChildrenHeight() + .fullWidth() + .mainAxisAlignment(Alignment.MainAxis.SPACE_BETWEEN) + .child(new ButtonWidget<>().overlay(GuiTextures.REMOVE) + .onMousePressed(i -> { + if(!p.getChildren().isEmpty()) + p.remove(0); + return true; + })) + .child(new ButtonWidget<>().overlay(GuiTextures.ADD) + .onMousePressed(i -> { + p.child(draggableSupplier.get()); + return true; + }))) + .child(p + .child(draggableSupplier.get()) + .child(draggableSupplier.get()))); + } + private static Rectangle rndRect(IntList colors, Random random) { int i = random.nextInt(colors.size()); int c = colors.removeInt(i); From 95cbd0a9e49d72fb9565f4cb7f2afb8dd5812193 Mon Sep 17 00:00:00 2001 From: TheYoingLad Date: Thu, 25 Jun 2026 11:17:23 +0200 Subject: [PATCH 2/2] refined test --- .../cleanroommc/modularui/test/TestGuis.java | 20 +++++++++++-------- 1 file changed, 12 insertions(+), 8 deletions(-) diff --git a/src/main/java/com/cleanroommc/modularui/test/TestGuis.java b/src/main/java/com/cleanroommc/modularui/test/TestGuis.java index 4f68d5a51..89047a9dd 100644 --- a/src/main/java/com/cleanroommc/modularui/test/TestGuis.java +++ b/src/main/java/com/cleanroommc/modularui/test/TestGuis.java @@ -765,15 +765,19 @@ public static ModularPanel buildContextMenu() { public static @NotNull ModularPanel buildCoverChildrenDraggableUI() { int minSize = 8; - ParentWidget p = new ParentWidget<>() - .coverChildren(minSize); + ParentWidget draggableParent = new ParentWidget<>() + .coverChildren(minSize) + .marginTop(18); + + ParentWidget subParent = new ParentWidget<>(); + +// subParent = Flow.col().center(); Supplier> draggableSupplier = () -> new DraggableWidget<>().size(18).background(GuiTextures.MC_BUTTON); return ModularPanel.defaultPanel("main") .size(500) - .child(Flow.col() - .center() + .child(subParent .coverChildren() .child(Flow.row() .coverChildrenHeight() @@ -781,16 +785,16 @@ public static ModularPanel buildContextMenu() { .mainAxisAlignment(Alignment.MainAxis.SPACE_BETWEEN) .child(new ButtonWidget<>().overlay(GuiTextures.REMOVE) .onMousePressed(i -> { - if(!p.getChildren().isEmpty()) - p.remove(0); + if (!draggableParent.getChildren().isEmpty()) + draggableParent.remove(0); return true; })) .child(new ButtonWidget<>().overlay(GuiTextures.ADD) .onMousePressed(i -> { - p.child(draggableSupplier.get()); + draggableParent.child(draggableSupplier.get()); return true; }))) - .child(p + .child(draggableParent .child(draggableSupplier.get()) .child(draggableSupplier.get()))); }