From 9c947c48987932aef31fba164545bbe66b485e0e Mon Sep 17 00:00:00 2001 From: Speiger Date: Thu, 9 Sep 2021 23:14:14 +0200 Subject: [PATCH] Added Base Classes for interactable List/TreeEntries --- .../gui/components/WindowComponent.java | 1 + .../list/BaseClickableListEntry.java | 88 +++++++++++++++++++ .../tree/BaseClickableTreeEntry.java | 20 ++++- 3 files changed, 105 insertions(+), 4 deletions(-) create mode 100644 src/main/java/speiger/src/coreengine/rendering/gui/components/list/BaseClickableListEntry.java diff --git a/src/main/java/speiger/src/coreengine/rendering/gui/components/WindowComponent.java b/src/main/java/speiger/src/coreengine/rendering/gui/components/WindowComponent.java index a665279..104cbcc 100644 --- a/src/main/java/speiger/src/coreengine/rendering/gui/components/WindowComponent.java +++ b/src/main/java/speiger/src/coreengine/rendering/gui/components/WindowComponent.java @@ -41,6 +41,7 @@ public class WindowComponent extends PanelComponent implements IButtonComponent, public static final int DEFAULT_FLAGS = WINDOW_FLAGS | FLAG_RESIZEABLE | FLAG_MOVEABLE; public static final int FIXED_SIZE_WINDOW = WINDOW_FLAGS | FLAG_MOVEABLE; public static final int FIXED_SIZE_POPUP = WINDOW_FLAG_CLOSEABLE | FLAG_MOVEABLE; + public static final int DYNAMIC_POPUP = FIXED_SIZE_POPUP | FLAG_RESIZEABLE; public static final int UNCLOSEABLE_WINDOW = WINDOW_FLAG_MINIMIZEABLE | FLAG_RESIZEABLE | FLAG_MOVEABLE; public static final int SUB_WINDOW = WINDOW_FLAG_MINIMIZEABLE | FLAG_RESIZEABLE | FLAG_RESIZE_INVERT; diff --git a/src/main/java/speiger/src/coreengine/rendering/gui/components/list/BaseClickableListEntry.java b/src/main/java/speiger/src/coreengine/rendering/gui/components/list/BaseClickableListEntry.java new file mode 100644 index 0000000..fa438cf --- /dev/null +++ b/src/main/java/speiger/src/coreengine/rendering/gui/components/list/BaseClickableListEntry.java @@ -0,0 +1,88 @@ +package speiger.src.coreengine.rendering.gui.components.list; + +import java.util.Map; +import java.util.UUID; + +import speiger.src.coreengine.rendering.gui.GuiComponent; +import speiger.src.coreengine.rendering.gui.base.IButtonComponent; + +public class BaseClickableListEntry extends BaseListEntry implements IButtonComponent +{ + @Override + public boolean isComponentColliding(int mouseX, int mouseY) + { + for(int i = 0,m=components.size();i collector) + { + for(int i = 0,m=components.size();i collector) + { + for(int i = 0,m=components.size();i