aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/main/java/io/github/cottonmc/cotton/gui/GuiDescription.java2
-rw-r--r--src/main/java/io/github/cottonmc/cotton/gui/widget/WWidget.java33
2 files changed, 32 insertions, 3 deletions
diff --git a/src/main/java/io/github/cottonmc/cotton/gui/GuiDescription.java b/src/main/java/io/github/cottonmc/cotton/gui/GuiDescription.java
index a0b75cc..fec799b 100644
--- a/src/main/java/io/github/cottonmc/cotton/gui/GuiDescription.java
+++ b/src/main/java/io/github/cottonmc/cotton/gui/GuiDescription.java
@@ -45,7 +45,7 @@ public interface GuiDescription {
@Nullable
public WWidget getFocus();
- /** Notifies this gui that the widget waants to acquire focus. */
+ /** Notifies this gui that the widget wants to acquire focus. */
public void requestFocus(WWidget widget);
/** Notifies this gui that the widget wants to give up its hold over focus. */
diff --git a/src/main/java/io/github/cottonmc/cotton/gui/widget/WWidget.java b/src/main/java/io/github/cottonmc/cotton/gui/widget/WWidget.java
index cee18d5..656f24f 100644
--- a/src/main/java/io/github/cottonmc/cotton/gui/widget/WWidget.java
+++ b/src/main/java/io/github/cottonmc/cotton/gui/widget/WWidget.java
@@ -4,13 +4,14 @@ import java.util.ArrayList;
import java.util.List;
import io.github.cottonmc.cotton.gui.GuiDescription;
-import io.github.cottonmc.cotton.gui.client.ScreenDrawing;
import net.fabricmc.api.EnvType;
import net.fabricmc.api.Environment;
import net.minecraft.client.MinecraftClient;
import net.minecraft.client.gui.screen.Screen;
import net.minecraft.client.util.math.MatrixStack;
import net.minecraft.text.Text;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
import javax.annotation.Nullable;
@@ -18,15 +19,22 @@ import javax.annotation.Nullable;
* The base class for all widgets.
*/
public class WWidget {
+ private static final Logger LOGGER = LogManager.getLogger();
+
/**
* The containing panel of this widget.
* Can be null if this widget is the root panel or a HUD widget.
*/
@Nullable
protected WPanel parent;
+
+ /** The X coordinate of this widget relative to its parent. */
protected int x = 0;
+ /** The Y coordinate of this widget relative to its parent. */
protected int y = 0;
+ /** The width of this widget, defaults to 18 pixels. */
protected int width = 18;
+ /** The height of this widget, defaults to 18 pixels. */
protected int height = 18;
/**
@@ -245,23 +253,44 @@ public class WWidget {
public void onFocusLost() {
}
+ /**
+ * Tests whether this widget has focus.
+ *
+ * @return true if this widget widget has focus, false otherwise
+ * @see GuiDescription#isFocused(WWidget)
+ */
public boolean isFocused() {
if (host==null) return false;
return host.isFocused(this);
}
+ /**
+ * If this widget has a host, requests the focus from the host.
+ *
+ * @see GuiDescription#requestFocus(WWidget)
+ */
public void requestFocus() {
if (host!=null) {
host.requestFocus(this);
} else {
- System.out.println("host is null");
+ LOGGER.warn("Requesting focus for {}, but the host is null", this);
}
}
+ /**
+ * If this widget has a host, releases this widget's focus.
+ *
+ * @see GuiDescription#releaseFocus(WWidget)
+ */
public void releaseFocus() {
if (host!=null) host.releaseFocus(this);
}
+ /**
+ * Tests whether this widget can have the focus in the GUI.
+ *
+ * @return true if this widget can be focused, false otherwise
+ */
public boolean canFocus() {
return false;
}