Skip to content

Commit

Permalink
add method to configure panel
Browse files Browse the repository at this point in the history
remove width/height methods
  • Loading branch information
ghzdude committed Jan 20, 2025
1 parent 18b9b16 commit 408204c
Show file tree
Hide file tree
Showing 12 changed files with 49 additions and 46 deletions.
12 changes: 4 additions & 8 deletions src/main/java/gregtech/api/cover/CoverWithUI.java
Original file line number Diff line number Diff line change
Expand Up @@ -69,24 +69,20 @@ default GTGuiTheme getUITheme() {

@Override
default ModularPanel buildUI(SidedPosGuiData guiData, PanelSyncManager guiSyncManager) {
var panel = GTGuis.createPanel(getPickItem(), getWidth(), getHeight());
var panel = confgurePanel(GTGuis.createPanel(getPickItem(), 100, 100), false);
var w = createUI(panel, guiSyncManager);
return panel.childIf(w != null, w)
.child(createTitleRow(getPickItem()).pos(5, 5))
.bindPlayerInventory();
}

default int getWidth() {
return 176;
}

default int getHeight() {
return 192;
default ModularPanel confgurePanel(ModularPanel panel, boolean isSmallGui) {
return panel;
}

default @NotNull ModularPanel getSmallGUI(@NotNull SidedPosGuiData guiData,
@NotNull PanelSyncManager guiSyncManager) {
var panel = GTGuis.createPopupPanel(getPickItem().getTranslationKey(), getWidth(), 100);
var panel = confgurePanel(GTGuis.createPopupPanel(getPickItem().getTranslationKey(), 100, 100), true);
var w = createUI(panel, guiSyncManager);
return panel.childIf(w != null, w)
.child(createTitleRow(getPickItem()).pos(5, 5))
Expand Down
7 changes: 4 additions & 3 deletions src/main/java/gregtech/common/covers/CoverConveyor.java
Original file line number Diff line number Diff line change
Expand Up @@ -62,6 +62,7 @@
import it.unimi.dsi.fastutil.objects.Object2ObjectOpenCustomHashMap;
import it.unimi.dsi.fastutil.objects.ObjectOpenCustomHashSet;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;

import java.util.Collections;
import java.util.Map;
Expand Down Expand Up @@ -502,11 +503,11 @@ public boolean usesMui2() {
}

@Override
public int getHeight() {
return 192 + 18;
public ModularPanel confgurePanel(ModularPanel panel, boolean isSmallGui) {
return panel.height(210);
}

public @NotNull ParentWidget<Column> createUI(ModularPanel mainPanel, PanelSyncManager guiSyncManager) {
public @Nullable ParentWidget<?> createUI(ModularPanel mainPanel, PanelSyncManager guiSyncManager) {
getItemFilterContainer().setMaxTransferSize(getMaxStackSize());

var column = new Column().top(24).margin(7, 0)
Expand Down
7 changes: 4 additions & 3 deletions src/main/java/gregtech/common/covers/CoverFluidRegulator.java
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,7 @@
import it.unimi.dsi.fastutil.objects.Object2IntOpenHashMap;
import org.apache.logging.log4j.message.FormattedMessage;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;

import java.util.Arrays;
import java.util.Map;
Expand Down Expand Up @@ -241,12 +242,12 @@ private boolean shouldDisplayAmountSlider() {
}

@Override
public int getHeight() {
return super.getHeight() + 36;
public ModularPanel confgurePanel(ModularPanel panel, boolean isSmallGui) {
return panel.height(228);
}

@Override
public @NotNull ParentWidget<?> createUI(ModularPanel mainPanel, PanelSyncManager syncManager) {
public @Nullable ParentWidget<?> createUI(ModularPanel mainPanel, PanelSyncManager syncManager) {
var transferMode = new EnumSyncValue<>(TransferMode.class, this::getTransferMode, this::setTransferMode);
transferMode.updateCacheFromSource(true);
syncManager.syncValue("transfer_mode", transferMode);
Expand Down
7 changes: 4 additions & 3 deletions src/main/java/gregtech/common/covers/CoverFluidVoiding.java
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,7 @@
import com.cleanroommc.modularui.widgets.ToggleButton;
import com.cleanroommc.modularui.widgets.layout.Row;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;

public class CoverFluidVoiding extends CoverPump {

Expand Down Expand Up @@ -70,12 +71,12 @@ public void renderCover(@NotNull CCRenderState renderState, @NotNull Matrix4 tra
}

@Override
public int getHeight() {
return super.getHeight() - 22;
public ModularPanel confgurePanel(ModularPanel panel, boolean isSmallGui) {
return panel.height(170);
}

@Override
public @NotNull ParentWidget<?> createUI(ModularPanel mainPanel, PanelSyncManager syncManager) {
public @Nullable ParentWidget<?> createUI(ModularPanel mainPanel, PanelSyncManager syncManager) {
var isWorking = new BooleanSyncValue(this::isWorkingEnabled, this::setWorkingEnabled);

return super.createUI(mainPanel, syncManager)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,7 @@
import com.cleanroommc.modularui.widget.ParentWidget;
import com.cleanroommc.modularui.widgets.textfield.TextFieldWidget;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;

import java.util.function.Predicate;

Expand Down Expand Up @@ -99,12 +100,13 @@ public VoidingMode getVoidingMode() {
}

@Override
public int getHeight() {
return super.getHeight() + 42;
public ModularPanel confgurePanel(ModularPanel panel, boolean isSmallGui) {
return super.confgurePanel(panel, isSmallGui)
.height(212);
}

@Override
public @NotNull ParentWidget<?> createUI(ModularPanel mainPanel, PanelSyncManager syncManager) {
public @Nullable ParentWidget<?> createUI(ModularPanel mainPanel, PanelSyncManager syncManager) {
var voidingMode = new EnumSyncValue<>(VoidingMode.class, this::getVoidingMode, this::setVoidingMode);
syncManager.syncValue("voiding_mode", voidingMode);

Expand Down
9 changes: 5 additions & 4 deletions src/main/java/gregtech/common/covers/CoverItemVoiding.java
Original file line number Diff line number Diff line change
Expand Up @@ -28,9 +28,9 @@
import com.cleanroommc.modularui.value.sync.PanelSyncManager;
import com.cleanroommc.modularui.widget.ParentWidget;
import com.cleanroommc.modularui.widgets.ToggleButton;
import com.cleanroommc.modularui.widgets.layout.Column;
import com.cleanroommc.modularui.widgets.layout.Row;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;

public class CoverItemVoiding extends CoverConveyor {

Expand Down Expand Up @@ -72,12 +72,13 @@ void voidAny(IItemHandler myItemHandler) {
}

@Override
public int getHeight() {
return 192 - 22;
public ModularPanel confgurePanel(ModularPanel panel, boolean isSmallGui) {
return super.confgurePanel(panel, isSmallGui)
.height(170);
}

@Override
public @NotNull ParentWidget<Column> createUI(ModularPanel mainPanel, PanelSyncManager guiSyncManager) {
public @Nullable ParentWidget<?> createUI(ModularPanel mainPanel, PanelSyncManager guiSyncManager) {
var isWorking = new BooleanSyncValue(this::isWorkingEnabled, this::setWorkingEnabled);

return super.createUI(mainPanel, guiSyncManager)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -23,10 +23,10 @@
import com.cleanroommc.modularui.value.sync.PanelSyncManager;
import com.cleanroommc.modularui.value.sync.StringSyncValue;
import com.cleanroommc.modularui.widget.ParentWidget;
import com.cleanroommc.modularui.widgets.layout.Column;
import com.cleanroommc.modularui.widgets.layout.Row;
import com.cleanroommc.modularui.widgets.textfield.TextFieldWidget;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;

import java.util.Map;

Expand Down Expand Up @@ -88,12 +88,13 @@ protected void voidOverflow(IItemHandler myItemHandler) {
}

@Override
public int getHeight() {
return 192 + 18;
public ModularPanel confgurePanel(ModularPanel panel, boolean isSmallGui) {
return super.confgurePanel(panel, isSmallGui)
.height(210);
}

@Override
public @NotNull ParentWidget<Column> createUI(ModularPanel mainPanel, PanelSyncManager guiSyncManager) {
public @Nullable ParentWidget<?> createUI(ModularPanel mainPanel, PanelSyncManager guiSyncManager) {
var voidingMode = new EnumSyncValue<>(VoidingMode.class, this::getVoidingMode, this::setVoidingMode);
guiSyncManager.syncValue("voiding_mode", voidingMode);

Expand Down
2 changes: 1 addition & 1 deletion src/main/java/gregtech/common/covers/CoverPump.java
Original file line number Diff line number Diff line change
Expand Up @@ -187,7 +187,7 @@ public boolean usesMui2() {
return true;
}

public @NotNull ParentWidget<?> createUI(ModularPanel mainPanel, PanelSyncManager syncManager) {
public @Nullable ParentWidget<?> createUI(ModularPanel mainPanel, PanelSyncManager syncManager) {
getFluidFilterContainer().setMaxTransferSize(getMaxTransferRate());
var manualIOmode = new EnumSyncValue<>(ManualImportExportMode.class,
this::getManualImportExportMode, this::setManualImportExportMode);
Expand Down
9 changes: 5 additions & 4 deletions src/main/java/gregtech/common/covers/CoverRoboticArm.java
Original file line number Diff line number Diff line change
Expand Up @@ -25,10 +25,10 @@
import com.cleanroommc.modularui.value.sync.PanelSyncManager;
import com.cleanroommc.modularui.value.sync.StringSyncValue;
import com.cleanroommc.modularui.widget.ParentWidget;
import com.cleanroommc.modularui.widgets.layout.Column;
import com.cleanroommc.modularui.widgets.layout.Row;
import com.cleanroommc.modularui.widgets.textfield.TextFieldWidget;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;

import java.util.Iterator;
import java.util.Map;
Expand Down Expand Up @@ -191,12 +191,13 @@ private boolean shouldDisplayAmountSlider() {
}

@Override
public int getHeight() {
return 192 + 36 + 18 + 2;
public ModularPanel confgurePanel(ModularPanel panel, boolean isSmallGui) {
return super.confgurePanel(panel, isSmallGui)
.height(248);
}

@Override
public @NotNull ParentWidget<Column> createUI(ModularPanel mainPanel, PanelSyncManager guiSyncManager) {
public @Nullable ParentWidget<?> createUI(ModularPanel mainPanel, PanelSyncManager guiSyncManager) {
EnumSyncValue<TransferMode> transferMode = new EnumSyncValue<>(TransferMode.class, this::getTransferMode,
this::setTransferMode);
guiSyncManager.syncValue("transfer_mode", transferMode);
Expand Down
10 changes: 4 additions & 6 deletions src/main/java/gregtech/common/covers/CoverStorage.java
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,6 @@
import gregtech.api.cover.CoverDefinition;
import gregtech.api.cover.CoverWithUI;
import gregtech.api.cover.CoverableView;
import gregtech.api.mui.GTGuis;
import gregtech.client.renderer.texture.Textures;

import net.minecraft.entity.player.EntityPlayer;
Expand All @@ -22,12 +21,11 @@
import codechicken.lib.render.pipeline.IVertexOperation;
import codechicken.lib.vec.Cuboid6;
import codechicken.lib.vec.Matrix4;
import com.cleanroommc.modularui.api.drawable.IKey;
import com.cleanroommc.modularui.api.widget.IWidget;
import com.cleanroommc.modularui.factory.SidedPosGuiData;
import com.cleanroommc.modularui.screen.ModularPanel;
import com.cleanroommc.modularui.value.sync.PanelSyncManager;
import com.cleanroommc.modularui.value.sync.SyncHandlers;
import com.cleanroommc.modularui.widget.ParentWidget;
import com.cleanroommc.modularui.widgets.ItemSlot;
import com.cleanroommc.modularui.widgets.layout.Grid;
import org.jetbrains.annotations.ApiStatus;
Expand Down Expand Up @@ -89,12 +87,12 @@ public boolean usesMui2() {
}

@Override
public int getHeight() {
return MAX_HEIGHT;
public ModularPanel confgurePanel(ModularPanel panel, boolean isSmallGui) {
return panel.height(MAX_HEIGHT);
}

@Override
public @Nullable IWidget createUI(ModularPanel mainPanel, PanelSyncManager manager) {
public @Nullable ParentWidget<?> createUI(ModularPanel mainPanel, PanelSyncManager manager) {
manager.registerSlotGroup("item_inv", this.storageHandler.getSlots());

int rowSize = this.storageHandler.getSlots();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -30,14 +30,14 @@
import com.cleanroommc.modularui.drawable.DynamicDrawable;
import com.cleanroommc.modularui.drawable.GuiTextures;
import com.cleanroommc.modularui.drawable.Rectangle;
import com.cleanroommc.modularui.factory.SidedPosGuiData;
import com.cleanroommc.modularui.network.NetworkUtils;
import com.cleanroommc.modularui.screen.ModularPanel;
import com.cleanroommc.modularui.utils.Color;
import com.cleanroommc.modularui.value.sync.BooleanSyncValue;
import com.cleanroommc.modularui.value.sync.PanelSyncHandler;
import com.cleanroommc.modularui.value.sync.PanelSyncManager;
import com.cleanroommc.modularui.value.sync.StringSyncValue;
import com.cleanroommc.modularui.widget.ParentWidget;
import com.cleanroommc.modularui.widgets.ButtonWidget;
import com.cleanroommc.modularui.widgets.ListWidget;
import com.cleanroommc.modularui.widgets.ToggleButton;
Expand Down Expand Up @@ -138,7 +138,7 @@ public boolean usesMui2() {
}

@Override
public @NotNull IWidget createUI(ModularPanel panel, PanelSyncManager manager) {
public @NotNull ParentWidget<?> createUI(ModularPanel panel, PanelSyncManager manager) {
var name = new StringSyncValue(this::getColorStr, this::updateColor);

var entrySelectorSH = createEntrySelector(panel);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@
import com.cleanroommc.modularui.value.sync.EnumSyncValue;
import com.cleanroommc.modularui.value.sync.PanelSyncHandler;
import com.cleanroommc.modularui.value.sync.PanelSyncManager;
import com.cleanroommc.modularui.widgets.layout.Column;
import com.cleanroommc.modularui.widget.ParentWidget;
import org.jetbrains.annotations.NotNull;

import java.util.UUID;
Expand Down Expand Up @@ -151,15 +151,16 @@ protected IWidget createEntrySlot() {
.marginRight(2);
}

protected Column createWidgets(ModularPanel panel, PanelSyncManager syncManager) {
@Override
public @NotNull ParentWidget<?> createUI(ModularPanel panel, PanelSyncManager manager) {
getFluidFilterContainer().setMaxTransferSize(1);

var pumpMode = new EnumSyncValue<>(CoverPump.PumpMode.class, this::getPumpMode, this::setPumpMode);
syncManager.syncValue("pump_mode", pumpMode);
manager.syncValue("pump_mode", pumpMode);
pumpMode.updateCacheFromSource(true);

return super.createWidgets(panel, syncManager)
.child(getFluidFilterContainer().initUI(panel, syncManager))
return super.createUI(panel, manager)
.child(getFluidFilterContainer().initUI(panel, manager))
.child(new EnumRowBuilder<>(CoverPump.PumpMode.class)
.value(pumpMode)
.overlay(GTGuiTextures.CONVEYOR_MODE_OVERLAY)
Expand Down

0 comments on commit 408204c

Please sign in to comment.