From 869c206c4fcc8001bd2e1d66f704290331813835 Mon Sep 17 00:00:00 2001 From: Draknyte1 Date: Wed, 20 Jan 2016 14:24:34 +1000 Subject: Initial Commit --- .../extratrees/kitchen/ControlDropdownButton.java | 36 ++++++++++++++++++++++ 1 file changed, 36 insertions(+) create mode 100644 src/Java/binnie/craftgui/extratrees/kitchen/ControlDropdownButton.java (limited to 'src/Java/binnie/craftgui/extratrees/kitchen/ControlDropdownButton.java') diff --git a/src/Java/binnie/craftgui/extratrees/kitchen/ControlDropdownButton.java b/src/Java/binnie/craftgui/extratrees/kitchen/ControlDropdownButton.java new file mode 100644 index 0000000000..069272b82a --- /dev/null +++ b/src/Java/binnie/craftgui/extratrees/kitchen/ControlDropdownButton.java @@ -0,0 +1,36 @@ +package binnie.craftgui.extratrees.kitchen; + +import binnie.craftgui.controls.button.ControlButton; +import binnie.craftgui.core.IWidget; +import binnie.craftgui.events.EventMouse.Down; +import binnie.craftgui.events.EventMouse.Down.Handler; +import binnie.craftgui.minecraft.Window; + +public abstract class ControlDropdownButton + extends ControlButton +{ + public ControlDropdownButton(IWidget parent, float x, float y, float width, float height, String text) + { + super(parent, x, y, width, height, text); + + addSelfEventHandler(new EventMouse.Down.Handler() + { + public void onEvent(EventMouse.Down event) + { + ControlDropDownMenu menu = (ControlDropDownMenu)ControlDropdownButton.this.getWidget(ControlDropDownMenu.class); + ControlDropdownButton.this.deleteChild((IWidget)ControlDropdownButton.this.getWidget(ControlDropDownMenu.class)); + if (ControlDropdownButton.this.getWidget(ControlDropDownMenu.class) == null) + { + menu = ControlDropdownButton.this.createDropDownMenu(); + Window.get(ControlDropdownButton.this.getWidget()).setFocusedWidget(menu); + } + else + { + ControlDropdownButton.this.deleteChild((IWidget)ControlDropdownButton.this.getWidget(ControlDropDownMenu.class)); + } + } + }); + } + + public abstract ControlDropDownMenu createDropDownMenu(); +} -- cgit