Re-implement GuiTextField without depending on the Minecraft Text Field

This commit is contained in:
johni0702
2015-11-27 15:22:06 +01:00
parent 859e9bb937
commit 6ee3ef229a
6 changed files with 648 additions and 139 deletions

View File

@@ -8,6 +8,7 @@ import de.johni0702.minecraft.gui.element.GuiLabel;
import de.johni0702.minecraft.gui.element.GuiPasswordField;
import de.johni0702.minecraft.gui.element.GuiTextField;
import de.johni0702.minecraft.gui.layout.CustomLayout;
import de.johni0702.minecraft.gui.utils.Consumer;
import eu.crushedpixel.replaymod.gui.GuiConstants;
public class GuiLoginPrompt extends AbstractGuiScreen<GuiLoginPrompt> {
@@ -72,9 +73,9 @@ public class GuiLoginPrompt extends AbstractGuiScreen<GuiLoginPrompt> {
new GuiRegister(apiClient, GuiLoginPrompt.this).display();
}
});
Runnable contentValidation = new Runnable() {
Consumer<String> contentValidation = new Consumer<String>() {
@Override
public void run() {
public void consume(String obj) {
loginButton.setEnabled(!username.getText().isEmpty() && !password.getText().isEmpty());
}
};

View File

@@ -9,6 +9,7 @@ import de.johni0702.minecraft.gui.element.*;
import de.johni0702.minecraft.gui.layout.CustomLayout;
import de.johni0702.minecraft.gui.layout.HorizontalLayout;
import de.johni0702.minecraft.gui.layout.VerticalLayout;
import de.johni0702.minecraft.gui.utils.Consumers;
import eu.crushedpixel.replaymod.gui.GuiConstants;
import eu.crushedpixel.replaymod.utils.EmailAddressUtils;
import eu.crushedpixel.replaymod.utils.RegexUtils;
@@ -137,7 +138,7 @@ public class GuiRegister extends AbstractGuiScreen<GuiRegister> {
}
}
};
inputs.forEach(IGuiTextField.class).onTextChanged(contentValidation);
inputs.forEach(IGuiTextField.class).onTextChanged(Consumers.from(contentValidation));
cancelButton.onClick(new Runnable() {
@Override