package com.gameminers.glasspane.testharness; import gminers.glasspane.GlassPane; import gminers.glasspane.HorzAlignment; import gminers.glasspane.VertAlignment; import gminers.glasspane.component.button.PaneButton; import gminers.glasspane.component.button.PaneCheckBox; import gminers.glasspane.component.button.PaneImageButton; import gminers.glasspane.component.button.PaneRadioButton; import gminers.glasspane.component.button.PaneToggleButton; import gminers.glasspane.component.button.RadioButtonGroup; import gminers.glasspane.component.text.PaneLabel; import gminers.kitchensink.RandomPool; import net.minecraft.util.ResourceLocation; public class PaneTestButtons extends GlassPane { private String[] textures = { "textures/items/diamond_sword.png", "textures/items/diamond_pickaxe.png", "textures/items/diamond_axe.png", "textures/items/diamond_shovel.png", "textures/items/diamond_helmet.png", "textures/items/diamond_chestplate.png", "textures/items/diamond_leggings.png", "textures/items/diamond_boots.png" }; public PaneTestButtons() { setName("Buttons"); add(PaneButton.createDoneButton()); add(PaneTestHarness.createGithubButton("PaneTestButtons.java"), PaneTestHarness.createFlipButton()); final PaneButton basic = new PaneButton("Basic Button"); basic.setX(10); basic.setY(10); basic.setWidth(98); add(basic); final PaneButton colored = new PaneButton("Colored Button"); colored.setButtonColor(0xFF0000); colored.setColor(0xFFFF00); colored.setHoveredColor(0x0000FF); colored.registerActivationListener(new Runnable() { @Override public void run() { colored.setButtonColor(RandomPool.nextInt()); colored.setHoveredColor(RandomPool.nextInt()); colored.setColor(RandomPool.nextInt()); } }); colored.setX(110); colored.setY(10); colored.setWidth(98); add(colored); final PaneImageButton imageButton = new PaneImageButton(); imageButton.setImage(new ResourceLocation("textures/items/diamond.png")); imageButton.setText("Image Button"); imageButton.setX(10); imageButton.setY(34); add(imageButton); PaneToggleButton toggleButton = new PaneToggleButton("Toggle Button"); toggleButton.setX(10); toggleButton.setY(58); add(toggleButton); PaneButton disabledButton = new PaneButton("Disabled Button"); disabledButton.setX(10); disabledButton.setY(82); disabledButton.setEnabled(false); add(disabledButton); int x = 10; for (String s : textures) { if (s.equals("textures/items/diamond_helmet.png")) { // alignment hack x -= 1; } final PaneImageButton iconButton = new PaneImageButton(); iconButton.setImage(new ResourceLocation(s)); iconButton.setWidth(20); iconButton.setText(""); iconButton.setX(x); iconButton.setY(106); add(iconButton); x += 26; } PaneLabel iconButtonLabel = new PaneLabel("Also Image Buttons"); iconButtonLabel.setX(10); iconButtonLabel.setY(130); iconButtonLabel.setHeight(12); iconButtonLabel.setWidth(200); iconButtonLabel.setAlignmentY(VertAlignment.MIDDLE); iconButtonLabel.setAlignmentX(HorzAlignment.MIDDLE); add(iconButtonLabel); PaneCheckBox checkBox = new PaneCheckBox("Checkbox"); checkBox.setX(214); checkBox.setY(10); add(checkBox); PaneCheckBox coloredCheckBox = new PaneCheckBox("Colored Checkbox"); coloredCheckBox.setX(214); coloredCheckBox.setY(24); coloredCheckBox.setButtonColor(0xFF0000); coloredCheckBox.setColor(0xFFFF00); coloredCheckBox.setHoveredColor(0x0000FF); add(coloredCheckBox); PaneCheckBox disabledCheckBox = new PaneCheckBox("Disabled Checkbox"); disabledCheckBox.setX(214); disabledCheckBox.setY(38); disabledCheckBox.setEnabled(false); add(disabledCheckBox); PaneRadioButton radioButton = new PaneRadioButton("Radio Button"); radioButton.setX(214); radioButton.setY(52); add(radioButton); RadioButtonGroup group = new RadioButtonGroup(); for (int i = 0; i < 5; i++) { PaneRadioButton groupedRadioButton = new PaneRadioButton("Grouped Radio Button (" + i + ")"); if (i == 4) { groupedRadioButton.setText("Grouped Radio Button (4, Disabled)"); groupedRadioButton.setEnabled(false); } groupedRadioButton.setX(214); groupedRadioButton.setY(66 + (i * 12)); group.add(groupedRadioButton); add(groupedRadioButton); } PaneLabel tabLabel = new PaneLabel( "Try pressing Tab and Shift+Tab to change the focus\nPress Enter to send a click"); tabLabel.setX(10); tabLabel.setY(150); tabLabel.setHeight(12); tabLabel.setAutoResizeWidth(true); tabLabel.setAlignmentY(VertAlignment.MIDDLE); tabLabel.setAlignmentX(HorzAlignment.MIDDLE); add(tabLabel); } }