From 869c206c4fcc8001bd2e1d66f704290331813835 Mon Sep 17 00:00:00 2001 From: Draknyte1 Date: Wed, 20 Jan 2016 14:24:34 +1000 Subject: Initial Commit --- .../binnie/craftgui/controls/core/Control.java | 85 ++++++++++++++++++++++ .../craftgui/controls/core/IControlIndexed.java | 8 ++ .../craftgui/controls/core/IControlValue.java | 11 +++ .../craftgui/controls/core/IControlValues.java | 11 +++ 4 files changed, 115 insertions(+) create mode 100644 src/Java/binnie/craftgui/controls/core/Control.java create mode 100644 src/Java/binnie/craftgui/controls/core/IControlIndexed.java create mode 100644 src/Java/binnie/craftgui/controls/core/IControlValue.java create mode 100644 src/Java/binnie/craftgui/controls/core/IControlValues.java (limited to 'src/Java/binnie/craftgui/controls/core') diff --git a/src/Java/binnie/craftgui/controls/core/Control.java b/src/Java/binnie/craftgui/controls/core/Control.java new file mode 100644 index 0000000000..f5f7bddabb --- /dev/null +++ b/src/Java/binnie/craftgui/controls/core/Control.java @@ -0,0 +1,85 @@ +package binnie.craftgui.controls.core; + +import binnie.craftgui.core.Attribute; +import binnie.craftgui.core.ITooltip; +import binnie.craftgui.core.ITooltipHelp; +import binnie.craftgui.core.IWidget; +import binnie.craftgui.core.Tooltip; +import binnie.craftgui.core.Widget; +import binnie.craftgui.core.geometry.IArea; +import binnie.craftgui.core.geometry.IPoint; +import binnie.craftgui.minecraft.Window; +import java.util.ArrayList; +import java.util.List; + +public class Control + extends Widget + implements ITooltipHelp, ITooltip +{ + public Control(IWidget parent, float x, float y, float w, float h) + { + super(parent); + setPosition(new IPoint(x, y)); + setSize(new IPoint(w, h)); + initialise(); + } + + public Control(IWidget parent, IArea area) + { + this(parent, area.x(), area.y(), area.w(), area.h()); + } + + List helpStrings = new ArrayList(); + List tooltipStrings = new ArrayList(); + + protected void initialise() {} + + public void onUpdateClient() {} + + public void addHelp(String string) + { + this.helpStrings.add(string); + } + + public void addHelp(String[] strings) + { + for (String string : strings) { + addHelp(string); + } + } + + public void addTooltip(String string) + { + addAttribute(Attribute.MouseOver); + this.tooltipStrings.add(string); + } + + public void addTooltip(String[] strings) + { + for (String string : strings) { + addTooltip(string); + } + } + + public int extraLevel = 0; + + public int getLevel() + { + return this.extraLevel + super.getLevel(); + } + + public void getHelpTooltip(Tooltip tooltip) + { + tooltip.add(this.helpStrings); + } + + public void getTooltip(Tooltip tooltip) + { + tooltip.add(this.tooltipStrings); + } + + public Window getWindow() + { + return (Window)getSuperParent(); + } +} diff --git a/src/Java/binnie/craftgui/controls/core/IControlIndexed.java b/src/Java/binnie/craftgui/controls/core/IControlIndexed.java new file mode 100644 index 0000000000..a30bceb76c --- /dev/null +++ b/src/Java/binnie/craftgui/controls/core/IControlIndexed.java @@ -0,0 +1,8 @@ +package binnie.craftgui.controls.core; + +public abstract interface IControlIndexed +{ + public abstract int getIndex(); + + public abstract void setIndex(int paramInt); +} diff --git a/src/Java/binnie/craftgui/controls/core/IControlValue.java b/src/Java/binnie/craftgui/controls/core/IControlValue.java new file mode 100644 index 0000000000..9d44b8ad17 --- /dev/null +++ b/src/Java/binnie/craftgui/controls/core/IControlValue.java @@ -0,0 +1,11 @@ +package binnie.craftgui.controls.core; + +import binnie.craftgui.core.IWidget; + +public abstract interface IControlValue + extends IWidget +{ + public abstract T getValue(); + + public abstract void setValue(T paramT); +} diff --git a/src/Java/binnie/craftgui/controls/core/IControlValues.java b/src/Java/binnie/craftgui/controls/core/IControlValues.java new file mode 100644 index 0000000000..92bb5d1f13 --- /dev/null +++ b/src/Java/binnie/craftgui/controls/core/IControlValues.java @@ -0,0 +1,11 @@ +package binnie.craftgui.controls.core; + +import java.util.Collection; + +public abstract interface IControlValues + extends IControlValue +{ + public abstract Collection getValues(); + + public abstract void setValues(Collection paramCollection); +} -- cgit